ServiceNow 변경 관리와 통합

Azure Pipelines

Azure Pipelines ServiceNow는 ServiceNow 변경 관리와 Azure Pipelines 통합하여 개발 팀과 IT 팀 간의 협업을 향상시킵니다. CI/CD 파이프라인에 변경 관리를 포함하면 팀은 변경과 관련된 위험을 줄이고 ITIL과 같은 서비스 관리 방법을 따르는 동시에 Azure Pipelines 모든 DevOps 이점을 얻을 수 있습니다.

이 항목은 다음에 대해 설명합니다.

  • Azure Pipelines 통합을 위한 ServiceNow 구성
  • ServiceNow 변경 관리 프로세스를 릴리스 게이트 또는 검사로 포함
  • 릴리스 및 파이프라인 실행에서 변경 관리 프로세스 모니터링
  • ServiceNow 변경 요청을 배포 결과로 업데이트된 상태로 유지

사전 요구 사항

이 자습서에서는 승인 및 게이트 사용 및 승인 정의 & 검사를 확장합니다.

저장소에서 애플리케이션을 설치할 수 있는 ServiceNow의 개발자가 아닌 인스턴스가 필요합니다.

ServiceNow 인스턴스 구성

  1. ServiceNow 인스턴스에 Azure Pipelines 애플리케이션을 설치합니다. 설치를 완료하려면 Hi 자격 증명이 필요합니다. ServiceNow 저장소에서 애플리케이션을 얻고 설치하는 자세한 내용은 설명서를 참조하세요.

  2. ServiceNow에서 새 사용자를 만들고 x_mioms_azpipeline.pipelinesExecution 역할을 부여합니다.

    ServiceNow에서 새 사용자 만들기

Azure DevOps 조직 설정

  1. Azure DevOps 조직에 ServiceNow 변경 관리 확장을 설치합니다.

    ServiceNow 변경 관리 확장 설치

    지침에 따라 "무료로 제공"합니다.

  2. 파이프라인을 관리하는 데 사용되는 Azure DevOps 프로젝트에서 새 ServiceNow 서비스 연결을 만듭니다. 기본 인증을 사용하고 ServiceNow에서 만든 서비스 계정의 사용자 이름, 암호를 사용할 수 있습니다. 또는 oAuth를 사용하여 인증할 수도 있습니다. 자세한 내용

    새 ServiceNow 서비스 연결 만들기

디자이너 릴리스 파이프라인

