CICD(지속적인 통합/지속적인 업데이트) API
CICD API는 파이프라인을 빌드하기 위해 일반적인 DevOps 도구와 통합할 수 있는 엔드포인트를 제공합니다. 이러한 도구에는 Jenkins, Azure Pipelines, GitLab, GitHub Actions, Atlassian Bamboo/Pipelines 등이 포함됩니다.
통합자는 소스 기반 개발에서 일반적으로 끌어오기/병합 요청 워크플로우에 의해 구동되는 애플리케이션에 대한 Now Platform 파이프라인을 구축할 CICD 수 있습니다. 소스 통제, 애플리케이션 리포지토리 및 Automated Test Framework 기능을 활용합니다.
CI/CD API는 다음과 같은 제품 및 기능 영역을 제공합니다.
- 소스 통제
특정 인스턴스에서 Studio의 소스 통제 기능을 통해 원격 Git 리포지토리에 연결된 애플리케이션에 대한 원격 변경 사항을 적용합니다.
지정된 리포지토리 URL 및 분기 이름을 사용하여 애플리케이션을 임포트합니다.
- 애플리케이션 리포지토리: 범위가 지정된 애플리케이션, 전역 애플리케이션, 에서 범위가 지정된 애플리케이션에 ServiceNow Store대한 애플리케이션 커스터마이제이션에 사용할 수 있으며, 플러그인을 통해 사용할 수 있습니다.
- 인스턴스의 애플리케이션을 연결된 애플리케이션 리포지토리에 게시합니다.
- 연결된 애플리케이션 리포지토리의 인스턴스에 애플리케이션을 설치합니다.
- 롤백 컨텍스트를 통해 설치된 애플리케이션을 롤백합니다.
- 배치
- 여러 애플리케이션을 함께 일괄 설치하는 JSON 매니페스트 파일을 정의합니다.
- 롤백 컨텍스트를 통해 전체 배치 설치를 롤백합니다.
- 지정된 결과 식별자를 기반으로 배치 설치의 결과를 반환합니다.
- 플러그인
- 플러그인을 활성화합니다.
- 롤백 컨텍스트를 통해 플러그인을 롤백합니다.
- Automated Test Framework (증권 시세 표시기)
- ATF 테스트 도구 모음을 시작합니다.
- ATF 테스트 도구 모음의 합격/불합격 결과를 가져옵니다.
- 인스턴스 스캔
- 인스턴스 스캔을 시작합니다(전체, 테이블의 포인트 스캔, 기록의 포인트 스캔, 범위가 지정된 애플리케이션, 업데이트 세트, 이 항목의 조합).
- 인스턴스 스캔 실행의 통과/실패 결과를 가져옵니다.
- 진행률
다른 엔드포인트 호출에 의해 시작된 프로세스에 대해 인스턴스의 완료율을 가져옵니다. 이 기능을 사용하여 다음 단계를 진행하기 전에 진행이 완료될 때까지 폴링할 수 있습니다.
보류 중)가 포함된 응답 메시지를 반환합니다. 이 정보를 사용하여 요청의 진행률, 소스, 결과 및/또는 결과에 대한 추가 정보를 얻을 수 있습니다. 함수 요청에 따라 다음 방법 중 하나를 사용하여 요청에 대한 추가 정보를 얻을 수 있습니다.- 시작 엔드포인트에서 반환된 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 또는 관리자 역할이 필요합니다.
Tokyo CICD 부터 요청된 작업을 수행하기 위해 인스턴스 와이드 잠금/뮤텍스를 가져와야 하는 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}
지정된 결과 식별자를 기반으로 배치 설치의 결과를 반환합니다.
/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.커스터마이제이션_버전 | 매개변수가 애플리케이션 또는 플러그인으로 설정되고 requested_customization_version 배치 설치 요청에 매개변수가 전달되는 경우에만 batch_items.type 적용할 수 있습니다. 설치할 스토어 애플리케이션 또는 범위가 지정된 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.상태 | 연결된 패키지 설치의 현재 상태입니다. 가능한 값:
데이터 유형: 문자열 |
| batch_items.status_message | 패키지 및/또는 사용자 지정 항목을 설치하는 동안 발생한 오류에 대해 설명합니다. 데이터 유형: 문자열 |
| batch_items. 유형 | 애플리케이션의 유형입니다. 시작 /sn_cicd/app/batch/install 엔드포인트 호출의 매개 변수와 packages.type 동일합니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| batch_items.url | 인스턴스에 연결된 패키지 설치 기록의 URL입니다 ServiceNow . 데이터 유형: 문자열 |
| batch_items.버전 | 설치할 패키지의 버전(예: 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 요청
이 예에서는 Release 2.0 IT Operations라는 배치 설치 계획의 상태를 확인합니다.
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 - /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 (링크.결과) | 인스턴스 스캔 결과에 대한 정보가 들어 있는 객체입니다. |
| links.findings.label | 인스턴스 스캔 결과에 대한 추가 정보입니다. |
| links.findings.url | 검사를 위반한 기록 목록을 검색하는 데 사용할 URL입니다. |
| 링크.진행률 | 진행률 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.progress.id | 진행률 상세 정보의 고유 식별자입니다. |
| 링크.진행.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 정보입니다. 데이터 유형: 객체 |
| links.results.id | 인스턴스 스캔 결과 기록의 Sys_id입니다. |
| 링크.결과.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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 정보입니다. 데이터 유형: 객체 |
| links.results.id | 결과 정보의 고유 식별자입니다. 연결된 결과 엔드포인트를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.결과.url | 결과 등 엔드포인트 실행의 결과를 가져오는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.소스 | 소스 정보. 데이터 유형: 객체 |
| links.source.id | 실행 추적기 [sys_execution_tracker] 테이블에 있는 소스 기록의 고유 식별자입니다. 데이터 유형: 문자열 |
| 링크.소스.url | 실행 추적기 [sys_execution_tracker] 테이블에서 소스 정보를 가져오는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.스태쉬 | apply_changes 작업 중에 생성된 경우 이 객체에는 스태시에 대한 정보가 포함됩니다. 스태쉬가 생성되지 않은 경우 이 객체는 반환되지 않습니다. 데이터 유형: 객체 |
| links.stash.id | 생성된 스태시의 고유 식별자입니다. 엔드포인트를 호출하여 CI/CD - POST /sn_cicd/sc/apply_stash/{stash_id} 스태시를 적용할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.스태쉬.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}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.결과.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/app/batch/install 게시
지정된 단일 배치에 두 개 이상의 패키지를 설치합니다.
- 애플리케이션:
- 회사에서 소유하지 않은 범위가 지정된 애플리케이션 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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 링크 정보에 대해 설명합니다. 데이터 유형: 객체 |
| links.results.id | 배치 엔드포인트 호출의 결과 Sys_id입니다. 배치 설치 결과를 쿼리하기 위해 지정된 links.results.url 엔드포인트를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.결과.url | 배치 설치의 결과를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.롤백 | 배치 설치 롤백 정보에 대해 설명합니다. 데이터 유형: 객체 |
| 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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.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/설치 게시
애플리케이션 리포지토리에서 엔드포인트를 호출하는 인스턴스로 지정된 애플리케이션을 설치합니다.
이 엔드포인트를 사용하면 변경되지 않은 기본 시스템 및 애플리케이션과 사용자 지정된 기본 시스템 및 애플리케이션, 사용자 지정된 ServiceNowServiceNow 플러그인 및 ServiceNow Store 자체 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: 설치할 애플리케이션 커스터마이제이션의 버전입니다.
기본 플러그인은 제품군 릴리스당 하나의 버전만 가질 수 있으므로 및 base_app_version 매개변수는 auto_upgrade_base_app 플러그인에 대한 애플리케이션 사용자 지정 설치에 적용되지 않습니다. 인스턴스에서 처음으로 플러그인을 활성화하려면 / 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). 이 값은 scope 사용자 지정 애플리케이션 [sys_app] 테이블 또는 스토어 애플리케이션 [sys_store_app] 테이블의 필드에서 찾을 수 있습니다. 데이터 유형: 문자열 |
| sys_id | 지정하지 않은 경우 scope 필수입니다. 설치할 애플리케이션의 Sys_id입니다. 이 값은 Sys ID 사용자 지정 애플리케이션 [sys_app] 테이블 또는 스토어 애플리케이션 [sys_store_app] 테이블의 필드에서 찾을 수 있습니다. 데이터 유형: 문자열 |
| 버전 | 설치할 애플리케이션의 버전입니다. 데이터 유형: 문자열 기본값: 매개변수가 비어 있고 매개변수가 base_app_versionauto_upgrade_base_app true로 설정되어 있는 경우 최신 애플리케이션 사용자 지정 및 권장되는 기본 애플리케이션 버전을 설치합니다(기본 애플리케이션을 다운그레이드하지 않는 한). 매개변수가 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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.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 제공된 검사를 실행하거나 사용자 고유의 검사를 만들 수 있습니다. 자세한 내용은 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.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| 링크.진행.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 제공된 검사를 실행하거나 사용자 고유의 검사를 만들 수 있습니다. 자세한 내용은 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.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| 링크.진행.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.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| 링크.진행.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입니다. Suite [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.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| 링크.진행.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입니다. Suite [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.id | 진행률 상세 정보의 고유 식별자입니다. 엔드포인트 /sn_cicd/instance_scan/result/{progress_id}를 호출할 때 이 값을 사용합니다. |
| 링크.진행.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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 정보입니다. 데이터 유형: 객체 |
| links.results.id | 결과 정보의 고유 식별자입니다. 연결된 결과 엔드포인트를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.결과.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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.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 - POST /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 | 애플리케이션을 가져올 소스 통제 시스템의 분기 이름입니다. 데이터 유형: 문자열 Default: 소스 제어 시스템에 지정된 기본 분기입니다. |
| 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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| percent_complete | 요청의 완료율입니다. 데이터 유형: 숫자 |
| 상태 | 숫자 실행 상태입니다. 와 함께 status_label사용됩니다. 값:
데이터 유형: 문자열 |
| status_detail | 현재 상태에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| status_label | 실행 상태 설명입니다. 와 함께 status사용됩니다. 값:
데이터 유형: 문자열 |
| status_message | 현재 상태에 대한 설명입니다. 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제에서는 fc2224e4e0429110f8771827f8fd3634에 대한 stash_idapply_stash 엔드포인트를 호출하는 방법을 보여 줍니다.
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 - /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 Server의 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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.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 - /sn_cicd/testsuite/run 게시
지정된 자동화 테스트 도구 모음을 시작합니다. 테스트 도구 모음은 엔드포인트가 호출된 인스턴스에서 실행됩니다.
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 버전을 사용할 수 있습니다. 이 값은 예약된 클라이언트 테스트 러너에 지정된 값과 일치해야 합니다. 데이터 유형: 문자열 |
| os_name | 테스트 도구 모음을 실행할 운영 체제의 이름입니다. 이 값은 예약된 클라이언트 테스트 러너에 지정된 값과 일치해야 합니다. 데이터 유형: 문자열 |
| os_version | 테스트 도구 모음을 실행할 운영 체제 버전의 시작 값입니다. 예를 들어 "8"을 입력하면 모든 8.x.x.x 버전을 사용할 수 있습니다. 이 값은 예약된 클라이언트 테스트 러너에 지정된 값과 일치해야 합니다. 데이터 유형: 문자열 |
| 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.id | 작업의 진행률 상세 정보를 가져오는 데 사용할 고유 식별자입니다. 엔드포인트 /sn_cicd/progress/{progress_id}를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.진행.url | 진행률 상세 정보를 검색하는 데 사용할 URL입니다. 데이터 유형: 문자열 |
| 링크.결과 | 결과 정보입니다. 데이터 유형: 객체 |
| links.results.id | 결과 정보의 고유 식별자입니다. 연결된 결과 엔드포인트를 호출할 때 이 값을 사용합니다. 데이터 유형: 문자열 |
| 링크.결과.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"
}
}