파이프라인 내에서 변경 요청 상세 정보 구성 DevOps
파이프라인의 변경 단계에서 파이프라인 내에서 종결 정보, 변경 상태 및 변경 요청 필드를 업데이트하는 방법을 구성합니다.
기본적으로 시스템 변수는 기본 하위 플로우를 가리키며 기본 시스템의 변경 사항을 자동으로 닫습니다. DevOps 파이프라인 완료 하위 플로우sn_devops.auto_close_change의 변경 자동 종결()은 파이프라인이 완료될 때 종결 정보, 변경 상태 및 변경 요청 필드가 업데이트되는 방식을 결정합니다. 파이프라인이 완료될 때 활성화해야 하는 사용자 지정 하위 플로우를 지정하려는 경우 이 하위 플로우를 복제하고 요구 사항에 따라 사용자 지정할 수 있습니다.
종결 처리 정보 및 변경 요청 속성이 객체에 changeRequestDetails 포함되어 있습니다.
변경 자동 종결
파이프라인에서 변경을 생성할 때 changeRequestDetails 객체에서 매개변수를 autoCloseChangetrue/false 로 설정하여 종결 코드 및 종결 메모 필드를 업데이트하고 파이프라인이 완료되면 변경 요청을 종결합니다. 파이프라인이 완료되면 실제 시작 날짜 및 실제 종료 날짜 필드 값도 업데이트됩니다. 날짜 값은 파이프라인의 시작 시간 또는 파이프라인의 첫 번째 단계 시작 시간, 파이프라인의 종료 시간 또는 파이프라인의 마지막 단계 종료 시간을 기준으로 합니다. 종결 메모에는 종결 정보가 변경 자동 종결 기능에 따라 업데이트되었음을 나타내는 텍스트가 접미사로 붙습니다.
true로 설정하면 종결 코드 및 종결 메모 필드가 업데이트되고 파이프라인이 완료되면 시스템에서 변경 요청을 종결하려고 시도합니다.
false로 설정하면 파이프라인이 완료될 때 종결 코드 및 종결 메모 필드가 업데이트되지만 변경 요청은 종결되지 않습니다.
ServiceNow 애플리케이션에서 파이프라인에 대한 자동 종결 변경 필드 값을 설정할 수도 있습니다. 변경만 업데이트를 선택하면 파이프라인이 완료될 때 종결 코드 및 종결 메모 필드가 업데이트되고, 변경 업데이트 및 종결을 선택하면 종결 정보 업데이트와 함께 변경 요청도 종결됩니다.
| 변경 요청 속성의 autoCloseChange 플래그 | 자동 종결 변경 열 값(sn_devops_pipeline) | 최종 상태 |
|---|---|---|
| 참 | 변경만 업데이트 | 변경을 업데이트하고 상태를 종결로 이동 |
| 거짓 | 변경 업데이트 및 종결 | 변경 내용만 업데이트합니다. |
| - | 변경만 업데이트 | 변경 내용만 업데이트합니다. |
| - | 변경 업데이트 및 종결 | 변경을 업데이트하고 상태를 종결로 이동 |
- 변경 자동 닫기 기능은 단일 변경이 생성된 기본 파이프라인에만 적용할 수 있습니다. 변경이 여러 개인 경우 자동 종결에는 최근 변경이 고려됩니다.
- 변경 영수증 기능이 활성화된 자유형 파이프라인 및 변경 요청에는 변경 자동 종결 기능이 지원되지 Jenkins 않습니다.
- 릴리스 파이프라인의 Azure 경우 파이프라인 완료 상태는 파이프라인의 각 단계 상태를 통합하여 파생됩니다. 한 단계라도 실패하면 파이프라인이 실패한 것으로 간주됩니다. 한 단계라도 부분적으로 성공하면 파이프라인은 문제가 있는 상태로 성공한 것으로 간주됩니다.
업그레이드 정보
업그레이드하는 경우 파이프라인에 대한 GitHubAzure autoCloseChange 매개 변수를 설정하고 파이프라인을 빌드하기 전에 오케스트레이션 도구를 다시 구성해야 합니다.
종결 코드 설정
원하는 동작에 따라 매개변수를 setCloseCode:true/false 로 설정합니다. 기본값은 true입니다.
true로 설정하면 변경 단계 속성에 지정된 대로 종결 코드 및 종결 메모 필드가 업데이트되고 스테이지가 완료되면 변경 요청이 구현 후 단계로 이동합니다. 코드 자동 종결 기능을 활성화하여 이 동작을 재정의할 수 있습니다. autoCloseChange가 활성화되고 true 또는 false로 설정되면 setCloseCode 기능이 비활성화됩니다. 자세한 내용은 변경 자동 종결을 참조하십시오. 보다 정확한 변경 요청 정보를 위해 autoCloseChange 기능을 사용합니다.
false로 설정하면 작업 또는 파이프라인이 완료될 때 변경 요청이 업데이트되지 않고 구현 상태로 유지됩니다.
- 변경 요청의 종결 정보가 설정되지 않았습니다(종결 코드 및 종결 메모 필드는 비워 둠).
- 단계 실행에 대한 링크가 작업 메모에 추가됩니다.
변경 요청 필드
- 매개변수를 attributes: 사용하여 필드 값을 설정합니다.
- API의 DevOps - POST /devops/orchestration/changeControl 엔드포인트를 DevOps 사용합니다.
- 지정된 필드에 필요한 종속 필드가 있는 경우 해당 속성도 설정해야 합니다.
- 종속 필수 필드에 대한 속성이 설정되지 않은 경우 변경 요청 및 관련 단계 실행이 취소되고 작업 메모가 업데이트됩니다.
매개변수 내의 attributes: 필드 값은 키-값 쌍입니다. 즉, 키는 템플릿 내의 필드 이름이고 값은 필드에 채울 정보입니다.
changeControl API를 사용하여 , cmdb_ci, template, assignment_group business_service, 와 standard_change_templatechg_model 같은 type필드를 지정하고 변경 요청을 생성할 수 있습니다.
변경을 위해 속성이 전달될 때 우선순위의 순서는 다음과 같습니다.
- 변경 요청 필드 또는 changeControl API.
- 단계 기록의 값입니다.
- 변경 요청 템플릿에 제공된 값입니다.
지정된 경우를 제외하고 변경 요청 [change_request] 테이블의 모든 필드가 지원됩니다.
| 지원되지 않는 필드 |
|
| 지원 필드 | 변경 요청 [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",
}
}
}