CdmShared라이브러리 API
CdmSharedLibraryApi는 공유 라이브러리 및 공유 구성요소를 만들고 관리할 수 있는 엔드포인트를 제공합니다. 또한 공유 구성요소의 구성 데이터를 업로드하고 익스포트할 수 있는 엔드포인트도 있습니다.
- CDM 편집자 역할
- CDM 관리자 역할
공유 라이브러리 및 공유 구성요소에 대한 자세한 내용은 응용 프로그램 간에 구성요소 공유하기 — 구성요소 라이브러리를 참조하십시오.
CdmSharedLibraryApi - /sn_cdm/shared_libraries 삭제
지정된 이름의 공유 라이브러리를 삭제합니다.
이 엔드포인트에 액세스하려면 CDM 관리자 역할이 필요합니다.
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 이름 | 필수 삭제할 공유 라이브러리의 이름입니다. CDM 애플리케이션 [sn_cdm_application] 테이블에 있습니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형:
기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 상태 | 요청의 오류 상태입니다. 가능한 값: 실패 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제는 공유 라이브러리 "javalib"를 삭제하는 방법을 보여줍니다.
curl "http://instance.servicenow.com/sn_cdm/shared_libraries?name='javalib'\
--request DELETE\
--header "Accept:application/json" \
--user 'username':'password'
응답:
""
CdmSharedLibraryApi - /sn_cdm/shared_libraries/components 삭제
지정된 라이브러리에서 지정된 공유 구성요소를 삭제합니다.
이 엔드포인트에 액세스하려면 CDM 편집자 역할이 필요합니다.
URL 형식
버전이 지정된 URL: /api/sn_cdm/{api_version}/shared_libraries/components
기본 URL: /api/sn_cdm/shared_libraries/components
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| changesetNumber | 필수 구성요소와 연결된 변경 세트의 번호입니다. CDM 변경 세트 [sn_cdm_changeset] 테이블에 있음 데이터 유형: 문자열 |
| 이름 | 필수 삭제할 공유 구성요소의 이름입니다. CDM 공유 구성요소 [sn_cdm_shared_component] 테이블에 있습니다. 데이터 유형: 문자열 |
| sharedLibraryName | 필수 삭제할 구성요소가 있는 공유 라이브러리의 이름입니다. CDM 애플리케이션 [sn_cdm_application] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형:
기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 가능한 문제: |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 상태 | 요청의 오류 상태입니다. 가능한 값: 실패 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제는 "javalib" 공유 라이브러리에서 "TestComponent" 컴포넌트를 삭제하는 방법을 보여줍니다.
curl "http://instance.servicenow.com/sn_cdm/shared_libraries/components?sharedLibraryName='javalib&changesetNumber='chset-8'&name='TestComponent'\
--request DELETE\
--header "Accept:application/json" \
--user 'username':'password'
응답:
""
CdmSharedLibraryApi - GET /sn_cdm/shared_libraries/upload-status/{업로드 ID}
지정된 공유 라이브러리 업로드 요청의 현재 상태를 반환합니다.
URL 형식
버전이 지정된 URL: /api/sn_cdm/{api_version}/shared_libraries/upload-status/{upload-id}
기본 URL: /api/sn_cdm/shared_libraries/upload-status/{upload-id}
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 업로드 ID | 상태를 반환할 업로드 요청의 Sys_id입니다. 이 값은 다양한 CdmSharedLibrary 업로드 요청 엔드포인트에서 반환됩니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형:
기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| 오류 | 업로드 중 발생한 오류에 대한 설명입니다. 데이터 유형: 문자열 |
| 출력 | 업로드된 데이터에 대한 설명 또는 업로드 중에 오류가 발생한 경우 발생한 오류를 설명하는 오류 메시지입니다. 데이터 유형: 문자열 배열 |
| output.auto_validate | 커밋 후 유효성 검사를 호출할지 여부를 나타냅니다. 데이터 유형: 문자열 |
| output.cdm_application | 업로드가 수행된 애플리케이션의 이름입니다. 데이터 유형: 문자열 |
| output.committed_at | 업로드된 컨텐츠가 커밋된 날짜 및 시간입니다. 데이터 유형: 문자열 |
| output.committed_by | 커밋을 수행한 엔터티의 기록 Sys_id입니다. 데이터 유형: 문자열 |
| output.description | 현재 사용되지 않습니다. 데이터 유형: 문자열 |
| output.last_conflict_detection_time | 날짜 및 시간 상충 탐지 발동입니다. 데이터 유형: 문자열 |
| 출력.번호 | 고유한 변경 세트 식별 값(예: Chset-124)입니다. 데이터 유형: 문자열 |
| output.publish_option | 연결된 업로드 호출에 전달된 게시 옵션의 값입니다. 스냅샷 게시에 대한 자세한 내용은 스냅샷 게시 또는 게시 취소를 참조하십시오. 데이터 유형: 문자열 |
| output.sharedLibraryName | 원래 업로드 호출에 전달된 공유 라이브러리의 이름입니다. 데이터 유형: 문자열 |
| output.snapshot_description | 연결된 스냅샷에 대한 설명입니다. 데이터 유형: 문자열 |
| output.snapshot_name | 연결된 스냅샷의 이름입니다. 데이터 유형: 문자열 |
| 출력.상태 | 업로드의 상태입니다. 가능한 값:
데이터 유형: 문자열 |
| output.sys_created_by 님 | 기록을 생성한 엔터티의 Sys_id입니다. 데이터 유형: 문자열 |
| output.sys_id | 변경 세트를 포함하는 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| output.title | 업로드의 일부로 생성된 변경 세트의 제목입니다. 데이터 유형: 문자열 |
| processing_state | 업로드 요청의 현재 처리 상태입니다. 가능한 값: PROCESSED 데이터 유형: 문자열 |
| 상태 | 업로드 요청의 현재 상태입니다. 가능한 값:
|
| 유형 | 업로드 요청의 유형입니다. 가능한 값: upload_and_commit 데이터 유형: 문자열 |
| upload_id | 업로드된 구성 페이로드를 포함하는 기록의 Sys_id입니다. 데이터 유형: 문자열 |
cURL 요청
이 코드 예제에서는 upload-id 0d91d9891b2b19109524cae0604bcbe6의 상태를 요청하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/sn_cdm/shared_libraries/upload-status/0d91d9891b2b19109524cae0604bcbe6" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
응답:
// Successful response
{
"result": {
"type": "upload_and_commit",
"state": "completed",
"output": {
"sys_id": "0002ea107768a1109ac0cf0bbb5a9963",
"number": "Chset-457",
"title": "admin8802ea107768a1109ac0cf0bbb5a9962",
"description": null,
"committed_at": "",
"committed_by": null,
"sys_created_by": "admin",
"state": "open",
"publish_option": "publish_none",
"auto_validate": false,
"snapshot_name": null,
"snapshot_description": null,
"cdm_application": "OracleG-Library-15",
"last_conflict_detection_time": null
},
"processing_state": "PROCESSED",
"upload_id": "00b226547768a1109ac0cf0bbb5a99f2"
}
}
// Error response
{
"result": {
"type": "upload_and_commit",
"state": "error",
"output": "Error: Application with sys_id 87fb1ecb1be3111050fc21b0604bcb95 is in State Deleted. No data can be modified on deleted applications",
"processing_state": "PROCESSED",
"upload_id": "fcdfaf7f1b88211050fc21b0604bcb79"
}
}
CdmSharedLibraryApi - POST /sn_cdm/shared_libraries
지정된 이름으로 새 공유 라이브러리를 작성합니다.
이 엔드포인트에 액세스하려면 CDM 관리자 역할이 필요합니다.
URL 형식
버전이 지정된 URL: /api/sn_cdm/{api_version}/shared_libraries
기본 URL: /api/sn_cdm/shared_libraries
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 설명 | 공유 라이브러리에 대한 설명입니다. 데이터 유형: 문자열 기본값: 비어 있음 |
| 이름 | 필수 작성할 공유 라이브러리의 이름입니다. 이 이름은 모든 CDM 애플리케이션 및 라이브러리에서 고유해야 합니다. 데이터 유형: 문자열 |
| returnFields | 응답의 일부로 반환할 쉼표로 구분된 필드 목록입니다. CDM 애플리케이션 [sn_cdm_application] 테이블에 있습니다. 데이터 유형: 문자열 기본값: 모든 비시스템 필드가 반환됩니다. |
| userGroupId | 연결된 공유 라이브러리를 편집할 수 있는 사용자 그룹 sys_ids의 쉼표로 구분된 목록입니다. 적절한 역할이 있는 모든 사용자는 공유 라이브러리를 볼 수 있습니다. 그룹 [sys_user_group] 테이블에 있습니다. 데이터 유형: 문자열 기본값: CDM 편집자 역할이 있는 모든 사용자는 공유 라이브러리 내에서 데이터를 편집할 수 있습니다. |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형:
기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| <필드> | CDM 애플리케이션 [sn_cdm_application] 테이블에서 요청된 필드입니다. 데이터 유형: 변수 |
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 상태 | 요청의 오류 상태입니다. 가능한 값: 실패 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제는 이 엔드포인트를 호출하여 라이브러리에 액세스할 수 있는 모든 사용자 그룹이 있는 공유 라이브러리 Java11Lib를 작성하는 방법을 보여줍니다.
curl "http://instance.servicenow.com/api/sn_cdm/shared_libraries?name=Java11Lib&description=The%20new%20java%20library" \
--request POST \
--header "Accept:application/json" \
--user 'userName':'password
응답:
{
"result": {
"sdlc_component": null,
"cdi_count": "0",
"available": false,
"description": "Description of LibraryA",
"managed_by_group": null,
"sys_updated_on": "2023-01-18 11:34:43",
"type": "shared_library",
"node": {
"value": "d852b15877a4a1109ac0cf0bbb5a99aa",
"link": "http://instance.servicenow.com/api/now/table/sn_cdm_node/d852b15877a4a1109ac0cf0bbb5a99aa"
},
"sys_id": "185235dc77a4a1109ac0cf0bbb5a994e",
"sys_updated_by": "admin",
"node_main": {
"value": "1852b15877a4a1109ac0cf0bbb5a99aa",
"link": "http://instance.servicenow.com/api/now/table/sn_cdm_node_main/1852b15877a4a1109ac0cf0bbb5a99aa"
},
"sys_created_on": "2023-01-18 11:34:43",
"cdi_usage": "0",
"name": "LibraryA",
"last_committed_changeset": {
"value": "9052b15877a4a1109ac0cf0bbb5a99aa",
"link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/9052b15877a4a1109ac0cf0bbb5a99aa"
},
"state": "active",
"sys_created_by": "admin"
}
}
CdmSharedLibraryApi - POST /sn_cdm/shared_libraries/components
지정된 라이브러리 아래에 지정된 공유 구성요소를 작성합니다.
이 엔드포인트에 액세스하려면 CDM 편집자 역할이 필요합니다.
URL 형식
버전이 지정된 URL: /api/sn_cdm/{api_version}/shared_libraries/components
기본 URL: /api/sn_cdm/shared_libraries/components
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| changesetNumber | 필수 |
| 설명 | 공유 구성요소에 대한 설명입니다. 데이터 유형: 문자열 |
| 이름 | 필수 공유 라이브러리에서 작성할 공유 구성요소의 이름입니다. 이 이름은 고유해야 합니다. 데이터 유형: 문자열 |
| returnFields | 응답의 일부로 반환할 CDM 노드 [sn_cdm_node] 테이블의 쉼표로 구분된 필드 목록입니다. 데이터 유형: 문자열 기본값: 내부 필드가 아닌 모든 필드가 반환됩니다. |
| sharedLibraryName | 필수 구성요소를 작성할 공유 라이브러리의 이름입니다. 이 라이브러리가 이미 존재하며 활성 상태여야 합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형:
기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| <요청된 필드> | CDM 노드 [sn_cdm_node] 테이블에서 요청된 필드입니다. |
| 오류 | 처리 중에 오류가 발생한 경우에만 반환됩니다. 데이터 유형: 객체 |
| 오류.상세 정보 | 발생한 오류에 대한 상세 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 오류에 대한 개요를 제공하는 메시지입니다. 데이터 유형: 문자열 |
| 상태 | 요청의 오류 상태입니다. 가능한 값: 실패 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제에서는 공유 라이브러리 "javalib" 아래에 "SharedComponent"라는 구성 요소를 저장합니다.
curl "http://instance.servicenow.com/sn_cdm/shared_libraries/components/?sharedLibraryName=javalib&changeSetNumber='Chset-9'&name='SharedComponent'\
--request POST\
--header "Accept:application/json" \
--user 'username':'password'
응답:
{
"result": {
"changeset_id": {
"value": "ca7e6a501b202110636e0fe0604bcb71",
"link": "https://instance.servicenow.com/api/now/table/sn_cdm_changeset/ca7e6a501b202110636e0fe0604bcb71"
},
"node_path": "!2!3!:",
"description": null,
"sys_updated_on": "2023-01-18 16:04:52",
"type": "sn_cdm_node_shared_component",
"sys_class_name": "sn_cdm_node",
"sys_id": "6d2072901b602110636e0fe0604bcbec",
"sys_updated_by": "admin",
"previous_version": null,
"sys_created_on": "2023-01-18 16:04:52",
"value": null,
"effective_from": null,
"linked_to": null,
"sys_created_by": "admin",
"restricted_to": null,
"linked_to_version": null,
"level": "2",
"conflict_type": null,
"main_id": "19",
"effective_to": null,
"secure_value": null,
"node_classifier": "/shared_library/shared_components",
"main_id_encoded": ":",
"name": "testSharedComponent",
"position": null,
"reason_for_conflict": null,
"system_folder": false,
"status": "new",
"conflict": false
}
}
CdmSharedLibraryApi - POST /sn_cdm/shared_libraries/uploads/components
공유 라이브러리와 공유 구성요소를 생성하고 관리할 수 있습니다. 이 엔드포인트는 CDM 노드 [sn_cdm_node] 테이블에 공유 구성요소 노드를 생성하고 CDM 공유 구성요소 [sn_cdm_shared_component] 테이블에 공유 구성요소 기록을 생성합니다.
이 엔드포인트에 액세스하려면 CDM 편집자 역할이 필요합니다.
URL 형식
버전이 지정된 URL: /api/sn_cdm/{api_version}/shared_libraries/uploads/components
기본 URL: /api/sn_cdm/shared_libraries/uploads/components
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 자동 커밋 | 매개변수에서 식별된 changesetNumber 변경 세트가 업로드 후 데이터 모델에 커밋되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| autoDelete | 업로드 컨텐츠의 일부가 아닌 기존 노드가 처리가 완료된 후 삭제되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| changesetNumber | 필수 Chset-102와 같이 응용 프로그램과 연결된 변경 집합을 고유하게 식별하는 문자열입니다. CDM 변경 세트 [sn_cdm_changeset] 테이블에 있습니다. 이 변경 세트는 "열림" 상태여야 합니다. 데이터 유형: 문자열 |
| 데이터 포맷 | 필수 구성 데이터의 형식입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| deleteRedundantOverrides | 중복 값이 있는 경우 재정의를 생성할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: true |
| 식별자 키 | 동일한 노드를 식별하는 데 사용할 배열 하위 키를 나타내는 이름 목록입니다. 예를 들어 업로드하는 경우: 다음과 같은 기존 모델에서: name으로 설정하면 identifierKeys 다음과 같은 출력이 생성됩니다. 그렇지 않으면 다음과 같은 출력이 생성됩니다. 데이터 형식: 문자열 배열 |
| ignore속성 | 지정된 데이터 형식이 속성을 지원하는지 여부를 나타내는 플래그입니다(현재는 XML만). 유효한 값은 다음과 같습니다. 데이터 유형: 부울 기본값: false |
| namePath | 구성 데이터를 업로드해야 하는 대상 노드의 경로입니다. 이 경로는 구성 요소, 컬렉션 또는 배포 가능 폴더(호출되는 엔드포인트에 따라 다름)를 기준으로 합니다. 주: 지정된 구성요소가 지정된 경로에 없는 경우 시스템은 지정된 경로에 구성요소를 자동으로 생성한 다음 데이터를 업로드합니다. 데이터 유형: 문자열 |
| publishOption | 연결된 구성된 스냅샷에 대한 게시 옵션입니다. 유효한 값은 다음과 같습니다.
스냅샷 게시에 대한 자세한 내용은 스냅샷 게시 또는 게시 취소를 참조하십시오. 데이터 유형: 문자열 기본값: publish_none |
| sharedLibraryName | 필수 작성하거나 관리할 공유 라이브러리의 이름입니다. CDM 애플리케이션 [sn_cdm_application] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 변수 업로드 데이터 | 업로드할 구성 데이터입니다. 쿼리 매개변수의 매개변수로 dataFormat 정의된 형식의 모든 데이터일 수 있습니다. |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형: text/plain 및 application/x-www-form-urlencoded. 기본값: text/plain |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 업로드 요청이 거부되었습니다. 가능한 문제:
|
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| upload_id | 업로드 요청의 Sys_id입니다. 이 ID를 사용하여 엔드포인트를 호출하여 업로드 상태를 가져옵니다. 데이터 유형: 문자열 |
| 상태 | 요청의 오류 상태입니다. 가능한 값: 실패 데이터 유형: 문자열 |
cURL 요청
다음 예는 구성 데이터가 일반 텍스트인 Demo_App1631126164773라는 공유 라이브러리를 업로드하는 방법을 보여줍니다.
curl "http://instance.servicenow.com/api/sn_cdm/sharedlibrary/component/upload?namePath=%2FSettings%2FdbSettings&dataFormat=json&appName=Demo_App1631126164773&changesetNumber=Chset-8&autoCommit=false&publishOption=publish_none&autoDelete=true" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:text/plain" \
--data "{
\"dbIPAddress\": \"10.10.10.110\",
\"dbPort\": \"8080\",
\"dbConnectionString\": \"admin:admin server1.xyz.com:8080 dbName_payments\",
\"dbConnectionStringBackup\": \"admin:admin server2.xyz.com dbName_payments_backup\ "}" \
--user 'username':'password'
다음 반환 결과는 이 요청에 대한 성공 응답과 오류 응답을 모두 보여 줍니다.
// Successful response
{
"result": {
"upload_id": "ec1f71f45322301096edddeeff7b12b3"
}
}
// Error response
{
"error": {
"message": "Size of uploaded data:6853632.0(bytes) is greater than max allowed upload limit of 2097152.0(bytes)",
"detail": ""
},
"status": "failure"
}
CdmSharedLibraryApi - POST /sn_cdm/shared_libraries/uploads/components/file
공유 라이브러리의 구성요소 폴더 아래에 구성 데이터 모델(CDM)의 일부로 파일을 업로드합니다.
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 자동 커밋 | 매개변수에서 식별된 changesetNumber 변경 세트가 업로드 후 데이터 모델에 커밋되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 기본값: false |
| autoValidate (자동 확인) | 커밋 시 생성된 스냅샷의 유효성이 확인되었는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
주: 이 옵션은 매개 변수가 true인 autoCommit 경우에만 사용할 수 있습니다. 데이터 유형: 부울 기본값: false |
| changesetNumber | Chset-102와 같이 응용 프로그램과 연결된 변경 집합을 고유하게 식별하는 문자열입니다. 이 변경 세트는 "열림" 상태여야 합니다. CDM 변경 세트 [sn_cdm_changeset] 테이블에 있습니다. 데이터 유형: 문자열 기본값: 사용할 변경 세트를 만듭니다. 변경 세트 상세 정보는 결과의 CdmApplicationsApi - GET /sn_cdm/applications/upload-status/{upload_id} 일부로 반환됩니다. |
| fileName | 업로드할 파일의 이름입니다. 이 이름은 실제 파일 이름과 다를 수 있으며 파일 확장자를 포함할 수 있습니다. 예: .txt/.scv/.jar. fileName 값은 파일을 다운로드할 때 적용됩니다. 데이터 유형: 문자열 |
| 파일 노드 이름 | 파일 노드의 이름입니다. 이 파일 이름은 구성 데이터를 익스포트할 때 사용됩니다. 이 이름에는 파일 확장자가 필요하지 않으며 다운로드에 영향을 주지 않습니다. 데이터 유형: 문자열 |
| namePath | 구성 데이터를 업로드해야 하는 대상 노드의 경로입니다. 이 경로는 구성 요소, 컬렉션 또는 배포 가능 폴더(호출되는 엔드포인트에 따라 다름)를 기준으로 합니다. 주: 지정된 구성요소가 지정된 경로에 없는 경우 시스템은 지정된 경로에 구성요소를 자동으로 생성한 다음 데이터를 업로드합니다. 데이터 유형: 문자열 |
| sharedLibraryName | 필수 삭제할 구성요소가 있는 공유 라이브러리의 이름입니다. CDM 애플리케이션 [sn_cdm_application] 테이블에 있습니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 기본값: application/json |
| 컨텐츠-형식 | 업로드할 파일의 콘텐츠 유형입니다. 예: application/zip, text/plain, application/json. |
| 헤더 | 설명 |
|---|---|
| 없음 |
cURL 요청
다음 호출은 일반 텍스트 파일을 공유 라이브러리의 components 폴더에 업로드하는 방법을 보여줍니다.
curl "http://instance.servicenow.com/api/sn_cdm/shared_libraries/uploads/components/file?autoValidate=true&sharedLibraryName=sharedLibA &namePath=testComponent%2FfilesFolder&fileName=testFileNodeName.txt&publishOption=publish_valid&changesetNumber=Chset-108&autoCommit=true&fileNodeName=testFile.txt" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:text/plain" \
--data "This is sample content that will be uploaded to a plain text file."\
--user 'username':'password'
다음 반환 결과는 이 요청에 대한 성공 응답과 오류 응답을 모두 보여 줍니다.
// Successful completion of the upload request
{
"result": {
"upload_id": "ec1f71f45322301096edddeeff7b12b3"
}
}
// Error response. Payload is too large.
{
"error": {
"message": "Could not find active application with name: ‘testApp’ of type application",
"detail": ""
},
"status": "failure"
}
CdmSharedLibraryApi - PUT /sn_cdm/shared_libraries
공유 라이브러리 정보를 업데이트합니다. 이 엔드포인트를 사용하여 공유 라이브러리의 이름, 설명, 상태 및 라이브러리에 액세스할 수 있는 사용자 그룹을 업데이트합니다.
이 엔드포인트에 액세스하려면 CDM 관리자 역할이 필요합니다.
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 이름 | 필수 업데이트할 공유 라이브러리의 이름입니다. CDM 애플리케이션 [sn_cdm_application] 테이블에 있습니다. 데이터 유형: 문자열 |
| newAvailableState (영문) | 공유 라이브러리의 상태를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: true |
| newDescription | 공유 라이브러리의 설명을 업데이트했습니다. 데이터 유형: 문자열 |
| 새 이름 | 공유 라이브러리의 새 이름입니다. 데이터 유형: 문자열 |
| 새 UserGroupIds | 연결된 공유 라이브러리에 접근할 수 있는 사용자 그룹의 쉼표로 구분된 sys_ids 목록입니다. 그룹 [sys_user_group] 테이블에 있습니다. 데이터 유형: 문자열 |
| returnFields | 응답의 일부로 반환할 CDM 애플리케이션 [sn_cdm_application] 테이블의 쉼표로 구분된 필드 목록입니다. 데이터 유형: 문자열 기본값: 모든 비시스템 필드가 반환됩니다. |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형:
기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| <필드> | CDM 애플리케이션 [sn_cdm_application] 테이블에서 요청된 필드입니다. 데이터 유형: 변수 |
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 상태 | 요청의 오류 상태입니다. 가능한 값: 실패 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제는 공유 라이브러리 Java11Lib에 대해 이 엔드포인트를 호출하고 라이브러리 이름 및 설명을 업데이트하는 방법을 보여줍니다.
curl "http://instance.servicenow.com/sn_cdm/shared_libraries?name=' javalib'&newName=’NewLibraryName’&newDescription=’new%20description%20of%20library’\
--request PUT\
--header "Accept:application/json" \
--user 'username':'password'
응답:
{
"result": {
"sdlc_component": null,
"cdi_count": "0",
"available": true,
"description": "Set new description",
"managed_by_group": null,
"sys_updated_on": "2023-01-18 11:51:14",
"type": "shared_library",
"node": {
"value": "021635dc77a4a1109ac0cf0bbb5a9952",
"link": "http://192.168.0.129:8080/api/now/table/sn_cdm_node/021635dc77a4a1109ac0cf0bbb5a9952"
},
"sys_id": "185235dc77a4a1109ac0cf0bbb5a994e",
"sys_updated_by": "admin",
"node_main": {
"value": "1852b15877a4a1109ac0cf0bbb5a99aa",
"link": "http://192.168.0.129:8080/api/now/table/sn_cdm_node_main/1852b15877a4a1109ac0cf0bbb5a99aa"
},
"sys_created_on": "2023-01-18 11:34:43",
"cdi_usage": "0",
"name": "LibraryA",
"last_committed_changeset": {
"value": "4a1635dc77a4a1109ac0cf0bbb5a9951",
"link": "http://192.168.0.129:8080/api/now/table/sn_cdm_changeset/4a1635dc77a4a1109ac0cf0bbb5a9951"
},
"state": "active",
"sys_created_by": "admin"
}
}
CdmSharedLibraryApi - PUT /sn_cdm/shared_libraries/components
지정된 공유 구성요소의 이름과 설명을 업데이트합니다.
이 엔드포인트에 액세스하려면 CDM 편집자 역할이 필요합니다.
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| changesetNumber | 필수 연결된 변경 세트의 이름입니다. CDM 변경 세트 [sn_cdm_changeset] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 필수 업데이트할 공유 구성요소의 이름입니다. CDM 공유 구성요소 [sn_cdm_shared_component] 테이블에 있습니다. 데이터 유형: 문자열 |
| 새 이름 | 필수 공유 구성요소의 이름을 업데이트했습니다. 데이터 유형: 문자열 |
| newDescription | 공유 구성요소에 대한 설명을 업데이트했습니다. 데이터 유형: 문자열 기본값: 비어 있음 |
| returnFields | 응답의 일부로 반환할 CDM 공유 구성요소 [sn_cdm_shared_component] 테이블의 쉼표로 구분된 필드 목록입니다. 데이터 유형: 문자열 기본값: 모든 비시스템 필드가 반환됩니다. |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형:
기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| <필드> | CDM 공유 구성요소 [sn_cdm_shared_component] 테이블에서 요청된 필드입니다. 데이터 유형: 변수 |
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 상태 | 요청의 오류 상태입니다. 가능한 값: 실패 데이터 유형: 문자열 |
cURL 요청
다음 코드 샘플에서는 SharedComponentTest 구성 요소에 대한 설명을 업데이트하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/sn_cdm/shared_libraries/components/?sharedLibraryName=javalib&changeSetNumber='chset-9'&name='SharedComponentTest'&newDescription='The shared component description'\
--request POST\
--header "Accept:application/json" \
--user 'username':'password
응답:
{
"result": {
"changeset_id": {
"value": "5c33311077e4a1109ac0cf0bbb5a9902",
"link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/5c33311077e4a1109ac0cf0bbb5a9902"
},
"node_path": "!(1!(2!(3",
"description": "Changing the description only",
"sys_updated_on": "2023-01-18 12:09:05",
"type": "sn_cdm_node_shared_component",
"sys_class_name": "sn_cdm_node",
"sys_id": "9953f99077a4a1109ac0cf0bbb5a99ec",
"sys_updated_by": "admin",
"previous_version": null,
"sys_created_on": "2023-01-18 11:39:09",
"value": null,
"effective_from": null,
"linked_to": null,
"sys_created_by": "admin",
"restricted_to": null,
"linked_to_version": null,
"level": "2",
"conflict_type": null,
"main_id": "183",
"effective_to": null,
"secure_value": null,
"node_classifier": "/shared_library/shared_components",
"main_id_encoded": "(3",
"name": "sharedComponentName",
"position": null,
"reason_for_conflict": null,
"system_folder": false,
"status": "new",
"conflict": false
}
}