파이프라인 내에서 변경 요청 상세 정보 구성 DevOps

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기7분
  • 파이프라인의 변경 단계에서 파이프라인 내에서 종결 정보, 변경 상태 및 변경 요청 필드를 업데이트하는 방법을 구성합니다.

    주:
    파이프라인 내에서 GitLab 변경 요청 세부 정보를 구성하는 것은 지원되지 않습니다.

    기본적으로 시스템 변수는 기본 하위 플로우를 가리켜 기본 시스템의 변경 사항을 자동으로 종결합니다. DevOps 파이프라인 완료 변경 자동 종결 하위 플로우()sn_devops.auto_close_change는 파이프라인이 완료될 때 종결 정보, 변경 상태 및 변경 요청 필드가 업데이트되는 방식을 결정합니다. 파이프라인이 완료될 때 활성화해야 하는 사용자 지정 하위 플로우를 지정하려면 이 하위 플로우를 복제하고 요구 사항에 따라 사용자 지정할 수 있습니다.

    종결 처리 정보 및 변경 요청 속성은 개체와 함께 changeRequestDetails 포함됩니다.

    변경 자동 종결

    autoCloseChange 파이프라인에서 변경을 생성할 때 changeRequestDetails 객체에서 매개변수를 true/false로 설정하여 종결 코드종결 메모 필드를 업데이트하고 파이프라인이 완료되면 변경 요청을 종결합니다. 파이프라인이 완료되면 실제 시작 날짜실제 종료 날짜 필드 값도 업데이트됩니다. 날짜 값은 파이프라인의 시작 시간 또는 파이프라인의 첫 번째 단계의 시작 시간과 파이프라인의 종료 시간 또는 파이프라인의 마지막 단계의 종료 시간을 기준으로 합니다. 종결 메모에는 자동 변경 종결 기능을 기반으로 종결 정보가 업데이트되었음을 나타내는 텍스트가 접미사로 표시됩니다.

    true로 설정하면 종결 코드종결 메모 필드가 업데이트되고 파이프라인이 완료되면 시스템에서 변경 요청을 종결하려고 시도합니다.

    false로 설정하면 파이프라인이 완료될 때 종결 코드종결 메모 필드가 업데이트되지만 변경 요청은 종결되지 않습니다.

    ServiceNow 애플리케이션에서 파이프라인에 대한 변경 자동 종결 필드 값을 설정할 수도 있습니다. 변경만 업데이트를 선택하면 파이프라인이 완료될 때 종결 코드종결 메모 필드가 업데이트되고, 변경 업데이트 및 종결을 선택하면 종결 정보 업데이트와 함께 변경 요청도 종결됩니다.

    자동 종결 변경이 파이프라인에 지정되었는지 열에 지정되었는지에 따라 고려되는 최종 상태는 다음과 같습니다.
    변경 요청 속성의 autoCloseChange 플래그 자동 종결 열 값 변경(sn_devops_pipeline) 최종 상태
    변경만 업데이트 변경을 업데이트하고 상태를 종결로 이동
    아니요 변경 업데이트 및 종결 변경만 업데이트합니다.
    - 변경만 업데이트 변경만 업데이트합니다.
    - 변경 업데이트 및 종결 변경을 업데이트하고 상태를 종결로 이동
    주:
    파이프라인의 autoCloseChange 속성에 지정된 값이 의 변경 자동 닫기 열에 ServiceNow지정된 값보다 우선합니다.
    주:
    • 변경 자동 종결 기능은 단일 변경이 생성된 기본 파이프라인에만 적용할 수 있습니다. 변경 내용이 여러 개인 경우 최근 변경 내용부터 자동 종결이 고려됩니다.
    • 변경 영수증 기능이 활성화된 자유형 파이프라인 및 변경 요청에는 Jenkins 변경 자동 종결 기능이 지원되지 않습니다.
    • 릴리스 파이프라인의 Azure 경우 파이프라인 완료 상태는 파이프라인의 각 단계의 상태를 통합하여 파생됩니다. 한 단계라도 실패하면 파이프라인이 실패한 것으로 간주됩니다. 한 단계라도 부분적으로 성공하면 문제가 있는 파이프라인이 성공한 것으로 간주됩니다.

    업그레이드 정보

    업그레이드하는 경우 파이프라인에 대한 GitHubAzure autoCloseChange 매개 변수를 설정하고 빌드하기 전에 오케스트레이션 도구를 다시 구성해야 합니다.

    종결 코드 설정

    setCloseCode: 원하는 동작에 따라 매개변수를 true/false로 설정합니다. 기본값은 true입니다.

    true로 설정하면 종결 코드종결 메모 필드가 변경 단계 속성에 지정된 대로 업데이트되고, 스테이지가 완료되면 변경 요청이 사후 구현으로 이동됩니다. 코드 자동 종결 기능을 활성화하여 이 동작을 재정의할 수 있습니다. autoCloseChange가 활성화되고 true 또는 false로 설정되면 setCloseCode 기능이 비활성화됩니다. 자세한 내용은 변경 자동 닫기를 참조하십시오. 보다 정확한 변경 요청 정보를 보려면 autoCloseChange 기능을 사용하십시오.

    false로 설정하면 작업 또는 파이프라인이 완료될 때 변경 요청이 업데이트되지 않고 구현 상태로 유지됩니다.

    • 변경 요청의 종결 정보가 설정되지 않았습니다(종결 코드종결 메모 필드는 비어 있음).
    • 단계 실행에 대한 링크가 작업 메모에 추가됩니다.

    변경 요청 필드

    지정된 변경 요청 템플릿에 대한 파이프라인 내에서 변경 요청 필드 값을 설정합니다.
    주:
    • 지정된 필드에 필요한 종속 필드가 있는 경우 해당 속성도 설정해야 합니다.
    • 종속 필수 필드의 속성이 설정되지 않은 경우 변경 요청 및 관련 단계 실행이 취소되고 작업 메모가 업데이트됩니다.

    매개변수 내의 필드 값은 키-값 쌍입니다 attributes: . 즉, 핵심은 템플릿 내의 필드 이름이고 값은 필드에 채울 정보입니다.

    changeControl API를 사용하여 , , cmdb_ci, standard_change_templatetemplateassignment_group business_service등의 chg_model 필드를 type지정하고 변경 요청을 생성할 수 있습니다.

    변경을 위해 속성이 전달될 때 우선순위는 다음과 같습니다.

    1. 변경 요청 필드 또는 changeControl API.
    2. 단계 기록의 값
    3. 변경 요청 템플릿에 제공된 값입니다.
    주:
    파이프라인 내에서 변경 요청을 구성할 때 변경 유형 및 템플릿 필드는 항상 한 소스에서 가져옵니다. API 요청과 변경 요청 양식의 속성을 조합하여 사용할 수 없습니다.

    지정된 경우를 제외하고 변경 요청 [change_request] 테이블의 모든 필드가 지원됩니다.

    표 1. 지원되는 변경 요청 필드
    지원되지 않는 필드
    • 위험
    • 영향도
    • 번호
    • sys_id
    • risk_impact_analysis
    지원되는 필드 변경 요청 [change_request] 테이블의 나머지 모든 필드입니다.
    주:
    속성 이름은 변경 요청 필드 이름과 일치해야 하며 지정된 값은 유효해야 합니다.

    샘플 JSON 페이로드

    {
       "callbackURL":"http://192.168.0.4:3000/jenkins/sn-devops/pipeline_839b7605-b98d-4831-bc87-96829de7da37",
       "orchestrationTaskURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests#deploy/",
       "isMultiBranch":"false",
       "orchestrationTaskName":"java_sample_tests#deploy",
       "orchestrationTaskDetails":{
          "triggerType":"upstream",
          "upstreamTaskExecutionURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests/129/execution/node/35/wfapi/describe",
          "taskExecutionURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests/129/execution/node/50/wfapi/describe"
       },
       "changeRequestDetails":{
          "setCloseCode":false,
          "attributes":{
             "sys_created_by":"1832fbe1d701120035ae23c7ce610369",
             "sys_updated_by":"56826bf03710200044e0bfc8bcbe5dca",
             "requested_by":{
                "name":"Abel Tuter"
             },
             "watch_list":[
                {
                   "name":"Abel Tuter"
                },
                {
                   "name":"Aileen Mottern"
                },
                {
                   "name":"Alejandra Prenatt"
                },
                "56826bf03710200044e0bfc8bcbe5dca"
             ],
             "work_notes_list":[
                "56826bf03710200044e0bfc8bcbe5dca",
                "46c6f9efa9fe198101ddf5eed9adf6e7",
                "d8f57f140b20220050192f15d6673a98"
             ],
             "assigned_to":"1832fbe1d701120035ae23c7ce610369",
             "category":"Service",
             "sys_created_on":"2021-02-09 18:58:41",
             "priority":"2",
          }
       }
    }

    파이프라인 예시

    그림 1. 변경 요청 상세 정보 - Azure 파이프라인
    DevOps Azure 변경 상세 정보입니다.
    그림 2. 직무 수준 설정 — Jenkins
    JenkinsJobSettings입니다.
    그림 3. 변경 요청 상세 정보 - Jenkins
    DevOps Jenkins 변경 상세 정보입니다.
    그림 4. 변경 요청 상세 정보 - GitHub
    DevOps GitHub 변경 상세 정보입니다.