파이프라인에 게이트 추가

  1. 릴리스 파이프라인에서 ServiceNow 변경 관리에 대한 배포 전 게이트를 추가합니다.

    ServiceNow 변경 관리에 대한 배포 전 게이트 추가

  2. 이전에 만든 ServiceNow 서비스 연결을 선택하고 변경 요청의 속성 값을 입력합니다.

    변경 요청의 속성 값 입력

    게이트에 대한 입력:

    • ServiceNow 연결: 변경 관리에 사용되는 ServiceNow 인스턴스에 대한 연결입니다.
    • 작업: 새 변경 요청 또는 기존 변경 요청의 상태를 확인합니다.
    • 변경 유형: 변경 요청의 유형입니다.
    • 표준 변경 템플릿: 변경 요청에 대한 템플릿 이름을 변경합니다.
    • 간단한 설명: 변경 내용의 요약입니다.
    • 변경 쿼리 조건: 변경 요청을 쿼리하기 위한 조건입니다. 변경 요청을 고유하게 식별해야 합니다. 일치하는 변경 요청이 여러 개 있으면 게이트가 실패합니다.
    • 쿼리 문자열/변경 요청 번호: 사용할 요청을 변경합니다.

    다음 입력을 사용하여 만든 변경 요청에서 추가 속성을 설정할 수 있습니다. 참고: 사용 가능한 입력은 선택한 변경 형식에 따라 변경됩니다.

    • 설명: 변경 내용에 대한 자세한 설명입니다.
    • 범주: 변경의 범주입니다(예: ). 하드웨어, 네트워크, 소프트웨어.
    • 우선 순위: 변경의 우선 순위입니다.
    • 위험: 변경에 대한 위험 수준입니다.
    • 영향: 변경 내용이 비즈니스에 미치는 영향입니다.
    • 구성 항목: 변경 내용이 적용되는 CI(구성 항목)입니다.
    • 할당 그룹: 변경 내용이 할당된 그룹입니다.
    • 변경 요청 일정: ServiceNow 워크플로에서 사용하는 변경 일정입니다. 날짜 및 시간은 UTC여야 하며 형식은 이어야 합니다. yyyy-MM-ddTHH:mm:ssZ. eg. 2018-01-31T07:56:59Z.
    • 추가 변경 요청 매개 변수: 설정할 변경 요청의 추가 속성입니다. 이름은 'u_' 접두사로 붙는 필드 이름(레이블이 아닌)이어야 eg. u_backout_plan 합니다. 값은 ServiceNow에서 유효한 허용되는 값이어야 합니다. 잘못된 항목이 무시됩니다.

    게이트 성공 조건:

    • 변경 요청의 원하는 상태: 변경 요청 상태가 제공된 값과 같으면 게이트가 성공하고 파이프라인이 계속됩니다.
    • 고급: 이 게이트가 성공해야 하는 시기를 제어하는 식을 지정합니다. 변경 요청은 root['result'] ServiceNow의 응답에서 로 캡처됩니다. 예 - and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low')) . 자세히 알아보기.

    게이트 출력 변수:
    ServiceNow 게이트는 출력 변수를 생성합니다. 배포 워크플로에서 이러한 출력 변수를 사용할 수 있으려면 참조 이름을 지정해야 합니다. "PREDEPLOYGATE" prefix 워크플로의 에이전트 없는 작업에서 를 로 사용하여 게이트 변수에 액세스할 수 있습니다. 예: 참조 이름이 'gate1'로 설정된 경우 변경 번호를 로 가져올 수 $(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER) 있습니다.

    • CHANGE_REQUEST_NUMBER: 변경 요청의 수입니다.
    • CHANGE_SYSTEM_ID: 변경 요청의 Sys ID입니다.
  3. 배포 프로세스가 끝나면 배포 후 변경 상태를 업데이트하는 작업이 있는 에이전트 없는 단계를 추가합니다.

    배포 후 변경 상태를 업데이트하는 작업이 있는 에이전트 없는 단계 추가

    변경 요청 업데이트 태스크에 대한 입력:

    • ServiceNow 연결: 변경 관리에 사용되는 ServiceNow 인스턴스에 대한 연결입니다.
    • 변경 요청 번호: 업데이트할 변경 요청의 수입니다.
    • 업데이트 상태: 변경 요청의 상태를 업데이트하려면 이 옵션을 선택합니다.
    • 변경 요청의 업데이트된 상태: 변경 요청에 대해 설정할 상태입니다. 이 입력은 가 선택된 경우 사용할 수 Update status 있습니다.
    • 코드 및 메모 닫기: 변경 요청에 대한 클로저 정보입니다.
    • 작업 정보: 변경 요청에 대한 작업 정보입니다.
    • 추가 변경 요청 매개 변수: 설정할 변경 요청의 추가 속성입니다.

작업 실행 중에 변경 요청의 필드가 업데이트되지 않으면 업데이트 작업이 실패합니다. ServiceNow는 작업에 전달된 잘못된 필드 및 값을 무시합니다.

