지속적 통합/지속적 업데이트(CICD) API
CICD API는 파이프라인을 빌드하기 위한 공통 DevOps 도구와 통합할 수 있는 엔드포인트를 제공합니다. 이러한 도구에는 , Azure 파이프라인, GitLab, GitHub Actions, Atlassian Bamboo/Pipelines 등이 포함됩니다Jenkins.
이는 통합자에게 소스 기반 개발에서 일반적인 끌어오기/병합 요청 워크플로에 의해 구동되는 애플리케이션용 Now Platform 파이프라인을 빌드 CICD 할 수 있는 기능을 제공합니다. 소스 통제, 애플리케이션 리포지토리 및 Automated Test Framework 기능을 활용합니다.
CI/CD API는 다음과 같은 제품 및 기능 영역을 제공합니다.
- 소스 통제
Studio의 소스 통제 기능을 통해 특정 인스턴스에서 원격 Git 리포지토리에 연결된 애플리케이션에 대한 원격 변경 내용을 적용합니다.
지정된 리포지토리 URL과 분기 이름을 사용하여 애플리케이션을 임포트합니다.
- 애플리케이션 리포지토리: 플러그인을 통해 범위가 지정된 애플리케이션, 전역 애플리케이션, 범위가 지정된 애플리케이션에 대한 애플리케이션 사용자 지정에 ServiceNow Store사용할 수 있습니다.
- 인스턴스의 애플리케이션을 연결된 애플리케이션 리포지토리에 게시합니다.
- 연결된 애플리케이션 리포지토리의 인스턴스에 애플리케이션을 설치합니다.
- 롤백 컨텍스트를 통해 설치된 애플리케이션 롤백.
- 배치
- JSON 매니페스트 파일을 정의하여 여러 애플리케이션을 함께 배치 설치합니다.
- 롤백 컨텍스트를 통해 전체 배치 설치를 롤백합니다.
- 지정된 결과 ID를 기반으로 배치 설치의 결과를 반환합니다.
- 플러그인
- 플러그인을 활성화합니다.
- 롤백 컨텍스트를 통해 플러그인을 롤백합니다.
- Automated Test Framework (에이티프)
- ATF 테스트 도구 모음을 시작합니다.
- ATF 테스트 도구 모음의 통과/실패 결과를 확인합니다.
- Instance Scan
- Instance Scan을 시작합니다(전체, 테이블에 대한 포인트 스캔, 기록에 대한 포인트 스캔, 범위가 지정된 애플리케이션, 업데이트 세트, 이러한 항목의 조합).
- 인스턴스 스캔 실행의 성공/실패 결과를 가져옵니다.
- 진행률
다른 엔드포인트 호출에 의해 시작된 프로세스에 대한 인스턴스의 완료율을 얻습니다. 이 기능을 사용하여 다음 단계를 진행하기 전에 진행률이 완료될 때까지 폴링할 수 있습니다.
보류 중)가 포함된 응답 메시지를 반환합니다. 이 정보를 사용하여 요청의 진행률, 소스, 결과 및/또는 발견 사항에 대한 추가 정보를 얻을 수 있습니다. 함수 요청에 따라 다음 방법 중 하나를 사용하여 요청에 대한 추가 정보를 얻을 수 있습니다.- 시작 엔드포인트에서 반환된 매개 변수를 사용하여 links.progress.id/sn_cicd/progress/{progress_id} 엔드포인트를 호출합니다.
- 시작 엔드포인트에서 반환된 파라미터를 links.result.id 사용하여 /sn_cicd/testsuite/results/{result_id} 엔드포인트를 호출합니다.
- 시작 엔드포인트에서 반환된 매개 변수를 사용하여 links.progress.id/sn_cicd/instance_scan/result/{progress_id} 엔드포인트를 호출합니다.
- /sn_cicd/progress/{progress_id} 엔드포인트에서 반환된 links.stash.id 매개 변수를 사용하여 /sn_cicd/sc/apply_stash/{stash_id} 엔드포인트를 호출합니다.
- 시작 끝점에서 반환하는 links.<progress/result/source/findings>.url 매개 변수에 연결합니다.
이 API를 사용하려면 sn_cicd.sys_ci_automation 또는 관리자 역할이 필요합니다.
부터 TokyoCICD 요청된 작업을 수행하기 위해 인스턴스 와이드 잠금/뮤텍스를 가져와야 하는 API 엔드포인트는 인스턴스 와이드 잠금/뮤텍스가 점유되어 있는 동안 요청을 거부하는 대신 큐를 사용합니다. 여러 CICD 파이프라인이 거부 및 재시도를 감지하지 않고 동시에 요청을 수행하며, 대신 이전에 성공한 요청과 마찬가지로 진행 상황을 간단히 모니터링할 수 있습니다. 이 동작은 기본적으로 설정되어 있습니다.
- Continuous Integration and Continuous Delivery(CICD) 스포크
- https://plugins.jenkins.io/servicenow-cicd/
- https://marketplace.visualstudio.com/items?itemName=ServiceNow.vss-services-servicenow-cicd
- https://github.com/marketplace?type=actions&query=servicenow
- https://hub.docker.com/r/servicenowdevx/sncicd-gitlab-docker
CI/CD - GET /sn_cicd/app/batch/results/{result_id}
지정된 결과 ID를 기반으로 배치 설치의 결과를 반환합니다.
/sn_cicd/app/batch/install 엔드포인트를 호출한 후 이 메서드를 호출하여 일괄 설치의 결과를 가져옵니다. /sn_cicd/app/batch/install 엔드포인트의 반환 결과 매개 변수에 links.results.id 반환된 값을 이 엔드포인트에 result_id 대한 값으로 사용합니다. 아직 완료되지 않은 경우 /api/sn_cicd/progress/{progress_id} 엔드포인트를 호출하여 설치 진행률에 대한 정보를 가져올 수도 있습니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/app/batch/results/{result_id}
기본 URL: /api/sn_cicd/app/batch/results/{result_id}
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| result_id | 결과 정보를 반환할 배치 설치의 Sys_id입니다. 이 값은 /sn_cicd/app/batch/install 엔드포인트의 매개 변수에 links.results.id 반환됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| batch_items | JSON 배열 - 각 개체가 패키지 설치의 세부 정보를 제공합니다. 데이터 유형: 배열 |
| batch_items.customization_version | 매개변수가 batch_items.type애플리케이션 또는 플러그인 으로 설정되고 requested_customization_version 매개변수가 배치 설치 요청에서 전달된 경우에만 적용할 수 있습니다. 설치할 스토어 애플리케이션 또는 범위가 지정된 ServiceNow 플러그인 커스터마이제이션 패키지의 버전(예: 1.0.2 또는 2.3)입니다. 데이터 유형: 문자열 |
| batch_items.id | 애플리케이션의 Sys_id 또는 설치할 플러그인의 식별자입니다. /sn_cicd/app/batch/install 엔드포인트 호출 시작의 매개 변수와 packages.id 동일합니다. 데이터 유형: 문자열 |
| batch_items.install_date | 패키지가 설치된 날짜 및 시간입니다. 요청이 아직 진행 중이면 비어 있습니다. 데이터 유형: 문자열 |
| batch_items.이름 | 패키지의 이름입니다. 데이터 유형: 문자열 |
| batch_items.메모 | 패키지에 대한 사용자 지정 메모입니다. /sn_cicd/app/batch/install 엔드포인트 호출 시작의 매개 변수와 packages.notes 동일합니다. 데이터 유형: 문자열 |
| batch_items.state | 연결된 패키지 설치의 현재 상태입니다. 가능한 값:
데이터 유형: 문자열 |
| batch_items.status_message입니다. | 패키지 설치 및/또는 사용자 지정 중에 발생한 오류에 대해 설명합니다. 데이터 유형: 문자열 |
| batch_items.type | 애플리케이션의 유형입니다. /sn_cicd/app/batch/install 엔드포인트 호출 시작의 매개 변수와 packages.type 동일합니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| batch_items.url | 인스턴스에 있는 연결된 패키지 설치 기록의 URL입니다 ServiceNow . 데이터 유형: 문자열 |
| batch_items.version | 설치할 패키지의 버전(예: 1.0.2 또는 2.3)입니다. /sn_cicd/app/batch/install 엔드포인트 호출 시작의 매개 변수와 packages.requested_version 동일합니다. 데이터 유형: 문자열 |
| batch_plan | 설치 배치 계획에 대해 설명합니다. 데이터 유형: 객체 |
| batch_plan.id | 반환 결과 정보의 Sys_id입니다. 요청 매개변수에 전달된 값과 동일한 값입니다 result_id . 데이터 유형: 문자열 |
| batch_plan.이름 | 이 배치 요청에 대해 사용자가 지정한 설명이 포함된 이름입니다. /sn_cicd/app/batch/install 엔드포인트 호출 시작의 매개 변수와 name 동일합니다. 데이터 유형: 문자열 |
| batch_plan.메모 | 배치 설치가 호출될 때 전달된 메모입니다. /sn_cicd/app/batch/install 엔드포인트 호출 시작의 매개 변수와 notes 동일합니다. 데이터 유형: 문자열 |
| batch_plan.상태 | 전체 배치 설치의 현재 상태입니다. 가능한 값:
데이터 유형: 문자열 |
| batch_plan.url | 인스턴스의 배치 설치 계획 기록의 URL입니다 ServiceNow . 데이터 유형: 문자열 |
cURL 요청
이 예에서는 릴리스 2.0 IT 운영이라는 배치 설치 계획의 상태를 확인합니다.
curl 'instance.servicenow.com/api/sn_cicd/app/batch/results/df24b1e9db2d0110b5e3f6c5ae97c561 \
--request GET \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"batch_plan": {
"name":“Release 2.0 IT Operations”,
"id": "df24b1e9db2d0110b5e3f6c5ae97c561",
"url": "https://instance.service-now.com/sys_batch_install_plan.do?sys_id=df24b1e9db2d0110b5e3f6c5ae97c561",
"state": "Installed",
"notes": "User specified notes for batch install plan",
}
"batch_items": [
{
"name": "com.sn_cicd_spoke",
"type": "Application",
"version": "7.0.0",
"state": "Installed",
"install_date": "2020-08-31 15:30:01",
"id": "c159b1e9db1c0010b5e3f6c5ae961903",
"url":"https://instance.service-now.com/sys_batch_install_item.do?sys_id=c159b1e9db1c0010b5e3f6c5ae961903",
"notes" : ""
},
{
"name": "Customization for CSM App1",
"type": "Application",
"version": "1.0.0",
"state": "Installed",
"install_date": "2020-08-31 15:32:01",
"id": "e824b1e9db2d1001b5e3f6c5ae97d628",
"url": "https://instance.service-now.com/sys_batch_install_item.do?sys_id=e824b1e9db2d1001b5e3f6c5ae97d628",
"notes": "Customized headers.",
"customization_version": "2.1.1”,
"status_message": ""
}]
}
}
CI/CD - GET /sn_cicd/instance_scan/result/{progress_id}
전달된 진행률 ID와 연결된 CI/CD 인스턴스 스캔 기능의 현재 진행률과 상태를 반환합니다. /sn_cicd/instance_scan/full_scan 또는 /sn_cicd/instance_scan/point_scan와 같은 다른 인스턴스 스캔 CI/CD 엔드포인트 중 하나를 호출한 후 이 메서드를 호출합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/instance_scan/result/{progress_id}
기본 URL: /api/sn_cicd/instance_scan/result/{progress_id}
지원되는 요청 매개변수
| 매개변수 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| progress_id | 진행률 정보를 반환할 함수의 고유 식별자입니다. 이 값은 /sn_cicd/instance_scan/full_scan 또는 /sn_cicd/instance_scan/point_scan와 같이 작업을 시작한 엔드포인트의 매개 변수에 반환 links.progress.id 됩니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
요청 본문
API는 요청 본문에서 이러한 JSON 또는 XML 요소를 허용합니다.
| 요소 | 설명 |
|---|---|
| 없음 |
응답 본문
API는 응답 본문에 이러한 JSON 또는 XML 요소를 반환합니다.
| 요소 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| 링크.결과 | 인스턴스 스캔 결과에 대한 정보를 포함하는 객체입니다. |
| links.findings.label | 인스턴스 스캔 결과에 대한 추가 정보입니다. |
| links.findings.url | 검사를 위반한 기록 목록을 검색하는 데 사용할 URL입니다. |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 진행률 상세 정보의 고유 식별자입니다. |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 정보입니다. 데이터 유형: 객체 |
| links.results.id | 인스턴스 스캔 결과 기록의 Sys_id입니다. |
| links.results.url | 인스턴스 스캔 결과를 가져오는 데 사용할 URL입니다. |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 작업 실패 원인에 대한 추가 정보입니다. 작업이 성공하면 비어 있습니다. 데이터 유형: 문자열 |
샘플 cURL 요청
curl 'instance.service-now.com/api/sn_cicd/instance_scan/result/a74c70a11b7800103d374087bc4bcb28' \
--request GET \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"findings": {
"url": "https://instance.service-now.com/api/now/table/scan_finding?sysparm_query%3Dresult%3D6f4cf8651b7800103d374087bc4bcb41%5EORDERBYsys_id",
"label": "First 10,000 findings"
},
"progress": {
"id": "a74c70a11b7800103d374087bc4bcb28",
"url": "https://instance.service-now.com/api/sn_cicd/progress/a74c70a11b7800103d374087bc4bcb28"
},
"results": {
"id": "a74c70a11b7800103d374087bc4bcb28",
"url": "https://instance.service-now.com/api/sn_cicd/instance_scan/result/a74c70a11b7800103d374087bc4bcb28"
}
},
"status": "2",
"status_label": "Successful",
"status_message": "",
"status_detail": "",
"error": ""
}
}
CI/CD - GET /sn_cicd/progress/{progress_id}
지정된 진행률 ID와 연결된 함수의 Continuous Integration and Continuous Delivery(CICD) 현재 진행률과 상태를 반환합니다.
/sn_cicd/app_repo publish, /sn_cicd/app_repo/install, /sn_cicd/testsuite/run 또는 /sn_cicd/sc/apply_stash 등의 비동기 CICD 엔드포인트 중 하나를 호출한 후 이 메서드를 호출합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/progress/{progress_id}
기본 URL: /api/sn_cicd/progress/{progress_id}
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| progress_id | 진행률 정보를 반환할 함수의 고유 식별자입니다. 이 값은 /sn_cicd/app_repo/publish, /sn_cicd/app_repo/install, /sn_cicd/testsuite/run 또는 /sn_cicd/sc/apply_stash와 같이 작업을 시작한 엔드포인트의 매개변수에 반환 links.progress.id 됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 정보입니다. 데이터 유형: 객체 |
| links.results.id | 결과 정보의 고유 식별자입니다. 연결된 결과 엔드포인트를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.results.url | 결과와 같은 엔드포인트 실행 결과를 가져오는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| links.source | 소스 정보. 데이터 유형: 객체 |
| links.source.id | 실행 추적기 [sys_execution_tracker] 테이블에 있는 소스 기록의 고유 식별자입니다. 데이터 유형: 문자열 |
| links.source.url | 실행 추적기 [sys_execution_tracker] 테이블의 소스 정보를 가져오는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.스태쉬 | apply_changes 작업 중에 a가 생성된 경우 이 객체에는 스태쉬에 대한 정보가 포함됩니다. 스태쉬가 생성되지 않은 경우 이 객체는 반환되지 않습니다. 데이터 유형: 객체 |
| links.stash.id | 생성된 스태시의 고유 식별자입니다. 스태시를 적용하기 위해 엔드포인트를 CI/CD - POST /sn_cicd/sc/apply_stash/{stash_id} 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.stash.url | 연결된 스태시의 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
테스트 도구 모음 실행의 진행률 가져오기
curl 'instance.servicenow.com/api/sn_cicd/progress/a4fae8911bdc00103d374087bc4bcbbd' \
--request GET \
--header 'Accept: application/json' \
--user 'username':'password'
변경 내용 적용 호출의 진행률입니다.
{
"result": {
"links": {
"progress": {
"id": "a4fae8911bdc00103d374087bc4bcbbd",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/a4fae8911bdc00103d374087bc4bcbbd"
},
"source": {
"id": "59c4c4d11b5c00103d374087bc4bcb26",
"url": "https://instance.servicenow.com/api/now/table/sys_app/59c4c4d11b5c00103d374087bc4bcb26"
}
},
"status": "2",
"status_label": "Successful",
"status_message": "This operation succeeded",
"status_detail": "Successfully applied commit 1f14e11a7dedcbfa194beb5875fcdaa15ed8accb from source control",
"error": "",
"percent_complete": 100
}
}
변경 내용 적용 호출의 진행률을 가져옵니다. 이 경우 Studio의 인스턴스에 저장되지 않은/커밋되지 않은 변경 사항이 있으므로 저장되지 않은 변경 내용을 보관하기 위해 스태쉬가 생성되었습니다
curl 'instance.servicenow.com/api/sn_cicd/progress/a4fae8911bdc00103d374087bc4bcbbd' \
--request GET \
--header 'Accept: application/json' \
--user 'username':'password'
생성된 스태쉬에 대한 정보를 제공하는 진행률입니다.
{
"result": {
"links": {
"progress": {
"id": "5b12eca4e0429110f8771827f8fd36a4",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/5b12eca4e0429110f8771827f8fd36a4"
},
"stash": {
"id": "fc2224e4e0429110f8771827f8fd3634",
"url": "https://instance.servicenow.com/api/sn_cicd/sc/apply_stash/fc2224e4e0429110f8771827f8fd3634"
}
},
"status": "2",
"status_label": "Successful",
"status_message": "This operation succeeded",
"status_detail": "Successfully applied commit fa5626f6f1f7fef677c16b4a0dd8b22ba8a6e311 from source control",
"error": "",
"percent_complete": 100
}
}
cURL 요청
curl 'instance.servicenow.com/api/sn_cicd/progress/5b12eca4e0429110f8771827f8fd36a4' \
--request GET \
--header 'Accept: application/json' \
--user 'username':'password'
테스트 도구 모음 실행(/sn_cicd/testsuite/run)의 진행률입니다.
{
"result": {
"links": {
"progress": {
"id": "e891389d1b1040103d374087bc4bcb75",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/e891389d1b1040103d374087bc4bcb75"
},
"results": {
"id": "2891389d1b1040103d374087bc4bcb09",
"url": "https://instance.servicenow.com/api/sn_cicd/testsuite/results/2891389d1b1040103d374087bc4bcb09"
}
},
"status": "2",
"status_label": "Successful",
"status_message": "Suite passed",
"status_detail": "Suite passed",
"error": "",
"percent_complete": 100
}
}
CI/CD - /sn_cicd/testsuite/results/{result_id} 가져오기
지정된 결과 식별자를 기반으로 테스트 도구 모음 실행 결과를 반환합니다.
/sn_cicd/progress/{progress_id}를 호출한 후 이 엔드포인트를 호출하여 실행된 테스트 도구 모음의 결과를 가져옵니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/testsuite/results/{result_id}
기본 URL: /api/sn_cicd/testsuite/results/{result_id}
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| result_id | 검색할 테스트 도구 모음 결과의 고유 식별자입니다. 해당 /sn_cicd/progress/{progress_id} 엔드포인트 호출은 이 정보를 반환합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| child_suite_results | 중첩된 테스트 도구 모음의 결과입니다. 이 컨텐츠의 형식은 상위 테스트와 동일합니다. |
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 관련된 모든 링크와 sys_ids 포함하는 객체입니다. 데이터 유형: 객체 |
| 링크.결과 | 결과 정보를 포함하는 객체입니다. 데이터 유형: 객체 |
| links.results.id | 결과 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/testsuite/results/{result_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.results.url | 결과와 같은 엔드포인트 실행 결과를 가져오는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. |
| rolledup_test_error_count | 오류가 있는 테스트 수입니다. 데이터 유형: 숫자 |
| rolledup_test_failure_count | 실패한 테스트 수입니다. 데이터 유형: 숫자 |
| rolledup_test_skip_count | 건너뛴 테스트 수입니다. 데이터 유형: 숫자 |
| rolledup_test_success_count | 성공적으로 실행된 테스트 수입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다(예: 0: 보류 중). 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다(예: 0: 보류 중). 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
| test_suite_duration | 테스트 도구 모음을 실행하는 데 걸린 시간입니다. 단위: 초 데이터 유형: 문자열 |
| test_suite_name | 테스트 도구 모음의 이름입니다. 데이터 유형: 문자열 |
| test_suite_status | 테스트 도구 모음의 상태입니다. 데이터 유형: 문자열 |
cURL 요청
curl 'instance.servicenow.com/api/sn_cicd/testsuite/results/2891389d1b1040103d374087bc4bcb09' \
--request GET \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"results": {
"id": "2891389d1b1040103d374087bc4bcb09",
"url": "https://instance.servicenow.com/sys_atf_test_suite_result.do?sys_id=2891389d1b1040103d374087bc4bcb09"
}
},
"status": "2",
"status_label": "Successful",
"status_message": "",
"status_detail": "",
"error": "",
"test_suite_status": "success",
"test_suite_duration": "1 Second",
"rolledup_test_success_count": 1,
"rolledup_test_failure_count": 0,
"rolledup_test_error_count": 0,
"rolledup_test_skip_count": 0,
"test_suite_name": "Quick Test",
"child_suite_results": []
}
}
CI/CD - 게시/sn_cicd/앱/배치/설치
지정된 단일 배치에 두 개 이상의 패키지를 설치합니다.
- 애플리케이션:
- 회사에서 소유하지 않은 의 범위가 지정된 애플리케이션 ServiceNow Store
- 회사가 소유한 애플리케이션 리포지토리의 범위가 지정된 애플리케이션 또는 전역 애플리케이션
- 애플리케이션 리포지토리의 스토어 애플리케이션에 대한 애플리케이션 사용자 지정
- ServiceNow 플러그인:
플러그인에 패키지되어 애플리케이션 리포지토리에 게시된 범위가 지정된 애플리케이션의 애플리케이션 사용자 지정
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/app/batch/install
기본 URL: /api/sn_cicd/app/batch/install
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 이름 | 필수 이 배치 요청에 대해 사용자가 지정한 설명이 포함된 이름입니다. 데이터 유형: 문자열 |
| 메모 | 사용자가 배치 설치 계획에 대한 추가 참고 사항을 지정했습니다. 데이터 유형: 문자열 기본값: Null |
| 패키지 | 필수 JSON 배열 - 각 개체가 설치할 패키지의 세부 정보를 지정합니다. 데이터 유형: 배열 |
| packages.id | 필수 애플리케이션의 Sys_id 또는 설치할 플러그인의 식별자입니다. 데이터 유형: 문자열 |
| packages.load_demo_data | 패키지를 설치할 때 데모 데이터가 로드되었는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| 패키지.메모 | 패키지에 대한 사용자 지정 메모입니다. 데이터 유형: 문자열 기본값: Null |
| packages.requested_customization_version | 스토어 애플리케이션 또는 설치할 범위가 지정된 ServiceNow 플러그인에 대한 애플리케이션 커스터마이제이션 버전(예: 1.0.2 또는 2.3)입니다. 데이터 유형: 문자열 기본값: 없음. 이 매개변수를 설정하지 않으면 시스템에서 애플리케이션에 대한 사용자 지정을 찾지 않습니다. |
| packages.requested_version | 애플리케이션으로 설정된 경우 필수입니다. 플러그인으로 설정된 경우 packages.type 무시됩니다. 설치할 패키지의 버전(예: 1.0.2 또는 2.3)입니다. 데이터 유형: 문자열 |
| packages.type | 필수 패키지 유형입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성화되었습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 링크 정보를 설명합니다. 데이터 유형: 객체 |
| links.results.id | 일괄 처리 끝점 호출의 결과 Sys_id입니다. 배치 설치 결과를 쿼리하기 위해 지정된 links.results.url 엔드포인트를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.results.url | 배치 설치의 결과를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| links.rollback | 배치 설치 롤백 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.rollback.id | 설치된 패키지의 롤백 세부 정보 Sys_id입니다. 이 매개 변수를 사용하여 /sn_cicd/app/batch/rollback/{rollback_id} 엔드포인트를 사용하여 지정된 패키지의 설치를 이전 버전으로 롤백합니다. 주: 롤백 기능은 설치가 완료된 후에만 사용할 수 있습니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
이 예제에서는 설치할 세 개의 패키지(각 유형 중 하나씩)가 포함된 Release 2.2 Deployment라는 배치 설치를 시작합니다.
curl 'instance.servicenow.com/api/sn_cicd/app/batch/install \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password' \
--data { "name": "Release 2.2 Deployment",
"packages": [
{
"id": "syd_id_abcefghi",
"type": "application",
"load_demo_data": false,
"requested_version": "1.0.2",
"notes": "User specific text to describe this application install"
},
{
"id": "syd_id_defabcde",
"type": "application",
"requested_version": "1.0.0",
"requested_customization_version": "2.0.7",
"notes": "Customization for CSM App1"
},
{
"id": "com.glide.some.plugin",
"type": "plugin",
"load_demo_data": true,
"notes": "Plugin related notes"
}]
}
{
"result": {
"links": {
"progress": {
"id": "c159b1e9db1c0010b5e3f6c5ae961903",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/c159b1e9db1c0010b5e3f6c5ae961903"
},
"results": {
"id": "df24b1e9db2d0110b5e3f6c5ae97c561",
"url": "https://instance.servicenow.com/api/sn_cicd/app/batch/results/df24b1e9db2d0110b5e3f6c5ae97c561"
},
"rollback":{
"id": "a329f82e871da64c724ba21c82a764f2"
},
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - POST /sn_cicd/app/batch/rollback/{rollback_id}
특정 배치 설치와 연결된 모든 패키지를 이전 버전으로 롤백합니다.
이 엔드포인트는 /sn_cicd/app/batch/install 엔드포인트와 함께 작동합니다. rollback_id 이 엔드포인트의 반환 결과에 제공됩니다. 이 엔드포인트가 호출되면 연결된 설치에 지정된 모든 패키지를 롤백합니다. 개별 패키지는 롤백할 수 없습니다. 이전 버전이 없는 경우 엔드포인트는 연결된 패키지를 제거합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/app/batch/rollback/{rollback_id}
기본 URL: /api/sn_cicd/app/batch/rollback/{rollback_id}
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| rollback_id | 설치된 패키지를 이전 버전으로 롤백할 배치 설치 계획의 Sys_id입니다. 이 값은 /sn_cicd/app/batch/install 엔드포인트의 매개 변수에 links.rollback.id 반환됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
이 예제에서는 지정된 설치 일괄 처리 계획 내의 모든 패키지를 이전 버전으로 롤백합니다.
curl 'instance.servicenow.com/api/sn_cicd/app/batch/rollback/a329f82e871da64c724ba21c82a764f2 \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "c159b1e9db1c0010b5e3f6c5ae961903",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/c159b1e9db1c0010b5e3f6c5ae961903"
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - 게시/sn_cicd/app_repo/설치
애플리케이션 리포지토리에서 엔드포인트 호출을 하는 인스턴스에 지정된 애플리케이션을 설치합니다.
이 엔드포인트를 사용하면 변경되지 않은 기본 시스템 및 애플리케이션과 사용자 지정된 ServiceNow 기본 시스템 및 ServiceNow Store 애플리케이션, 사용자 지정 ServiceNow 플러그인 및 자체 ServiceNow 애플리케이션을 모두 설치할 수 있습니다.
다음은 특정 사용 사례를 구현하기 위해 전달해야 하는 매개변수를 간략하게 설명합니다. 지정되지 않은 모든 매개변수는 전달되지 않으며 관련 기본값을 사용합니다.
- 기본 애플리케이션만 설치하고 해당 애플리케이션 사용자 지정은 설치하지 않습니다.
- sys_id: 사용자 지정된 기본 애플리케이션의 Sys_id입니다.
- base_app_version: 설치할 기본 애플리케이션의 버전입니다.
- 지정된 버전의 애플리케이션 사용자 지정을 설치하고 권장되는 기본 애플리케이션 버전을 자동으로 설치합니다. 권장되는 기본 애플리케이션 버전은 사용자 지정이 마지막으로 게시될 때 인스턴스에 설치된 기본 애플리케이션의 버전입니다. 애플리케이션 사용자 지정의 모든 버전에는 해당하는 권장 기본 애플리케이션 버전이 있습니다.
- sys_id: 사용자 지정된 애플리케이션의 Sys_id입니다.
- auto_upgrade_base_app: true
- version: 설치할 애플리케이션 커스터마이제이션의 버전입니다.
- 최신 버전의 애플리케이션 사용자 지정 및 해당 권장 기본 애플리케이션 버전을 설치합니다.
- sys_id: 사용자 지정된 애플리케이션의 Sys_id입니다.
- auto_upgrade_base_app: true
- 최신 버전의 애플리케이션 커스터마이제이션을 설치하지만 기본 애플리케이션을 애플리케이션 커스터마이제이션에서 권장하는 기본 애플리케이션 버전으로 업그레이드하지 않습니다.
- sys_id: 사용자 지정된 애플리케이션의 Sys_id입니다.
- auto_upgrade_base_app: false
- 현재 릴리스의 범위가 지정된 ServiceNow 플러그인과 함께 애플리케이션 커스터마이제이션을 설치합니다.
- scope: 사용자 지정된 플러그인의 범위 또는
- sys_id: 사용자 지정된 애플리케이션의 Sys_id입니다. 플러그인의 ID가 아닙니다.
- version: 설치할 애플리케이션 커스터마이제이션의 버전입니다.
- 이미 설치되고 활성화된 범위 지정 플러그인에 대한 애플리케이션 커스터마이제이션을 설치합니다.
- sys_id: 사용자 지정된 애플리케이션의 Sys_id입니다. 플러그인의 ID가 아닙니다.
- auto_upgrade_base_app: false
- version: 설치할 애플리케이션 커스터마이제이션의 버전입니다.
기본 플러그인은 제품군 릴리스당 하나의 버전만 있을 수 있으므로 플러그인의 auto_upgrade_base_app 애플리케이션 커스터마이제이션 설치에는 및 base_app_version 매개변수가 적용되지 않습니다. 인스턴스에서 처음으로 플러그인을 활성화하려면 /sn_cicd/plugin/{plugin_id}/activate 엔드포인트를 대신 사용합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/app_repo/install
기본 URL: /api/sn_cicd/app_repo/install
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| auto_upgrade_base_app | 애플리케이션 사용자 지정을 설치하려는 경우와 기본 애플리케이션이 현재 설치된 버전보다 이후 버전에 구축된 경우에만 적용할 수 있습니다. 연결된 기본 애플리케이션을 최신 버전으로 자동 업그레이드해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| base_app_version | 설치할 기본 애플리케이션의 버전입니다. 기본 애플리케이션은 다음에서 사용할 수 있는 외부 공급업체 애플리케이션입니다ServiceNow Store. 애플리케이션에 애플리케이션 사용자 지정이 없거나, 애플리케이션에 애플리케이션 사용자 지정이 있고 기본 애플리케이션만 업데이트하는 경우 이 매개변수에 애플리케이션의 업데이트된 버전을 입력합니다. 애플리케이션 사용자 지정을 업데이트하는 경우 이 매개변수를 전달하지 말고 매개변수를 version 전달합니다. 데이터 유형: 문자열 기본값: Null |
| scope | 지정되지 않은 경우 sys_id 필수입니다. 애플리케이션의 범위 이름(예: x_aah_custom_app)입니다. 사용자 지정 애플리케이션 [sys_app] 테이블 또는 스토어 애플리케이션 [sys_store_app] 테이블의 필드에서 scope 이 값을 찾을 수 있습니다. 데이터 유형: 문자열 |
| sys_id | 지정되지 않은 경우 scope 필수입니다. 설치할 애플리케이션의 Sys_id입니다. 사용자 지정 애플리케이션 [sys_app] 테이블 또는 스토어 애플리케이션 [sys_store_app] 테이블의 필드에서 Sys ID 이 값을 찾을 수 있습니다. 데이터 유형: 문자열 |
| 버전 | 설치할 애플리케이션의 버전입니다. 데이터 유형: 문자열 기본값: 매개변수가 base_app_version 비어 있고 auto_upgrade_base_app 매개변수가 예로 설정된 경우 최신 애플리케이션 사용자 지정 및 권장되는 기본 애플리케이션 버전을 설치합니다(기본 애플리케이션을 다운그레이드하지 않는 한). 매개변수가 auto_upgrade_base_app false이면 애플리케이션 사용자 지정 항목이 설치되지만 기본 애플리케이션은 업그레이드되지 않습니다. 매개변수가 base_app_version 정의된 경우 기본 애플리케이션만 설치합니다. |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| rollback_version | 사용 가능한 경우 이전에 설치된 버전입니다. 사용할 수 없는 경우 null입니다. 데이터 유형: 문자열 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
curl 'instance.servicenow.com/api/sn_cicd/app_repo/install?sys_id=2d146921dbd80010caf55268dc9619d8' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "c159b1e9db1c0010b5e3f6c5ae961903",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/c159b1e9db1c0010b5e3f6c5ae961903"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0,
"rollback_version": "1.1.0"
}
}
CI/CD - 게시/sn_cicd/app_repo/게시
지정된 애플리케이션과 모든 아티팩트를 애플리케이션 리포지토리에 게시합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/app_repo/publish
기본 URL: /api/sn_cicd/app_repo/publish
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| dev_notes | 애플리케이션과 함께 저장하는 개발자 메모입니다. 데이터 유형: 문자열 |
| scope | 지정되지 않은 경우 sys_id 필수입니다. 애플리케이션의 범위입니다. 이 값은 scope 사용자 지정 애플리케이션 [sys_app] 테이블의 필드에서 찾을 수 있습니다. 데이터 유형: 문자열 |
| sys_id | 지정되지 않은 경우 scope 필수입니다. 저장소에 저장할 애플리케이션의 sys_id입니다. 이 값은 Sys ID 사용자 지정 애플리케이션 [sys_app] 테이블의 필드에서 찾을 수 있습니다. 데이터 유형: 문자열 |
| 버전 | 애플리케이션을 저장할 버전입니다. 버전 번호가 전달되면 게시 프로세스에서 해당 버전을 사용하고 로컬 애플리케이션 버전이 다르면 업데이트합니다. 버전 번호가 전달되지 않으면 게시 프로세스는 현재 버전의 로컬 애플리케이션을 사용하며 해당 버전이 애플리케이션 리포지토리에 있는 경우 실패합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 요청에 실패했습니다. 가능한 문제:
|
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
다음 예제에서는 지정된 sys_id와 모든 아티팩트를 사용하여 응용 프로그램을 응용 프로그램 리포지토리에 게시하는 방법을 보여 줍니다.
curl 'instance.servicenow.com/api/sn_cicd/app_repo/publish?sys_id=4dd9686d1b9800103d374087bc4bcb3d' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "d174f8e11bd800103d374087bc4bcbd9",
"url": "https://instance.service-now.com/api/sn_cicd/progress/d174f8e11bd800103d374087bc4bcbd9"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - 게시/sn_cicd/app_repo/롤백
지정된 애플리케이션을 지정된 버전으로 롤백하기 시작합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/app_repo/rollback
기본 URL: /api/sn_cicd/app_repo/rollback
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| scope | 지정되지 않은 경우 sys_id 필수입니다. 롤백할 애플리케이션의 범위 이름입니다. 데이터 유형: 문자열 |
| sys_id | 지정되지 않은 경우 scope 필수입니다. 롤백할 애플리케이션의 sys_id입니다. 데이터 유형: 문자열 |
| 버전 | 필수 롤백 작업 후에 예상되는 애플리케이션 버전입니다. 앱 커스터마이제이션 설치를 롤백하도록 요청하는 경우 이 필드를 롤백 작업 후 시스템에 있어야 하는 기본 애플리케이션 버전으로 설정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
curl 'instance.servicenow.com/api/sn_cicd/app_repo/rollback?sys_id=2d146921dbd80010caf55268dc9619d8&version=1.1.0' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "f7ddb1eddb1c0010b5e3f6c5ae9619c1",
"url": "https://instance.service-now.com/api/sn_cicd/progress/f7ddb1eddb1c0010b5e3f6c5ae9619c1"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - 게시/sn_cicd/instance_scan/full_scan
인스턴스에 있는 모든 활성 검사를 실행합니다.
제공된 인스턴스 스캔 검사를 실행하거나 직접 검사를 생성할 수 있습니다. 자세한 내용은 Instance Scan 단원을 참조하십시오.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/instance_scan/full_scan
기본 URL: /api/sn_cicd/instance_scan/full_scan
지원되는 요청 매개변수
| 매개변수 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
요청 본문
API는 요청 본문에서 이러한 JSON 또는 XML 요소를 허용합니다.
| 요소 | 설명 |
|---|---|
| 없음 |
응답 본문
API는 응답 본문에 이러한 JSON 또는 XML 요소를 반환합니다.
| 요소 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 작업 실패 원인에 대한 추가 정보입니다. 작업이 성공하면 비어 있습니다. 데이터 유형: 문자열 |
샘플 cURL 요청
curl 'instance.service-now.com/api/sn_cicd/instance_scan/full_scan' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "a4fae8911bdc00103d374087bc4bcbbd",
"url": "https://instance.service-now/api/sn_cicd/progress/a4fae8911bdc00103d374087bc4bcbbd"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": ""
}
}
CI/CD - 게시/sn_cicd/instance_scan/point_scan
지정된 기록에 대해 해당하는 모든 검사를 실행합니다.
예를 들어, 카탈로그 항목에 대해 포인트 스캔을 실행하는 경우 카탈로그 항목 테이블에 적용할 수 있는 검사만 실행되고 지정된 기록만 스캔됩니다.
제공된 인스턴스 스캔 검사를 실행하거나 직접 검사를 생성할 수 있습니다. 자세한 내용은 Instance Scan 단원을 참조하십시오.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/instance_scan/point_scan
기본 URL: /api/sn_cicd/instance_scan/point_scan
지원되는 요청 매개변수
| 매개변수 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| target_table | 필수 스캔할 기록이 있는 테이블의 이름입니다(예: "인시던트"). 데이터 유형: 문자열 |
| target_sys_id | 필수 스캔하도록 지정된 테이블 내의 기록 sys_id입니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못되었거나 빈 쿼리 매개변수입니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
요청 본문
API는 요청 본문에서 이러한 JSON 또는 XML 요소를 허용합니다.
| 요소 | 설명 |
|---|---|
| 없음 |
응답 본문
API는 응답 본문에 이러한 JSON 또는 XML 요소를 반환합니다.
| 요소 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 작업 실패 원인에 대한 추가 정보입니다. 작업이 성공하면 비어 있습니다. 데이터 유형: 문자열 |
샘플 cURL 요청
curl 'instance.service-now.com/api/sn_cicd/instance_scan/point_scan?target_table=incident&target_sys_id=2d146921dbd80010caf55268dc9619d8' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "a4fae8911bdc00103d374087bc4bcbbd",
"url": "https://instance.service-now/api/sn_cicd/progress/a4fae8911bdc00103d374087bc4bcbbd"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": ""
}
}
CI/CD - POST /sn_cicd/instance_scan/suite_scan/combo/{combo_sys_id}
이전에 이미 실행된 제품군 및 대상(범위가 지정된 앱 또는 업데이트 세트)을 사용하여 검사를 실행합니다.
이 엔드포인트를 호출하기 전에 /sn_cicd/instance_scan/suite_scan/{suite_sys_id}/scoped_apps 또는 /sn_cicd/instance_scan/suite_scan/{suite_sys_id}/update_sets 엔드포인트를 호출하거나 UI에서 도구 모음 스캔을 실행 해야 합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/instance_scan/suite_scan/combo/{combo_sys_id}
기본 URL: /api/sn_cicd/instance_scan/suite_scan/combo/{combo_sys_id}
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| combo_sys_id | 실행할 스캔의 sys_id입니다. 검사는 다시 실행하려는 기존 검사여야 합니다. 콤보 [scan_combo] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 요소 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 작업 실패 원인에 대한 추가 정보입니다. 작업이 성공하면 비어 있습니다. 데이터 유형: 문자열 |
cURL 요청
curl "https://instance.servicenow.com/api/sn_cicd/instance_scan/suite_scan/combo/245d29cc1bd32010178aed72604bcb4b" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
응답 본문 - 성공.
{
"result": {
"links": {
"progress": {
"id": "c08be5c71b1b2010178aed72604bcb6e",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/c08be5c71b1b2010178aed72604bcb6e"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": ""
}
}
CI/CD - POST /sn_cicd/instance_scan/suite_scan/{suite_sys_id}/scoped_apps
범위가 지정된 앱 목록에 대해 제품군 내의 모든 활성 검사를 실행합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/instance_scan/suite_scan/{suite_sys_id}/scoped_apps
기본 URL: /api/sn_cicd/instance_scan/suite_scan/{suite_sys_id}/scoped_apps
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| suite_sys_id | 실행할 도구 모음 의 sys_id입니다. 제품군 [scan_check_suite] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| app_scope_sys_ids | 필수 검사할 범위가 지정된 애플리케이션의 sys_ids 목록입니다. 애플리케이션 [sys_scope] 테이블에 있습니다. 배열은 빈 배열일 수 없습니다. 데이터 유형: 배열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 요소 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 작업 실패 원인에 대한 추가 정보입니다. 작업이 성공하면 비어 있습니다. 데이터 유형: 문자열 |
cURL 요청
이 예제에서는 범위가 지정된 하나의 애플리케이션에 대해 제품군 내의 모든 활성 검사를 실행합니다.
curl "https://instance.servicenow.com/api/sn_cicd/instance_scan/suite_scan/833655cc1b94101046e87733cd4bcb4e/scoped_apps" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{app_scope_sys_ids: [\"078e8020950f12a215a92e8ad9b346e0\"]}" \
--user 'username':'password'
응답 본문 - 성공.
{
"result": {
"links": {
"progress": {
"id": "147fc14b1b572010178aed72604bcbca",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/147fc14b1b572010178aed72604bcbca"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": ""
}
}
CI/CD - POST /sn_cicd/instance_scan/suite_scan/{suite_sys_id}/update_sets
업데이트 세트 목록에 대해 제품군 내의 모든 활성 검사를 실행합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/instance_scan/suite_scan/{suite_sys_id}/update_sets
기본 URL: /api/sn_cicd/instance_scan/suite_scan/{suite_sys_id}/update_sets
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| suite_sys_id | 실행할 도구 모음 의 sys_id입니다. 제품군 [scan_check_suite] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| update_set_sys_ids | 필수 검색할 업데이트 세트의 sys_ids 목록입니다. 업데이트 세트 [sys_update_set] 테이블에 위치합니다. 배열은 빈 배열일 수 없습니다. 데이터 유형: 배열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 요소 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 작업 실패 원인에 대한 추가 정보입니다. 작업이 성공하면 비어 있습니다. 데이터 유형: 문자열 |
cURL 요청
이 예에서는 하나의 업데이트 세트에 대해 제품군 내의 모든 활성 검사를 실행합니다.
curl "https://instance.servicenow.com/api/sn_cicd/instance_scan/suite_scan/833655cc1b94101046e87733cd4bcb4e/update_sets" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{update_set_sys_ids: [\"7abef63c1b572010178aed72604bcbfd\"]}" \
--user 'username':'password'
응답 본문 - 성공.
{
"result": {
"links": {
"progress": {
"id": "d27511031b972010178aed72604bcb72",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/d27511031b972010178aed72604bcb72"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": ""
}
}
CI/CD - POST /sn_cicd/plugin/{plugin_id}/activate
지정된 플러그인을 활성화합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/plugin/{plugin_id}/activate
기본 URL: /api/sn_cicd/plugin/{plugin_id}/activate
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| plugin_id | 플러그인의 고유 식별자입니다. 이 식별자는 원하는 플러그인의 카드 내에 있는 플러그인 페이지에서 찾을 수 있습니다. "ID"라는 이름으로 식별됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 정보입니다. 데이터 유형: 객체 |
| links.results.id | 결과 정보의 고유 식별자입니다. 연결된 결과 엔드포인트를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.results.url | 결과와 같은 엔드포인트 실행 결과를 가져오는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
curl 'instance.servicenow.com/api/sn_cicd/plugin/com.glide.web_service_aggregate/activate' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "5b3f052ddb580010caf55268dc961963",
"url": "https://instance.service-now.com/api/sn_cicd/progress/5b3f052ddb580010caf55268dc961963"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - POST /sn_cicd/plugin/{plugin_id}/rollback
지정된 플러그인을 이전에 설치된 버전으로 롤백합니다. 이전 버전이 설치되지 않은 경우 오류를 반환합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}plugin/{plugin_id}/rollback
기본 URL: /api/sn_cicd/plugin/{plugin_id}/rollback
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| plugin_id | 플러그인의 고유 식별자입니다. 이 식별자는 원하는 플러그인의 카드 내에 있는 플러그인 페이지에서 찾을 수 있습니다. "ID"라는 이름으로 식별됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
curl 'instance.servicenow.com/api/sn_cicd/plugin/com.glide.web_service_aggregate/rollback' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "6185dd61db980010caf55268dc961916",
"url": "https://instance.service-now.com/api/sn_cicd/progress/6185dd61db980010caf55268dc961916"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - 게시/sn_cicd/SC/apply_changes
원격 소스 통제의 변경 내용을 지정된 로컬 애플리케이션 또는 애플리케이션 사용자 지정에 적용하기 시작합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/sc/apply_changes
기본 URL: /api/sn_cicd/sc/apply_changes
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| auto_upgrade_base_app | 앱 사용자 지정에 변경 사항이 적용되고 Git 리포지토리의 최신 커밋이 현재 로컬 인스턴스에 설치된 기본 애플리케이션보다 최신 버전에 빌드된 경우에만 적용할 수 있습니다. 시스템에서 기본 애플리케이션을 최신 버전으로 자동 업그레이드해야 하는지 여부를 나타내는 플래그입니다. 데이터 유형: 부울 기본값: true |
| branch_name | 애플리케이션을 가져올 소스 통제 시스템의 지점 이름입니다. 데이터 유형: 문자열 기본값: 소스 통제 시스템에 지정된 기본 분기입니다. |
| scope | 지정되지 않은 경우 sys_id 필수입니다. x_aah_custom_app와 같이 변경 내용을 적용할 애플리케이션의 범위 이름입니다. 앱 커스터마이제이션을 scope 위한 사용자 지정 애플리케이션 [sys_app] 테이블 또는 스토어 애플리케이션 [sys_store_app] 테이블의 필드에서 이 값을 찾을 수 있습니다. 데이터 유형: 문자열 |
| sys_id | 지정되지 않은 경우 scope 필수입니다. 변경 내용을 적용할 애플리케이션의 sys_id입니다. 앱 커스터마이제이션을 Sys ID 위한 사용자 지정 애플리케이션 [sys_app] 테이블 또는 스토어 애플리케이션 [sys_store_app] 테이블의 필드에서 이 값을 찾을 수 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 작업 실패 원인에 대한 추가 정보입니다. 작업이 성공하면 비어 있습니다. 데이터 유형: 문자열 |
cURL 요청
curl 'https://instance.servicenow.com/api/sn_cicd/sc/apply_changes?app_sys_id=043db024db737300a9a754e4dc961915' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "a4fae8911bdc00103d374087bc4bcbbd",
"url": "https://instance.service-now/api/sn_cicd/progress/a4fae8911bdc00103d374087bc4bcbbd"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - POST /sn_cicd/sc/apply_stash/{stash_id}
원격 소스 통제에서 이전에 생성된 변경 내용의 "스태쉬"를 지정된 로컬 애플리케이션 또는 애플리케이션 사용자 지정에 적용하기 시작합니다.
이 엔드포인트는 POST/api/sn_cicd/sc/apply_changes 및 CI/CD - GET /sn_cicd/progress/{progress_id} 엔드포인트와 함께 작동합니다. POST /api/sn_cicd/sc/apply_changes 엔드포인트가 호출되면 연결된 인스턴스에서 앱 엔진 스튜디오 저장되지 않았거나 커밋되지 않은 변경 내용이 데이터베이스에 스태시로 저장됩니다.
변경 내용이 처음 적용되었을 때 스태쉬가 생성되었는지 여부를 확인하는 방법은 GET /sn_cicd/progress/{progress_id} 엔드포인트를 호출하는 것입니다. 스태쉬가 생성되면 스태쉬의 sys_id(stash_id)와 URL이 반환됩니다. 스태쉬에 저장된 변경 내용을 연결된 응용 프로그램에 적용하려면 진행률 끝점에서 반환된 끝점을 사용하여 stash_id 이 apply_stash 끝점을 호출합니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/sc/apply_stash/{stash_id}
기본 URL: /api/sn_cicd/sc/apply_stash/{stash_id}
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| stash_id | 적용할 스태쉬의 고유 식별자입니다. 이 값은 해당 CI/CD - GET /sn_cicd/progress/{progress_id} 엔드포인트 호출의 links.stash.id 매개 변수에 반환됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제에서는 fc2224e4e0429110f8771827f8fd3634에 대한 apply_stash 엔드포인트를 stash_id 호출하는 방법을 보여 줍니다.
curl "https://instance.servicenow.com/api/sn_cicd/sc/apply_stash/fc2224e4e0429110f8771827f8fd3634"\
--request POST \
--header "Accept:application/json" \
--header "Content_Type:application/json" \
--user 'username':'password'
스태쉬가 보류 중이므로 아직 적용되지 않았습니다.
{
"result": {
"links": {
"progress": {
"id": "6b04ec28e0429110f8771827f8fd36a4",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/6b04ec28e0429110f8771827f8fd36a4"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - POST/sn_cicd/sc/import
지정된 리포지토리 URL과 분기 이름을 사용하여 애플리케이션을 임포트합니다.
이 엔드포인트를 사용하면 호출 인스턴스의 소스 제어에서 애플리케이션을 임포트한 다음, /sn_cicd/sc/apply_changes와 같은 엔드포인트를 사용하여 Continuous Integration and Continuous Delivery(CICD) 애플리케이션을 상위 환경에 배포할 수 있습니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/sc/import
기본 URL: /api/sn_cicd/sc/import
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| auto_upgrade_base_app | 임포트되는 애플리케이션이 앱 커스터마이제이션이고 Git 리포지토리의 최신 커밋이 현재 로컬 인스턴스에 설치된 기본 애플리케이션보다 최신 버전에 빌드된 경우에만 적용할 수 있습니다. 시스템에서 기본 애플리케이션을 최신 버전으로 자동 업그레이드해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: True |
| branch_name | 필수 애플리케이션을 임포트할 소스 통제 시스템의 브랜치 이름입니다. 데이터 유형: 문자열 |
| credential_sys_id | Git 리포지토리에 액세스할 수 있는 자격 증명의 Sys_id입니다. 데이터 유형: 문자열 기본값: Sys_id 매개변수가 https 또는 ssh 리포지토리인지 여부에 repo_url 따라 시스템 속성 glide.source_control.default_basic_auth_credential_sys_id 또는 glide.source_control.default_ssh_private_key_credential_sys_id에 설정됩니다. 기본적으로 이 속성은 비어 있습니다. |
| mid_server_sys_id | 이 애플리케이션의 소스 통제 운영에 사용할 MID 서버의 Sys_id입니다. 데이터 유형: 문자열 기본값: 빈 문자열/NULL |
| repo_url | 필수 애플리케이션을 임포트할 Git 리포지토리의 URL입니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
다음 예제에서는 main_branch의 https://code.devsnc.com/some-user/ncRegrApp1.git 에 있는 응용 프로그램을 가져오는 방법을 보여 줍니다.
curl "https://instance.servicenow.com/api/sn_cicd/sc/import?repo_url=https%3A%2F%2Fcode.devsnc.com%2Fsome-user%2FncRegrApp1.git&branch_name=main_branch&credential_sys_id=af9b6d6180feb010f8779c30d4dd6b6b" \
--request POST \
--header "Accept:application/json" \
--user 'admin':'admin'
임포트 진행률을 반환합니다.
{
"result": {
"links": {
"progress": {
"id": "a18c06ea64f23010f87769cd983d4574",
"url": "https://instance.servicenow.com/api/sn_cicd/progress/a18c06ea64f23010f87769cd983d4574"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
CI/CD - POST/sn_cicd/testsuite/실행
지정된 자동화 테스트 도구 모음을 시작합니다. 테스트 도구 모음은 엔드포인트가 호출된 인스턴스에서 실행됩니다.
URL 형식
버전이 지정된 URL: /api/sn_cicd/{api_version}/testsuite/run
기본 URL: /api/sn_cicd/testsuite/run
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| browser_name | 클라이언트 테스트를 실행하는 데 사용할 브라우저의 이름입니다. 이 값은 예약된 클라이언트 테스트 러너에 지정된 값과 일치해야 합니다. 예약된 클라이언트 테스트 러너에 대한 자세한 내용은 예약된 클라이언트 테스트 러너를 참조하십시오. 데이터 유형: 문자열 유효한 값: (모두 소문자여야 함)
기본값: 모두 |
| browser_version | 테스트를 실행하는 데 사용하도록 지정된 브라우저 버전의 시작 값입니다 browser_name . 예를 들어 "9"를 입력하면 모든 9.x.x.x 버전이 활성화됩니다. 이 값은 예약된 클라이언트 테스트 러너에 지정된 값과 일치해야 합니다. 데이터 유형: 문자열 |
| is_performance_run | 옵션입니다. 테스트 도구 모음을 성능 테스트(성능 실행)로 실행할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| os_name | 테스트 도구 모음을 실행할 운영 체제의 이름입니다. 이 값은 예약된 클라이언트 테스트 러너에 지정된 값과 일치해야 합니다. 데이터 유형: 문자열 |
| os_version | 테스트 도구 모음을 실행할 운영 체제 버전의 시작 값입니다. 예를 들어 "8"을 입력하면 모든 8.x.x.x 버전이 활성화됩니다. 이 값은 예약된 클라이언트 테스트 러너에 지정된 값과 일치해야 합니다. 데이터 유형: 문자열 |
| run_in_cloud | 옵션입니다. 테스트 도구 모음을 Cloud Runner에서 실행할지 아니면 수동으로 실행할지를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| test_suite_sys_id | 지정되지 않은 경우 test_suite_name 필수입니다. 실행할 테스트 도구 모음의 sys_id입니다. 이 값은 테스트 [sys_atf_test_suite] 테이블에 있습니다. 데이터 유형: 문자열 |
| test_suite_name | 지정되지 않은 경우 test_suite_sys_id 필수입니다. 실행할 테스트 도구 모음의 이름입니다. 이 값은 테스트 [sys_atf_test_suite] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 401 | 사용자 자격 증명이 잘못되었습니다. |
| 403 | 금지되었습니다. 사용자가 관리자가 아니거나 sn_cicd.sys_ci_automation 역할이 없습니다. |
| 404 | 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다. |
| 405 | 잘못된 메서드입니다. 기능이 비활성 상태입니다. |
| 409 | 상충됩니다. 요청한 항목이 고유하지 않습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 메시지. 데이터 유형: 문자열 |
| 링크 | 응답과 연결된 모든 링크 및 sys_ids입니다. 데이터 유형: 객체 |
| links.progress | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.progress.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 정보입니다. 데이터 유형: 객체 |
| links.results.id | 결과 정보의 고유 식별자입니다. 연결된 결과 엔드포인트를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| links.results.url | 결과와 같은 엔드포인트 실행 결과를 가져오는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
curl 'https://instance.servicenow.com/api/sn_cicd/testsuite/run?test_suite_sys_id=632e43900b20220050192f15d6673a7e' \
--request POST \
--header 'Accept: application/json' \
--user 'username':'password'
{
"result": {
"links": {
"progress": {
"id": "0578a8d91bdc00103d374087bc4bcbcc",
"url": "https://instance.service-now.com/api/sn_cicd/progress/0578a8d91bdc00103d374087bc4bcbcc"
}
},
"status": "0",
"status_label": "Pending",
"status_message": "",
"status_detail": "",
"error": "",
"percent_complete": 0
}
}
실패 응답:
{
"result": {
"status": "3",
"status_label": "Failed",
"status_message": "",
"status_detail": "",
"error": "Scheduled test/suite execution is disabled. Change the value of property 'sn_atf.schedule.enabled' to true to enable it"
}
}