릴리스 실행

  1. Azure DevOps 구성된 릴리스 파이프라인에서 새 릴리스 만들기

  2. 개발 단계를 완료한 후 파이프라인은 릴리스에 대한 ServiceNow에서 새 변경 요청을 만들고 원하는 상태에 도달할 때까지 기다립니다.

    릴리스에 대한 ServiceNow에서 새 변경 요청 만들기

  3. 게이트 매개 변수로 정의된 값이 사용됩니다. 로그에서 만든 변경 번호를 얻을 수 있습니다.

    로그에서 변경 매개 변수 보기

  4. ServiceNow 변경 소유자는 큐에 릴리스가 새 변경으로 표시됩니다.

    큐에서 변경 릴리스 보기

  5. 변경이 요청된 릴리스는 변경의 Azure DevOps 파이프라인 메타데이터 섹션에서 추적할 수 있습니다.

    변경이 요청된 릴리스 추적

  6. 변경 내용은 정상적인 수명 주기인 승인, 예약 등을 거쳐 구현할 준비가 될 때까지 진행됩니다.

  7. 변경이 구현할 준비가 되면(구현 상태) Azure DevOps 릴리스가 진행됩니다. 게이트 상태는 다음과 같이 표시 됩니다.

    게이트 상태 보기

  8. 배포 후 변경 요청이 자동으로 닫힙니다.

Yaml 파이프라인

이 자습서에서는 ' 최신 ' 이라는 환경에 배포 하는 단일 단계를 포함 하는 yaml 파이프라인이 있다고 가정 합니다.

확인 추가

  1. 환경에 ' ServiceNow 변경 관리 ' 검사를 추가 합니다. 확인 구성 세부 정보는 디자이너 릴리스 파이프라인의 게이트에 동일 하 게 유지 됩니다.

    확인 추가

작업에 변경 내용 업데이트 작업 추가

  1. 특정 단계에 서버 작업을 추가 하 고 여기에서 ' UpdateChangeRequest ' 작업을 실행 합니다. ' Changenumber ' 필드는 선택 사항입니다. 파이프라인은 현재 단계에 대해 만들어진 변경 내용을 업데이트 하므로 비워 두어야 합니다.

    YAML 업데이트

파이프라인 실행

  1. 파이프라인에 대 한 새 실행 만들기

  2. 단계를 시작 합니다. 새 변경 요청이 지정 된 속성을 사용 하 여 자동으로 만들어집니다. 파이프라인은 검사가 완료 될 때까지 대기 합니다. 즉, 변경 내용이 원하는 상태에 도달 하도록 합니다.

  3. 검사가 완료 되 면 단계는 실행을 시작 합니다. 스테이지 끝의 업데이트 태스크가 실행 되 면 변경 내용이 닫힙니다.

    실행 한 실행

FAQ

Q: 지원 되는 ServiceNow 버전은 무엇 인가요?

A: 통합은 Kingston, 런던 및 ServiceNow의 뉴욕 버전과 호환 됩니다.

Q: 통합으로 관리할 수 있는 변경 요청 유형은 무엇입니까?

A: 표준, 표준 및 긴급 변경 요청은이 통합에서 지원 됩니다.

Q: 추가 변경 속성을 설정 어떻게 할까요?

A: 추가 변경 요청 매개 변수 필드에서 변경 요청의 추가 변경 속성을 지정할 수 있습니다. 속성은 JSON 형식의 키-값 쌍으로 지정 됩니다. 이름은 ServiceNow에서 접두사가 있는 필드 이름 (레이블이 아님)이 u_ 고 유효한 값입니다.

Q: 추가 변경 요청 매개 변수를 사용 하 여 변경 요청에서 사용자 지정 필드를 업데이트할 수 있나요?

A: 사용자 지정 필드가 ServiceNow에서 변경 요청에 대해 정의 된 경우 가져오기 집합 변환 맵의 사용자 지정 필드 매핑을 추가 해야 합니다. 자세한 내용은 ServiceNow 변경 관리 확장 을 참조 하세요.

Q: 범주, 상태 및 기타에 대 한 드롭다운 값이 표시 되지 않습니다.   어떻게 해야 합니까?

A: 변경 관리 코어 및 변경 관리-상태 모델 플러그 인이 작업을 수행 하려면 ServiceNow 인스턴스에서 활성 상태 여야 합니다. 자세한 내용은 변경 관리 업그레이드변경 요청 상태 업데이트 를 참조 하세요.

참고 항목

도움말 및 지원