---
sourceDocument: Xanadu API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# CdmEditorApi (영문)

# CdmEditorApi (영문) {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 56분

CdmEditorApi는 노드를 만들고, 노드를 업데이트하고, 다른 노드 아래에 기존 노드를 포함하고, 노드를 삭제하고, 노드 및 노드 포함을 검색할 수 있는 엔드포인트를 제공합니다.  
이 API에 액세스하려면 다음 역할 중 하나가 있어야 합니다.

* 스크립팅된 REST CDM 뷰 ACL(sn_cdm.cdm.viewer)
* 스크립팅된 REST CDM 편집기 ACL(sn_cdm.cdm_editor)

암호화된 필드를 보려면 CDM 비밀 역할이 있어야 합니다.

또한 인스턴스에서 구성 데이터 관리 이 API를 사용하려면 (CDM) 플러그인이 활성화되어 있어야 합니다.  
주:  
CdmEditorApi API를 사용하여 파일을 수정할 수 없습니다. 현재는 파일 삭제만 허용됩니다.

## CdmEditorApi - /sn_cdm/editor/nodes 삭제 {#ariaid-title2}

지정된 노드를 삭제합니다.
이 엔드포인트의 호출자는 CDM 편집자 역할을 가지고 있어야 합니다.

### URL 형식

버전이 지정된 URL: /api/sn_cdm/{api_version}/editor/nodes

기본 URL: /api/sn_cdm/editor/nodes

### 지원되는 요청 매개변수

{#editor-DELETE-nodes__entry__2}{#editor-DELETE-nodes__version-RESTAPI}

| 이름 | 설명 |
|-|-|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 <kbd class="ph userinput">v1</kbd> 또는 <kbd class="ph userinput">v2</kbd>입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
[표 1. 경로 매개변수]

{#editor-DELETE-nodes__entry__6}{#editor-DELETE-nodes__changesetNumber-changeset-entry}{#editor-DELETE-nodes__fullNamePath-node-editor-entry}

| 이름 | 설명 |
|-|-|
| changesetNumber | 필수 연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| fullNamePath | 필수 삭제할 노드의 경로 이름입니다. 다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어 `testApp/deployables/Development1/cdi1` 노드를 삭제하려면 다음을 수행합니다. * 백슬래시 형식: testApp/deployables/Development1/cdi1 주: 노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다. * 백엔드 이름 대체 문자가 있는 경로: testApp deployables Development1 cdi1 * 배열: \['testApp','deployables','Development1','cdi1'\] {#editor-DELETE-nodes__ul_xrv_rc1_cyb} 데이터 유형: 문자열 |
[표 2. 쿼리 매개변수]

{#editor-DELETE-nodes__entry__12}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[표 3. 요청 본문 매개변수]

### 헤더

다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 [지원되는 REST API 헤더를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-DELETE-nodes__entry__16}{#editor-DELETE-nodes__accept-JSON-only-entry-RESTAPI}

| 헤더 | 설명 |
|-|-|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
[표 4. 요청 헤더]

{#editor-DELETE-nodes__entry__20}

| 헤더 | 설명 |
|-|-|
| 없음 |   |
[표 5. 응답 헤더]

### 상태 코드

다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 [REST API HTTP 응답 코드를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-DELETE-nodes__entry__24}{#editor-DELETE-nodes__entry-200-status-code}{#editor-DELETE-nodes__entry-400-status-code}{#editor-DELETE-nodes__entry-500-status-code}

| 상태 코드 | 설명 |
|-|-|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
[표 6. 상태 코드]

### 응답 본문 매개변수

{#editor-DELETE-nodes__entry__32}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[ ]

### cURL 요청

다음 코드 예제에서는 "cdi88" 노드를 삭제하는 방법을 보여 줍니다.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/nodes?changesetNumber=Chset783&fullNamePath=%2FtestApp%2Fdeployables%2FDevelopment-1%2Fcdi88" \
    --request DELETE \
    --header "Accept:application/json" \
    --user 'username':'password'

반환 결과:

    None - just the associated HTTP status code

## CdmEditorApi - GET /sn_cdm/editor/includes {#ariaid-title3}

지정된 노드 경로 내에 포함된 노드 목록을 반환합니다.
이 엔드포인트의 호출자는 CDM 뷰어 역할을 가지고 있어야 합니다.

### URL 형식

버전이 지정된 URL: /api/sn_cdm/{api_version}/editor/includes

기본 URL: /api/sn_cdm/editor/includes

### 지원되는 요청 매개변수

{#editor-GET-includes__entry__2}{#editor-GET-includes__version-RESTAPI}

| 이름 | 설명 |
|-|-|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 <kbd class="ph userinput">v1</kbd> 또는 <kbd class="ph userinput">v2</kbd>입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
[표 7. 경로 매개변수]

{#editor-GET-includes__entry__6}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[표 8. 쿼리 매개변수]

{#editor-GET-includes__entry__10}{#editor-GET-includes__cdm_apps-returnFields-entry}

| 이름 | 설명 |
|-|-|
| changesetNumber | 연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| returnFields | 응답의 일부로 반환할 필드 목록입니다. sys_id, sys_updated_by 또는 state와 같은 기록 열 이름을 전달합니다. 데이터 유형: 배열 기본값: 엔드포인트에 의해 결정된 모든 필드 |
| sourceFullNamePath (영문) | 필수 포함된 노드를 반환할 소스 노드의 경로 이름입니다. 다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어, testApp/collections 디렉터리의 `collectionA` 노드에 대한 includes를 반환하려면 다음을 수행합니다. * 백슬래시 형식: testApp/collections/collectionA 주: 노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다. * 대체 문자가 있는 백엔드 이름 경로: testApp 컬렉션 collectionA * 배열: \['testApp','collections','collectionA'\] 데이터 유형: 문자열 |
[표 9. 요청 본문 매개변수]

### 헤더

다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 [지원되는 REST API 헤더를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-GET-includes__entry__18}{#editor-GET-includes__accept-JSON-only-entry-RESTAPI}

| 헤더 | 설명 |
|-|-|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
[표 10. 요청 헤더]

{#editor-GET-includes__entry__22}

| 헤더 | 설명 |
|-|-|
| 없음 |   |
[표 11. 응답 헤더]

### 상태 코드

다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 [REST API HTTP 응답 코드를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-GET-includes__entry__26}{#editor-GET-includes__entry-200-status-code}{#editor-GET-includes__entry-400-status-code}{#editor-GET-includes__entry-500-status-code}

| 상태 코드 | 설명 |
|-|-|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
[표 12. 상태 코드]

### 응답 본문 매개변수

{#editor-GET-includes__id_jpm_rxl_c5b__entry__2}{#editor-GET-includes__conflict-node-editor-entry}{#editor-GET-includes__conflict_type-node-editor-entry}{#editor-GET-includes__description-node-editor-entry}{#editor-GET-includes__effective_from-node-editor-entry}{#editor-GET-includes__effective_to-node-editor-entry}{#editor-GET-includes__level-node-editor-entry}{#editor-GET-includes__linked_to-node-editor-entry}{#editor-GET-includes__main_id-node-editor-entry}{#editor-GET-includes__main_id_encoded-node-editor-entry}{#editor-GET-includes__node_classifier-node-editor-entry}{#editor-GET-includes__previous_version-node-editor-entry}{#editor-GET-includes__restricted_to-node-editor-entry}{#editor-GET-includes__system_folder-node-editor-entry}

| 이름 | 설명 |
|-|-|
| changeset_id | 연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| 충돌 | 노드를 처리할 때 상충이 있었는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 상충이 탐지되었습니다. * false: 상충이 탐지되지 않았습니다. 데이터 유형: 부울 |
| conflict_type | 매개변수가 conflict true이면 탐지된 상충의 유형입니다. 상충이 탐지되지 않으면 Null입니다. 가능한 값: * corrupted_node * deleted_node * duplicated_node * incomplete_deleted_parent * incomplete_deleted_ref * incomplete_renamed_ref * invalid_include * orphaned_descendant * related_conflict * unlinked_include * unrenamed_include * updated_node 데이터 유형: 문자열 |
| 설명 | 노드의 목적에 대한 간단한 설명입니다. 데이터 유형: 문자열 |
| effective_from | 노드가 변경 세트의 일부로 커밋되었을 때의 타임스탬프(정수(Long)로 변환)입니다. 노드가 커밋되지 않은 경우 이 값은 "null"입니다. 데이터 형식: 정수 |
| effective_to | 노드가 삭제되거나 다른 노드로 대체될 때 노드의 타임스탬프(정수(Long)로 변환)이며, 그렇지 않으면 "null"입니다. 데이터 형식: 정수 |
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 "error": { "detail": "String", "message": "String" } |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 수준 | 루트 노드에서 시작하는 노드의 수준으로, 항상 0입니다. 예를 들어, 노드 /AppA/components/compA 에는 두 개의 레벨이 있습니다. 데이터 유형: 문자열 |
| linked_to | main_id 이 노드가 연결되는 참조된 노드의 매개변수입니다. 이 노드가 참조 노드에 연결되지 않은 경우 값은 "null"입니다. 데이터 유형: 문자열 |
| main_id | 노드의 기본 식별자입니다. CdmQuery() 스크립트 포함에서 이 값을 사용하여 JSON 트리를 검색할 수 있습니다. 예: `CdmQuery().mainId('123')/query().getTree();` 데이터 유형: 문자열 |
| main_id_encoded | 노드 매개변수의 main_id RADIX 57 문자열 표현입니다. 데이터 유형: 문자열 |
| 이름 | 대상 경로 아래에 포함된 노드의 이름입니다. 데이터 유형: 문자열 |
| node_classifier | 노드의 분류 규칙 계층 구조입니다. 다음 정보를 사용하여 폴더 계층 구조 내에서 노드를 찾을 수 있습니다. 예를 들어 배포 가능 항목의 계층 구조는 /application/deployables/env:Development입니다 컬렉션에는 /applications/collections의 계층 구조가 있지만 데이터 유형: 문자열 |
| node_path | 대상 경로에 포함된 노드의 전체 경로 이름입니다(예: /Production/deployables/Development1/cdi1). 데이터 유형: 문자열 |
| 위치 | 노드 위치입니다. 예: 다음 배열을 업로드하는 경우: arrayNode1: [ "literal1", {"cdi1": 1}, "literal3" ] 위치 값은 다음과 같이 설정됩니다. * arrayNode1.리터럴1 = 1000 * 어레이노드 1.2000 = 2000 * arrayNode1.리터럴3 = 3000 {#editor-GET-includes__ul_ybk_wg2_25b}복합 객체가 배열 아래에 업로드되는 경우(이 경우 `{"cdi1": 1}`) 엔드포인트는 해당 위치와 동일한 이름을 가진 새 가상 노드를 만듭니다. 위의 예에서는 2000입니다. includes의 경우 위치는 항상 비어 있습니다. 데이터 유형: 문자열 |
| previous_version | 노드 기록의 이전 버전에 대한 상세 정보입니다. 주: 새 노드가 생성된 경우 엔드포인트는 이 매개 변수에 대해 `"previous_version" = null` 을 반환합니다. 데이터 유형: 객체 "previous_version": { "link": "String", "value": "String" } |
| restricted_to | 연결된 노드에 액세스할 수 있는 그룹의 상세 정보입니다. 데이터 유형: 객체 "restricted_to": { "link": "String", "value": "String" } |
| secure_value | 이 값이 보안되도록 플래그가 지정된 경우 암호화된 필드(마스킹된 상태로 반환됨). 이 정보의 암호를 해독하려면 사용자에게 sn_cdm.cdm_secrets 역할이 있어야 합니다. 쿼리 매개 변수 필드를 설정하여 이러한 필드를 반환하지 않도록 엔드포인트에 returnFields 지시할 수 있습니다. 데이터 유형: 문자열 |
| 상태 | 노드 상태(Status)입니다. 가능한 값: * 삭제 * 신규 * 대체 * 업데이트 * 유효한 데이터 유형: 문자열 |
| sys_id | 노드의 Sys_id입니다. CDM 노드 \[sn_cdm_node\] 테이블에 있습니다. 데이터 유형: 문자열 |
| system_folder | 연결된 노드가 시스템 폴더인지 여부를 나타내는 플래그입니다. 가능한 값: * true: 노드가 시스템 폴더입니다. * false: 노드가 시스템 폴더가 아닙니다. 데이터 유형: 부울 |
| 유형 | 노드 유형입니다. 가능한 값: * sn_cdm_node_cdi * sn_cdm_node_collection * sn_cdm_node_component * sn_cdm_node_folder * sn_cdm_node_variable 데이터 유형: 문자열 |
| 값 | 노드 값입니다. 데이터 유형: 문자열 |
[ ]

{#editor-GET-includes__id_jpm_rxl_c5b}  

### cURL 요청

이 코드 예제에서는 소스 경로 /testApp/collections/collA에서 includes를 검색하는 방법을 보여 줍니다.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/includes?changesetNumber=Chset5&sourceFullNamePath=%2FtestApp%2Fcollections%2FcollA" \
    --request GET \
    --header "Accept:application/json" \
    --user 'username':'password'

반환 결과:

    { 
      "result": [ 
        { 
          "sys_id": "a1c517a953b70110a1d3ddeeff7b129b", 
          "type": "sn_cdm_node_deployable", 
          "main_id": "6", 
          "main_id_encoded": ",", 
          "node_path": "!$!+!,", 
          "level": 2, 
          "status": "valid", 
          "node_classifier": "/application/deployables/env:Development", 
          "position": null, 
          "restricted_to": null, 
          "changeset_id": "e9c517a953b70110a1d3ddeeff7b1299", 
          "previous_version": null, 
          "effective_from": "1654002206866", 
          "effective_to": null, 
          "name": "Development_1", 
          "description": null, 
          "value": null, 
          "secure_value": null, 
          "system_folder": "0", 
          "linked_to": null, 
          "conflict": "0", 
          "conflict_type": null 
        } 
      ] 
    }

## CdmEditorApi - GET /sn_cdm/editor/nodes {#ariaid-title4}

지정된 노드의 상세 정보 또는 지정된 상위 노드의 하위 구성 데이터 관리 노드(CDM) 목록을 반환합니다.
이 엔드포인트의 호출자는 CDM 뷰어 역할을 가지고 있어야 합니다.

### URL 형식

버전이 지정된 URL: /api/sn_cdm/{api_version}/editor/nodes

기본 URL: /api/sn_cdm/editor/nodes

### 지원되는 요청 매개변수

{#editor-GET-nodes__entry__2}{#editor-GET-nodes__version-RESTAPI}

| 이름 | 설명 |
|-|-|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 <kbd class="ph userinput">v1</kbd> 또는 <kbd class="ph userinput">v2</kbd>입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
[표 13. 경로 매개변수]

{#editor-GET-nodes__entry__6}{#editor-GET-nodes__cdm_apps-returnFields-entry}{#editor-GET-nodes__type-node-editor-entry}

| 이름 | 설명 |
|-|-|
| changesetNumber | 연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| 암호 해독 | 리프 노드에 대해 값을 암호화해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 암호화됨 * false: 암호화되지 않음 데이터 유형: 부울 기본값: false |
| 이름 | 노드 이름입니다. 이 매개 변수를 전달하면 지정된 노드에 대한 결과만 반환됩니다. 데이터 유형: 문자열 기본값: 상위 노드 내의 모든 노드 |
| parentFullNamePath입니다 | 필수 하위 노드를 반환할 상위 노드 또는 매개변수에 지정된 노드가 상주하는 상위 노드의 name 경로 이름입니다. 다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어, testApp/collections 디렉터리에서 `collectionA` 노드에 대한 노드를 반환하려면 다음을 수행합니다. * 백슬래시 형식: testApp/collections/collectionA 주: 노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다. * 대체 문자가 있는 백엔드 이름 경로: testApp 컬렉션 collectionA * 배열: \['testApp','collections','collectionA'\] 데이터 유형: 문자열 |
| returnFields | 응답의 일부로 반환할 필드 목록입니다. sys_id, sys_updated_by 또는 state와 같은 기록 열 이름을 전달합니다. 데이터 유형: 배열 기본값: 엔드포인트에 의해 결정된 모든 필드 |
| 유형 | 노드 유형입니다. 가능한 값: * sn_cdm_node_cdi 또는 cdi * sn_cdm_node_collection OR 컬렉션 * sn_cdm_node_component OR 구성요소 * sn_cdm_node_folder OR 폴더 * sn_cdm_node_variable OR 변수 데이터 유형: 문자열 기본값: 모두 |
[표 14. 쿼리 매개변수]

{#editor-GET-nodes__entry__20}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[표 15. 요청 본문 매개변수]

### 헤더

다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 [지원되는 REST API 헤더를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-GET-nodes__entry__24}{#editor-GET-nodes__accept-JSON-only-entry-RESTAPI}

| 헤더 | 설명 |
|-|-|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
[표 16. 요청 헤더]

{#editor-GET-nodes__entry__28}

| 헤더 | 설명 |
|-|-|
| 없음 |   |
[표 17. 응답 헤더]

### 상태 코드

다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 [REST API HTTP 응답 코드를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-GET-nodes__entry__32}{#editor-GET-nodes__entry-200-status-code}{#editor-GET-nodes__entry-400-status-code}{#editor-GET-nodes__entry-500-status-code}

| 상태 코드 | 설명 |
|-|-|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
[표 18. 상태 코드]

### 응답 본문 매개변수

{#editor-GET-nodes__id_nwg_5jl_c5b__entry__2}{#editor-GET-nodes__changeset-node-editor-entry}{#editor-GET-nodes__changeset_link-node-editor-entry}{#editor-GET-nodes__changeset_value-node-editor-entry}{#editor-GET-nodes__conflict-node-editor-entry}{#editor-GET-nodes__conflict_type-node-editor-entry}{#editor-GET-nodes__description-node-editor-entry}{#editor-GET-nodes__effective_from-node-editor-entry}{#editor-GET-nodes__effective_to-node-editor-entry}{#editor-GET-nodes__level-node-editor-entry}{#editor-GET-nodes__linked_to-node-editor-entry}{#editor-GET-nodes__main_id-node-editor-entry}{#editor-GET-nodes__main_id_encoded-node-editor-entry}{#editor-GET-nodes__name-node-editor-entry}{#editor-GET-nodes__node_classifier-node-editor-entry}{#editor-GET-nodes__name_path-node-editor-entry}{#editor-GET-nodes__position-node-editor-entry}{#editor-GET-nodes__previous_version-node-editor-entry}{#editor-GET-nodes__previous_version_link-node-editor-entry}{#editor-GET-nodes__previous_version_value-node-editor-entry}{#editor-GET-nodes__restricted_to-node-editor-entry}{#editor-GET-nodes__restricted_to_link-node-editor-entry}{#editor-GET-nodes__restricted_to_value-node-editor-entry}{#editor-GET-nodes__secure_value-node-editor-entry}{#editor-GET-nodes__status-node-editor-entry}{#editor-GET-nodes__system_folder-node-editor-entry}{#editor-GET-nodes__sys_class_name-node-editor-entry}{#editor-GET-nodes__sys_created_by-node-editor-entry}{#editor-GET-nodes__sys_created_on-node-editor-entry}{#editor-GET-nodes__sys_id-node-editor-entry}{#editor-GET-nodes__sys_updated_by-node-editor-entry}{#editor-GET-nodes__sys_updated_on-node-editor-entry}{#editor-GET-nodes__d2925e3554}{#editor-GET-nodes__value-node-editor-entry}

| 이름 | 설명 |
|-|-|
| changeset_id | 노드와 연결된 변경 세트 기록의 상세 정보입니다. 데이터 유형: 객체 "changeset_id": { "link": "String", "value": "String" } |
| changeset_id.링크 | 테이블 REST API를 사용하여 이 변경 세트 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| changeset_id.value | 변경 세트 기록의 고유 식별자입니다. CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| 충돌 | 노드를 처리할 때 상충이 있었는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 상충이 탐지되었습니다. * false: 상충이 탐지되지 않았습니다. 데이터 유형: 부울 |
| conflict_type | 매개변수가 conflict true이면 탐지된 상충의 유형입니다. 상충이 탐지되지 않으면 Null입니다. 가능한 값: * corrupted_node * deleted_node * duplicated_node * incomplete_deleted_parent * incomplete_deleted_ref * incomplete_renamed_ref * invalid_include * orphaned_descendant * related_conflict * unlinked_include * unrenamed_include * updated_node 데이터 유형: 문자열 |
| 설명 | 노드의 목적에 대한 간단한 설명입니다. 데이터 유형: 문자열 |
| effective_from | 노드가 변경 세트의 일부로 커밋되었을 때의 타임스탬프(정수(Long)로 변환)입니다. 노드가 커밋되지 않은 경우 이 값은 "null"입니다. 데이터 형식: 정수 |
| effective_to | 노드가 삭제되거나 다른 노드로 대체될 때 노드의 타임스탬프(정수(Long)로 변환)이며, 그렇지 않으면 "null"입니다. 데이터 형식: 정수 |
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 "error": { "detail": "String", "message": "String" } |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 수준 | 루트 노드에서 시작하는 노드의 수준으로, 항상 0입니다. 예를 들어, 노드 /AppA/components/compA 에는 두 개의 레벨이 있습니다. 데이터 유형: 문자열 |
| linked_to | main_id 이 노드가 연결되는 참조된 노드의 매개변수입니다. 이 노드가 참조 노드에 연결되지 않은 경우 값은 "null"입니다. 데이터 유형: 문자열 |
| main_id | 노드의 기본 식별자입니다. CdmQuery() 스크립트 포함에서 이 값을 사용하여 JSON 트리를 검색할 수 있습니다. 예: `CdmQuery().mainId('123')/query().getTree();` 데이터 유형: 문자열 |
| main_id_encoded | 노드 매개변수의 main_id RADIX 57 문자열 표현입니다. 데이터 유형: 문자열 |
| 이름 | 노드의 이름입니다. 데이터 유형: 문자열 |
| node_classifier | 노드의 분류 규칙 계층 구조입니다. 다음 정보를 사용하여 폴더 계층 구조 내에서 노드를 찾을 수 있습니다. 예를 들어 배포 가능 항목의 계층 구조는 /application/deployables/env:Development입니다 컬렉션에는 /applications/collections의 계층 구조가 있지만 데이터 유형: 문자열 |
| node_path | 전체 노드 경로 이름입니다. 데이터 유형: 문자열 |
| 위치 | 노드 위치입니다. 예: 다음 배열을 업로드하는 경우: arrayNode1: [ "literal1", {"cdi1": 1}, "literal3" ] 위치 값은 다음과 같이 설정됩니다. * arrayNode1.리터럴1 = 1000 * 어레이노드 1.2000 = 2000 * arrayNode1.리터럴3 = 3000 {#editor-GET-nodes__ul_ybk_wg2_25b}복합 객체가 배열 아래에 업로드되는 경우(이 경우 `{"cdi1": 1}`) 엔드포인트는 해당 위치와 동일한 이름을 가진 새 가상 노드를 만듭니다. 위의 예에서는 2000입니다. includes의 경우 위치는 항상 비어 있습니다. 데이터 유형: 문자열 |
| previous_version | 노드 기록의 이전 버전에 대한 상세 정보입니다. 주: 새 노드가 생성된 경우 엔드포인트는 이 매개 변수에 대해 `"previous_version" = null` 을 반환합니다. 데이터 유형: 객체 "previous_version": { "link": "String", "value": "String" } |
| previous_version.링크 | 테이블 REST API를 사용하여 이 노드 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| previous_version.value | 노드 기록의 Sys_id입니다. CDM 노드 \[sn_cdm_node\] 테이블에 있습니다. 데이터 유형: 문자열 |
| reason_for_conflict | 상충에 대한 자세한 설명입니다. 데이터 유형: 문자열 |
| restricted_to | 연결된 노드에 액세스할 수 있는 그룹의 상세 정보입니다. 데이터 유형: 객체 "restricted_to": { "link": "String", "value": "String" } |
| restricted_to.링크 | 테이블 REST API를 사용하여 이 그룹 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| restricted_to.value | 그룹 기록의 Sys_id입니다. CDM 그룹 \[sys_user_group\] 테이블에 있습니다. 데이터 유형: 문자열 |
| secure_value | 이 값이 보안되도록 플래그가 지정된 경우 암호화된 필드(마스킹된 상태로 반환됨). 이 정보의 암호를 해독하려면 사용자에게 sn_cdm.cdm_secrets 역할이 있어야 합니다. 쿼리 매개 변수 필드를 설정하여 이러한 필드를 반환하지 않도록 엔드포인트에 returnFields 지시할 수 있습니다. 데이터 유형: 문자열 |
| 상태 | 노드 상태(Status)입니다. 가능한 값: * 삭제 * 신규 * 대체 * 업데이트 * 유효한 데이터 유형: 문자열 |
| system_folder | 연결된 노드가 시스템 폴더인지 여부를 나타내는 플래그입니다. 가능한 값: * true: 노드가 시스템 폴더입니다. * false: 노드가 시스템 폴더가 아닙니다. 데이터 유형: 부울 |
| sys_class_name | 노드가 상주하는 테이블입니다. 데이터 유형: 문자열 |
| sys_created_by | 노드를 만든 사용자의 이름입니다. 데이터 유형: 문자열 |
| sys_created_on | 노드가 생성된 날짜 및 시간입니다. 데이터 유형: 문자열 형식: yyyy-mm-dd hh:mm:ss |
| sys_id | 노드의 Sys_id입니다. CDM 노드 \[sn_cdm_node\] 테이블에 있습니다. 데이터 유형: 문자열 |
| sys_updated_by | 노드를 업데이트한 사용자의 이름입니다. 데이터 유형: 문자열 |
| sys_updated_on | 노드가 마지막으로 업데이트된 날짜 및 시간입니다. 데이터 유형: 문자열 형식: yyyy-mm-dd hh:mm:ss |
| 유형 | 노드 유형입니다. 가능한 값: * sn_cdm_node_cdi * sn_cdm_node_collection * sn_cdm_node_component * sn_cdm_node_folder * sn_cdm_node_variable 데이터 유형: 문자열 기본값: 모두 |
| 값 | 노드 값입니다. 데이터 유형: 문자열 |
[ ]

{#editor-GET-nodes__id_nwg_5jl_c5b}  

### cURL 요청

이 코드 예제에서는 /testApp/Fdeployables/Development_1 부모 노드에서 sn_cdm_node_cdi 형식의 자식 노드를 검색하는 방법을 보여 줍니다.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/nodes?decryptPassword=true&name=cdi45&changesetNumber=Chset3&parentFullNamePath=%2FtestApp%2Fdeployables%2FDevelopment_1&type=sn_cdm_node_cdi" \
    --request GET \
    --header "Accept:application/json" \
    --user 'username':'password'

반환 결과:

    { 
      "result": [ 
        { 
          "changeset_id": { 
            "value": "d403648653b70110a1d3ddeeff7b12c5", 
            "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5" 
          }, 
          "node_path": "!$!+!,![:", 
          "description": null, 
          "sys_updated_on": "2022-06-30 09:24:07", 
          "type": "sn_cdm_node_cdi", 
          "sys_class_name": "sn_cdm_node", 
          "sys_id": "c93c7c1753981110a1d3ddeeff7b12c7", 
          "sys_updated_by": "admin", 
          "previous_version": null, 
          "sys_created_on": "2022-06-30 08:53:13", 
          "value": "cdcdc", 
          "effective_from": null, 
          "linked_to": null, 
          "sys_created_by": "admin", 
          "restricted_to": null, 
          "level": "3", 
          "conflict_type": null, 
          "main_id": "2869", 
          "effective_to": null, 
          "secure_value": null, 
          "node_classifier": "/application/deployables/env:Development", 
          "main_id_encoded": "[:", 
          "name": "cdi45", 
          "position": null, 
          "reason_for_conflict": null, 
          "system_folder": false, 
          "status": "new", 
          "conflict": false 
        } 
      ] 
    }

## CdmEditorApi - POST /sn_cdm/editor/includes {#ariaid-title5}

구성요소 노드를 수집 노드에 포함하거나 수집 노드를 배포 가능 노드에 포함하는 등 기존 노드를 다른 노드에 포함합니다. 노드를 포함하면 새 노드에는 고유한 sys_id와 main_Id 있습니다.
이 엔드포인트의 호출자는 CDM 편집자 역할을 가지고 있어야 합니다.

### URL 형식

버전이 지정된 URL: /api/sn_cdm/{api_version}/editor/includes

기본 URL: /api/sn_cdm/editor/includes

### 지원되는 요청 매개변수

{#editor-POST-includes__entry__2}{#editor-POST-includes__version-RESTAPI}

| 이름 | 설명 |
|-|-|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 <kbd class="ph userinput">v1</kbd> 또는 <kbd class="ph userinput">v2</kbd>입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
[표 19. 경로 매개변수]

{#editor-POST-includes__entry__6}{#editor-POST-includes__cdm_apps-returnFields-entry}

| 이름 | 설명 |
|-|-|
| changesetNumber | 필수 대상 노드에 포함할 오픈 변경 세트의 고유 번호입니다. CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| returnFields | 응답의 일부로 반환할 필드 목록입니다. sys_id, sys_updated_by 또는 state와 같은 기록 열 이름을 전달합니다. 데이터 유형: 배열 기본값: 엔드포인트에 의해 결정된 모든 필드 |
| sourceFullNamePath (영문) | 필수 대상 노드에 포함할 노드의 경로 이름입니다. 다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어 다음 노드를 포함하려면 `Staging/deployables/Development1/cdi1`: * 백슬래시 형식: Staging/deployables/Development1/cdi1 주: 노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다. * 백엔드 이름 교체 문자가 있는 경로: 스테이징 배포 가능 항목 개발1 cdi1 * 배열: \['Staging','deployables','Development1','cdi1'\] 데이터 유형: 문자열 |
| targetFullNamePath입니다 | 필수 소스 노드가 포함될 노드의 경로 이름입니다. 다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어 `Production/deployables/Development1` 노드를 포함하려면 다음을 수행합니다. * 백슬래시 형식: Production/deployables/Development1/cdi1 주: 노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다. * 백엔드 이름 교체 문자가 있는 경로: 프로덕션 배포 가능 항목 개발1 CDI1 * 배열: \['프로덕션','배포 가능 항목','개발1','cdi1'\] {#editor-POST-includes__ul_wk2_k21_cyb} 데이터 유형: 문자열 |
[표 20. 쿼리 매개변수]

{#editor-POST-includes__entry__16}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[표 21. 요청 본문 매개변수]

### 헤더

다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 [지원되는 REST API 헤더를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-POST-includes__entry__20}{#editor-POST-includes__accept-JSON-only-entry-RESTAPI}{#editor-POST-includes__content_type-JSON-only-entry-RESTAPI}

| 헤더 | 설명 |
|-|-|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
[표 22. 요청 헤더]

{#editor-POST-includes__entry__26}

| 헤더 | 설명 |
|-|-|
| 없음 |   |
[표 23. 응답 헤더]

### 상태 코드

다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 [REST API HTTP 응답 코드를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-POST-includes__entry__30}{#editor-POST-includes__entry-200-status-code}{#editor-POST-includes__entry-400-status-code}{#editor-POST-includes__entry-500-status-code}

| 상태 코드 | 설명 |
|-|-|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
[표 24. 상태 코드]

### 응답 본문 매개변수

{#editor-POST-includes__id_cvv_pxl_c5b__entry__2}{#editor-POST-includes__conflict-node-editor-entry}{#editor-POST-includes__conflict_type-node-editor-entry}{#editor-POST-includes__description-node-editor-entry}{#editor-POST-includes__effective_from-node-editor-entry}{#editor-POST-includes__effective_to-node-editor-entry}{#editor-POST-includes__level-node-editor-entry}{#editor-POST-includes__linked_to-node-editor-entry}{#editor-POST-includes__main_id-node-editor-entry}{#editor-POST-includes__main_id_encoded-node-editor-entry}{#editor-POST-includes__node_classifier-node-editor-entry}{#editor-POST-includes__previous_version-node-editor-entry}{#editor-POST-includes__restricted_to-node-editor-entry}{#editor-POST-includes__system_folder-node-editor-entry}

| 이름 | 설명 |
|-|-|
| changeset_id | 연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| 충돌 | 노드를 처리할 때 상충이 있었는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 상충이 탐지되었습니다. * false: 상충이 탐지되지 않았습니다. 데이터 유형: 부울 |
| conflict_type | 매개변수가 conflict true이면 탐지된 상충의 유형입니다. 상충이 탐지되지 않으면 Null입니다. 가능한 값: * corrupted_node * deleted_node * duplicated_node * incomplete_deleted_parent * incomplete_deleted_ref * incomplete_renamed_ref * invalid_include * orphaned_descendant * related_conflict * unlinked_include * unrenamed_include * updated_node 데이터 유형: 문자열 |
| 설명 | 노드의 목적에 대한 간단한 설명입니다. 데이터 유형: 문자열 |
| effective_from | 노드가 변경 세트의 일부로 커밋되었을 때의 타임스탬프(정수(Long)로 변환)입니다. 노드가 커밋되지 않은 경우 이 값은 "null"입니다. 데이터 형식: 정수 |
| effective_to | 노드가 삭제되거나 다른 노드로 대체될 때 노드의 타임스탬프(정수(Long)로 변환)이며, 그렇지 않으면 "null"입니다. 데이터 형식: 정수 |
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 "error": { "detail": "String", "message": "String" } |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 수준 | 루트 노드에서 시작하는 노드의 수준으로, 항상 0입니다. 예를 들어, 노드 /AppA/components/compA 에는 두 개의 레벨이 있습니다. 데이터 유형: 문자열 |
| linked_to | main_id 이 노드가 연결되는 참조된 노드의 매개변수입니다. 이 노드가 참조 노드에 연결되지 않은 경우 값은 "null"입니다. 데이터 유형: 문자열 |
| main_id | 노드의 기본 식별자입니다. CdmQuery() 스크립트 포함에서 이 값을 사용하여 JSON 트리를 검색할 수 있습니다. 예: `CdmQuery().mainId('123')/query().getTree();` 데이터 유형: 문자열 |
| main_id_encoded | 노드 매개변수의 main_id RADIX 57 문자열 표현입니다. 데이터 유형: 문자열 |
| 이름 | 대상 경로 아래에 포함된 노드의 이름입니다. 데이터 유형: 문자열 |
| node_classifier | 노드의 분류 규칙 계층 구조입니다. 다음 정보를 사용하여 폴더 계층 구조 내에서 노드를 찾을 수 있습니다. 예를 들어 배포 가능 항목의 계층 구조는 /application/deployables/env:Development입니다 컬렉션에는 /applications/collections의 계층 구조가 있지만 데이터 유형: 문자열 |
| node_path | 대상 경로에 포함된 노드의 전체 경로 이름입니다(예: /Production/deployables/Development1/cdi1). 데이터 유형: 문자열 |
| 위치 | 노드 위치입니다. 예: 다음 배열을 업로드하는 경우: arrayNode1: [ "literal1", {"cdi1": 1}, "literal3" ] 위치 값은 다음과 같이 설정됩니다. * arrayNode1.리터럴1 = 1000 * 어레이노드 1.2000 = 2000 * arrayNode1.리터럴3 = 3000 {#editor-POST-includes__ul_ybk_wg2_25b}복합 객체가 배열 아래에 업로드되는 경우(이 경우 `{"cdi1": 1}`) 엔드포인트는 해당 위치와 동일한 이름을 가진 새 가상 노드를 만듭니다. 위의 예에서는 2000입니다. includes의 경우 위치는 항상 비어 있습니다. 데이터 유형: 문자열 |
| previous_version | 노드 기록의 이전 버전에 대한 상세 정보입니다. 주: 새 노드가 생성된 경우 엔드포인트는 이 매개 변수에 대해 `"previous_version" = null` 을 반환합니다. 데이터 유형: 객체 "previous_version": { "link": "String", "value": "String" } |
| restricted_to | 연결된 노드에 액세스할 수 있는 그룹의 상세 정보입니다. 데이터 유형: 객체 "restricted_to": { "link": "String", "value": "String" } |
| secure_value | 이 값이 보안되도록 플래그가 지정된 경우 암호화된 필드(마스킹된 상태로 반환됨). 이 정보의 암호를 해독하려면 사용자에게 sn_cdm.cdm_secrets 역할이 있어야 합니다. 쿼리 매개 변수 필드를 설정하여 이러한 필드를 반환하지 않도록 엔드포인트에 returnFields 지시할 수 있습니다. 데이터 유형: 문자열 |
| 상태 | 노드 상태(Status)입니다. 가능한 값: * 삭제 * 신규 * 대체 * 업데이트 * 유효한 데이터 유형: 문자열 |
| sys_id | 노드의 Sys_id입니다. CDM 노드 \[sn_cdm_node\] 테이블에 있습니다. 데이터 유형: 문자열 |
| system_folder | 연결된 노드가 시스템 폴더인지 여부를 나타내는 플래그입니다. 가능한 값: * true: 노드가 시스템 폴더입니다. * false: 노드가 시스템 폴더가 아닙니다. 데이터 유형: 부울 |
| 유형 | 노드 유형입니다. 가능한 값: * sn_cdm_node_cdi * sn_cdm_node_collection * sn_cdm_node_component * sn_cdm_node_folder * sn_cdm_node_variable 데이터 유형: 문자열 |
| 값 | 노드 값입니다. 데이터 유형: 문자열 |
[ ]

{#editor-POST-includes__id_cvv_pxl_c5b}  

### cURL 요청

다음 코드 예제에서는 /testApp/deployables/Development_1 아래에 /testApp/collections/collA 노드를 포함하는 방법을 보여 줍니다.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/includes?changesetNumber=Chset5&targetFullNamePath=%2FtestApp%2Fdeployables%2FDevelopment_1&sourceFullNamePath=%2FtestApp%2Fcollecti
    ons%2FcollA" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'

반환 결과:

    { 
      "result": { 
        "changeset_id": { 
          "value": "d403648653b70110a1d3ddeeff7b12c5", 
          "link": "http://192.168.0.233:8080/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5" 
        }, 
        "node_path": "!$!+!,![?", 
        "description": null, 
        "sys_updated_on": "2022-06-30 09:19:47", 
        "type": "sn_cdm_node_linked", 
        "sys_class_name": "sn_cdm_node", 
        "sys_id": "1642015b53981110a1d3ddeeff7b1232", 
        "sys_updated_by": "admin", 
        "previous_version": null, 
        "sys_created_on": "2022-06-30 09:19:47", 
        "value": null, 
        "effective_from": null, 
        "linked_to": "2870", 
        "sys_created_by": "admin", 
        "restricted_to": null, 
        "level": "3", 
        "conflict_type": null, 
        "main_id": "2872", 
        "effective_to": null, 
        "secure_value": null, 
        "node_classifier": "/application/deployables/env:Development", 
        "main_id_encoded": "[?", 
        "name": "collA", 
        "position": null, 
        "reason_for_conflict": null, 
        "system_folder": false, 
        "status": "new", 
        "conflict": false 
      } 
    }

## CdmEditorApi - POST /sn_cdm/editor/nodes {#ariaid-title6}

구성요소, 컬렉션, 폴더, CDI(구성 데이터 항목) 또는 변수와 같은 특정 유형의 노드를 생성합니다.
현재 정의되지 않은 상위 노드를 자동으로 생성할지 여부도 지정할 수 있습니다.

이 엔드포인트의 호출자는 CDM 편집자 또는 CDM 비밀 역할이 있어야 합니다.

### URL 형식

버전이 지정된 URL: /api/sn_cdm/{api_version}/editor/nodes

기본 URL: /api/sn_cdm/editor/nodes

### 지원되는 요청 매개변수

{#editor-POST-nodes__entry__2}{#editor-POST-nodes__version-RESTAPI}

| 이름 | 설명 |
|-|-|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 <kbd class="ph userinput">v1</kbd> 또는 <kbd class="ph userinput">v2</kbd>입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
[표 25. 경로 매개변수]

{#editor-POST-nodes__entry__6}{#editor-POST-nodes__changesetNumber-changeset-entry}{#editor-POST-nodes__fullNamePath-node-editor-entry}{#editor-POST-nodes__cdm_apps-returnFields-entry}{#editor-POST-nodes__secure-node-editor-entry}

| 이름 | 설명 |
|-|-|
| autoCreateParents (영문) | 이름 경로에 존재하지 않는 상위 항목을 구성요소로 자동으로 생성할지 여부를 나타내는 플래그입니다. 단, 앱, 배포 가능 항목 및 수집은 예외입니다. 이 플래그를 설정하지 않고 부모가 아직 존재하지 않는 경우 엔드포인트가 실패합니다. 유효한 값은 다음과 같습니다. * true: 존재하지 않는 상위를 자동으로 만듭니다. * false: 존재하지 않는 부모를 자동으로 만들지 않습니다. 데이터 유형: 부울 기본값: false |
| changesetNumber | 필수 연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| fullNamePath | 필수 노드의 경로 이름입니다. 다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어 `노드의 이름 경로를 정의하려면 testApp/deployables/Development1/cdi1`을 정의하십시오. * 백슬래시 형식: testApp/deployables/Development1/cdi1 주: 노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다. * 백엔드 이름 대체 문자가 있는 경로: testApp deployables Development1 cdi1 * 배열: \['testApp','deployables','Development1','cdi1'\] {#editor-POST-nodes__cdm_apps-namePath-ul} 데이터 유형: 문자열 |
| returnFields | 응답의 일부로 반환할 필드 목록입니다. sys_id, sys_updated_by 또는 state와 같은 기록 열 이름을 전달합니다. 데이터 유형: 배열 기본값: 엔드포인트에 의해 결정된 모든 필드 |
| 확실한 | 리프 노드에 대해 값을 암호화해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 암호화됨 * false: 암호화되지 않음 데이터 유형: 부울 기본값: false |
| 유형 | 필수 새 노드의 유형입니다. 유효한 값은 다음과 같습니다. * sn_cdm_node_collection OR 컬렉션 * sn_cdm_node_component OR 구성요소 * sn_cdm_node_folder OR 폴더 * sn_cdm_node_cdi 또는 cdi * sn_cdm_node_variable 또는 변수 데이터 유형: 문자열 |
| 값 | 새 노드의 값입니다. 데이터 유형: 문자열 기본값: "null"과 동일 |
[표 26. 쿼리 매개변수]

{#editor-POST-nodes__entry__22}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[표 27. 요청 본문 매개변수]

### 헤더

다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 [지원되는 REST API 헤더를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-POST-nodes__entry__26}{#editor-POST-nodes__accept-JSON-only-entry-RESTAPI}{#editor-POST-nodes__content_type-JSON-only-entry-RESTAPI}

| 헤더 | 설명 |
|-|-|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
[표 28. 요청 헤더]

{#editor-POST-nodes__entry__32}

| 헤더 | 설명 |
|-|-|
| 없음 |   |
[표 29. 응답 헤더]

### 상태 코드

다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 [REST API HTTP 응답 코드를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-POST-nodes__entry__36}{#editor-POST-nodes__entry-200-status-code}{#editor-POST-nodes__entry-400-status-code}{#editor-POST-nodes__entry-500-status-code}

| 상태 코드 | 설명 |
|-|-|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
[표 30. 상태 코드]

### 응답 본문 매개변수

{#editor-POST-nodes__id_nwg_5jl_c5b__entry__2}{#editor-POST-nodes__changeset-node-editor-entry}{#editor-POST-nodes__changeset_link-node-editor-entry}{#editor-POST-nodes__changeset_value-node-editor-entry}{#editor-POST-nodes__conflict-node-editor-entry}{#editor-POST-nodes__conflict_type-node-editor-entry}{#editor-POST-nodes__description-node-editor-entry}{#editor-POST-nodes__effective_from-node-editor-entry}{#editor-POST-nodes__effective_to-node-editor-entry}{#editor-POST-nodes__level-node-editor-entry}{#editor-POST-nodes__linked_to-node-editor-entry}{#editor-POST-nodes__main_id-node-editor-entry}{#editor-POST-nodes__main_id_encoded-node-editor-entry}{#editor-POST-nodes__name-node-editor-entry}{#editor-POST-nodes__node_classifier-node-editor-entry}{#editor-POST-nodes__name_path-node-editor-entry}{#editor-POST-nodes__position-node-editor-entry}{#editor-POST-nodes__previous_version-node-editor-entry}{#editor-POST-nodes__previous_version_link-node-editor-entry}{#editor-POST-nodes__previous_version_value-node-editor-entry}{#editor-POST-nodes__restricted_to-node-editor-entry}{#editor-POST-nodes__restricted_to_link-node-editor-entry}{#editor-POST-nodes__restricted_to_value-node-editor-entry}{#editor-POST-nodes__secure_value-node-editor-entry}{#editor-POST-nodes__status-node-editor-entry}{#editor-POST-nodes__system_folder-node-editor-entry}{#editor-POST-nodes__sys_class_name-node-editor-entry}{#editor-POST-nodes__sys_created_by-node-editor-entry}{#editor-POST-nodes__sys_created_on-node-editor-entry}{#editor-POST-nodes__sys_id-node-editor-entry}{#editor-POST-nodes__sys_updated_by-node-editor-entry}{#editor-POST-nodes__sys_updated_on-node-editor-entry}{#editor-POST-nodes__type-node-editor-entry}{#editor-POST-nodes__value-node-editor-entry}

| 이름 | 설명 |
|-|-|
| changeset_id | 노드와 연결된 변경 세트 기록의 상세 정보입니다. 데이터 유형: 객체 "changeset_id": { "link": "String", "value": "String" } |
| changeset_id.링크 | 테이블 REST API를 사용하여 이 변경 세트 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| changeset_id.value | 변경 세트 기록의 고유 식별자입니다. CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| 충돌 | 노드를 처리할 때 상충이 있었는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 상충이 탐지되었습니다. * false: 상충이 탐지되지 않았습니다. 데이터 유형: 부울 |
| conflict_type | 매개변수가 conflict true이면 탐지된 상충의 유형입니다. 상충이 탐지되지 않으면 Null입니다. 가능한 값: * corrupted_node * deleted_node * duplicated_node * incomplete_deleted_parent * incomplete_deleted_ref * incomplete_renamed_ref * invalid_include * orphaned_descendant * related_conflict * unlinked_include * unrenamed_include * updated_node 데이터 유형: 문자열 |
| 설명 | 노드의 목적에 대한 간단한 설명입니다. 데이터 유형: 문자열 |
| effective_from | 노드가 변경 세트의 일부로 커밋되었을 때의 타임스탬프(정수(Long)로 변환)입니다. 노드가 커밋되지 않은 경우 이 값은 "null"입니다. 데이터 형식: 정수 |
| effective_to | 노드가 삭제되거나 다른 노드로 대체될 때 노드의 타임스탬프(정수(Long)로 변환)이며, 그렇지 않으면 "null"입니다. 데이터 형식: 정수 |
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 "error": { "detail": "String", "message": "String" } |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 수준 | 루트 노드에서 시작하는 노드의 수준으로, 항상 0입니다. 예를 들어, 노드 /AppA/components/compA 에는 두 개의 레벨이 있습니다. 데이터 유형: 문자열 |
| linked_to | main_id 이 노드가 연결되는 참조된 노드의 매개변수입니다. 이 노드가 참조 노드에 연결되지 않은 경우 값은 "null"입니다. 데이터 유형: 문자열 |
| main_id | 노드의 기본 식별자입니다. CdmQuery() 스크립트 포함에서 이 값을 사용하여 JSON 트리를 검색할 수 있습니다. 예: `CdmQuery().mainId('123')/query().getTree();` 데이터 유형: 문자열 |
| main_id_encoded | 노드 매개변수의 main_id RADIX 57 문자열 표현입니다. 데이터 유형: 문자열 |
| 이름 | 노드의 이름입니다. 데이터 유형: 문자열 |
| node_classifier | 노드의 분류 규칙 계층 구조입니다. 다음 정보를 사용하여 폴더 계층 구조 내에서 노드를 찾을 수 있습니다. 예를 들어 배포 가능 항목의 계층 구조는 /application/deployables/env:Development입니다 컬렉션에는 /applications/collections의 계층 구조가 있지만 데이터 유형: 문자열 |
| node_path | 전체 노드 경로 이름입니다. 데이터 유형: 문자열 |
| 위치 | 노드 위치입니다. 예: 다음 배열을 업로드하는 경우: arrayNode1: [ "literal1", {"cdi1": 1}, "literal3" ] 위치 값은 다음과 같이 설정됩니다. * arrayNode1.리터럴1 = 1000 * 어레이노드 1.2000 = 2000 * arrayNode1.리터럴3 = 3000 {#editor-POST-nodes__ul_ybk_wg2_25b}복합 객체가 배열 아래에 업로드되는 경우(이 경우 `{"cdi1": 1}`) 엔드포인트는 해당 위치와 동일한 이름을 가진 새 가상 노드를 만듭니다. 위의 예에서는 2000입니다. includes의 경우 위치는 항상 비어 있습니다. 데이터 유형: 문자열 |
| previous_version | 노드 기록의 이전 버전에 대한 상세 정보입니다. 주: 새 노드가 생성된 경우 엔드포인트는 이 매개 변수에 대해 `"previous_version" = null` 을 반환합니다. 데이터 유형: 객체 "previous_version": { "link": "String", "value": "String" } |
| previous_version.링크 | 테이블 REST API를 사용하여 이 노드 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| previous_version.value | 노드 기록의 Sys_id입니다. CDM 노드 \[sn_cdm_node\] 테이블에 있습니다. 데이터 유형: 문자열 |
| reason_for_conflict | 상충에 대한 자세한 설명입니다. 데이터 유형: 문자열 |
| restricted_to | 연결된 노드에 액세스할 수 있는 그룹의 상세 정보입니다. 데이터 유형: 객체 "restricted_to": { "link": "String", "value": "String" } |
| restricted_to.링크 | 테이블 REST API를 사용하여 이 그룹 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| restricted_to.value | 그룹 기록의 Sys_id입니다. CDM 그룹 \[sys_user_group\] 테이블에 있습니다. 데이터 유형: 문자열 |
| secure_value | 이 값이 보안되도록 플래그가 지정된 경우 암호화된 필드(마스킹된 상태로 반환됨). 이 정보의 암호를 해독하려면 사용자에게 sn_cdm.cdm_secrets 역할이 있어야 합니다. 쿼리 매개 변수 필드를 설정하여 이러한 필드를 반환하지 않도록 엔드포인트에 returnFields 지시할 수 있습니다. 데이터 유형: 문자열 |
| 상태 | 노드 상태(Status)입니다. 가능한 값: * 삭제 * 신규 * 대체 * 업데이트 * 유효한 데이터 유형: 문자열 |
| system_folder | 연결된 노드가 시스템 폴더인지 여부를 나타내는 플래그입니다. 가능한 값: * true: 노드가 시스템 폴더입니다. * false: 노드가 시스템 폴더가 아닙니다. 데이터 유형: 부울 |
| sys_class_name | 노드가 상주하는 테이블입니다. 데이터 유형: 문자열 |
| sys_created_by | 노드를 만든 사용자의 이름입니다. 데이터 유형: 문자열 |
| sys_created_on | 노드가 생성된 날짜 및 시간입니다. 데이터 유형: 문자열 형식: yyyy-mm-dd hh:mm:ss |
| sys_id | 노드의 Sys_id입니다. CDM 노드 \[sn_cdm_node\] 테이블에 있습니다. 데이터 유형: 문자열 |
| sys_updated_by | 노드를 업데이트한 사용자의 이름입니다. 데이터 유형: 문자열 |
| sys_updated_on | 노드가 마지막으로 업데이트된 날짜 및 시간입니다. 데이터 유형: 문자열 형식: yyyy-mm-dd hh:mm:ss |
| 유형 | 노드 유형입니다. 가능한 값: * sn_cdm_node_cdi * sn_cdm_node_collection * sn_cdm_node_component * sn_cdm_node_folder * sn_cdm_node_variable 데이터 유형: 문자열 기본값: 모두 |
| 값 | 노드 값입니다. 데이터 유형: 문자열 |
[ ]

{#editor-POST-nodes__id_nwg_5jl_c5b}  

### cURL 요청

다음 코드 예제에서는 이 엔드포인트를 사용하여 노드를 만드는 방법을 보여 줍니다.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/nodes?fullNamePath=%2FtestApp%2Fdeployables%2FDevelopment1%2Fcdi1&secure=true&value=someVal&type=cdi&changesetNumber=Chset-760" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'

반환 결과:

    { 
      "result": { 
        "changeset_id": { 
          "value": "d403648653b70110a1d3ddeeff7b12c5", 
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5" 
        }, 
        "node_path": "!$!+!,![:", 
        "description": null, 
        "sys_updated_on": "2022-06-30 08:53:13", 
        "type": "sn_cdm_node_cdi", 
        "sys_class_name": "sn_cdm_node", 
        "sys_id": "c93c7c1753981110a1d3ddeeff7b12c7", 
        "sys_updated_by": "admin", 
        "previous_version": null, 
        "sys_created_on": "2022-06-30 08:53:13", 
        "value": null, 
        "effective_from": null, 
        "linked_to": null, 
        "sys_created_by": "admin", 
        "restricted_to": null, 
        "level": "3", 
        "conflict_type": null, 
        "main_id": "2869", 
        "effective_to": null, 
        "secure_value": "﷞﷟﷒113a0c6e53001110a1d3ddeeff7b121d﷬﷔1﷬﷭bAUA1wj-fxofbSrMyF-BAg==6qiho5f_9DhnuHT2Km5SLf0Ck4XNX_w=﷮﷯", 
        "node_classifier": "/application/deployables/env:Development", 
        "main_id_encoded": "[:", 
        "name": "cdi45", 
        "position": null, 
        "reason_for_conflict": null, 
        "system_folder": false, 
        "status": "new", 
        "conflict": false 
      } 
    }

## CdmEditorApi - PUT /sn_cdm/editor/nodes {#ariaid-title7}

지정된 노드의 이름 및/또는 값을 업데이트합니다.
이 엔드포인트의 호출자는 CDM 편집자 또는 CDM 비밀 역할이 있어야 합니다.

### URL 형식

버전이 지정된 URL: /api/sn_cdm/{api_version}/editor/nodes

기본 URL: /api/sn_cdm/editor/nodes

### 지원되는 요청 매개변수

{#editor-PUT-nodes__entry__2}{#editor-PUT-nodes__version-RESTAPI}

| 이름 | 설명 |
|-|-|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 <kbd class="ph userinput">v1</kbd> 또는 <kbd class="ph userinput">v2</kbd>입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
[표 31. 경로 매개변수]

{#editor-PUT-nodes__entry__6}{#editor-PUT-nodes__changesetNumber-changeset-entry}{#editor-PUT-nodes__fullNamePath-node-editor-entry}{#editor-PUT-nodes__secure-node-editor-entry}{#editor-PUT-nodes__cdm_apps-returnFields-entry}

| 이름 | 설명 |
|-|-|
| changesetNumber | 필수 연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| fullNamePath | 필수 노드의 경로 이름입니다. 다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어 `노드의 이름 경로를 정의하려면 testApp/deployables/Development1/cdi1`을 정의하십시오. * 백슬래시 형식: testApp/deployables/Development1/cdi1 주: 노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다. * 백엔드 이름 대체 문자가 있는 경로: testApp deployables Development1 cdi1 * 배열: \['testApp','deployables','Development1','cdi1'\] {#editor-PUT-nodes__cdm_apps-namePath-ul} 데이터 유형: 문자열 |
| 새 이름 | 연결된 노드의 새 이름입니다. 데이터 유형: 문자열 |
| newValue | 연결된 노드의 새 값입니다. 데이터 유형: 문자열 |
| 확실한 | 리프 노드에 대해 값을 암호화해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 암호화됨 * false: 암호화되지 않음 데이터 유형: 부울 기본값: false |
| returnFields | 응답의 일부로 반환할 필드 목록입니다. sys_id, sys_updated_by 또는 state와 같은 기록 열 이름을 전달합니다. 데이터 유형: 배열 기본값: 엔드포인트에 의해 결정된 모든 필드 |
[표 32. 쿼리 매개변수]

{#editor-PUT-nodes__entry__20}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[표 33. 요청 본문 매개변수]

### 헤더

다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 [지원되는 REST API 헤더를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-PUT-nodes__entry__24}{#editor-PUT-nodes__accept-JSON-only-entry-RESTAPI}{#editor-PUT-nodes__content_type-JSON-only-entry-RESTAPI}

| 헤더 | 설명 |
|-|-|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
[표 34. 요청 헤더]

{#editor-PUT-nodes__entry__30}

| 헤더 | 설명 |
|-|-|
| 없음 |   |
[표 35. 응답 헤더]

### 상태 코드

다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 [REST API HTTP 응답 코드를](https://servicenow-prod.fluidtopics.net/JHL64oGR2SkU25ZTkfHy7g "REST(REpresentational State Transfer)는 웹상의 컴퓨터 시스템 간에 표준을 제공하여 서로 보다 쉽게 통신할 수 있게 지원하는 단순한 상태 비저장 아키텍처입니다.") 참조하세요.
{#editor-PUT-nodes__entry__34}{#editor-PUT-nodes__entry-200-status-code}{#editor-PUT-nodes__entry-400-status-code}{#editor-PUT-nodes__entry-500-status-code}

| 상태 코드 | 설명 |
|-|-|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
[표 36. 상태 코드]

### 응답 본문 매개변수

{#editor-PUT-nodes__id_nwg_5jl_c5b__entry__2}{#editor-PUT-nodes__changeset-node-editor-entry}{#editor-PUT-nodes__changeset_link-node-editor-entry}{#editor-PUT-nodes__changeset_value-node-editor-entry}{#editor-PUT-nodes__conflict-node-editor-entry}{#editor-PUT-nodes__conflict_type-node-editor-entry}{#editor-PUT-nodes__description-node-editor-entry}{#editor-PUT-nodes__effective_from-node-editor-entry}{#editor-PUT-nodes__effective_to-node-editor-entry}{#editor-PUT-nodes__level-node-editor-entry}{#editor-PUT-nodes__linked_to-node-editor-entry}{#editor-PUT-nodes__main_id-node-editor-entry}{#editor-PUT-nodes__main_id_encoded-node-editor-entry}{#editor-PUT-nodes__name-node-editor-entry}{#editor-PUT-nodes__node_classifier-node-editor-entry}{#editor-PUT-nodes__name_path-node-editor-entry}{#editor-PUT-nodes__position-node-editor-entry}{#editor-PUT-nodes__previous_version-node-editor-entry}{#editor-PUT-nodes__previous_version_link-node-editor-entry}{#editor-PUT-nodes__previous_version_value-node-editor-entry}{#editor-PUT-nodes__restricted_to-node-editor-entry}{#editor-PUT-nodes__restricted_to_link-node-editor-entry}{#editor-PUT-nodes__restricted_to_value-node-editor-entry}{#editor-PUT-nodes__secure_value-node-editor-entry}{#editor-PUT-nodes__status-node-editor-entry}{#editor-PUT-nodes__system_folder-node-editor-entry}{#editor-PUT-nodes__sys_class_name-node-editor-entry}{#editor-PUT-nodes__sys_created_by-node-editor-entry}{#editor-PUT-nodes__sys_created_on-node-editor-entry}{#editor-PUT-nodes__sys_id-node-editor-entry}{#editor-PUT-nodes__sys_updated_by-node-editor-entry}{#editor-PUT-nodes__sys_updated_on-node-editor-entry}{#editor-PUT-nodes__type-node-editor-entry}{#editor-PUT-nodes__value-node-editor-entry}

| 이름 | 설명 |
|-|-|
| changeset_id | 노드와 연결된 변경 세트 기록의 상세 정보입니다. 데이터 유형: 객체 "changeset_id": { "link": "String", "value": "String" } |
| changeset_id.링크 | 테이블 REST API를 사용하여 이 변경 세트 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| changeset_id.value | 변경 세트 기록의 고유 식별자입니다. CDM 변경 세트 \[sn_cdm_changeset\] 테이블에 있습니다. 데이터 유형: 문자열 |
| 충돌 | 노드를 처리할 때 상충이 있었는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 상충이 탐지되었습니다. * false: 상충이 탐지되지 않았습니다. 데이터 유형: 부울 |
| conflict_type | 매개변수가 conflict true이면 탐지된 상충의 유형입니다. 상충이 탐지되지 않으면 Null입니다. 가능한 값: * corrupted_node * deleted_node * duplicated_node * incomplete_deleted_parent * incomplete_deleted_ref * incomplete_renamed_ref * invalid_include * orphaned_descendant * related_conflict * unlinked_include * unrenamed_include * updated_node 데이터 유형: 문자열 |
| 설명 | 노드의 목적에 대한 간단한 설명입니다. 데이터 유형: 문자열 |
| effective_from | 노드가 변경 세트의 일부로 커밋되었을 때의 타임스탬프(정수(Long)로 변환)입니다. 노드가 커밋되지 않은 경우 이 값은 "null"입니다. 데이터 형식: 정수 |
| effective_to | 노드가 삭제되거나 다른 노드로 대체될 때 노드의 타임스탬프(정수(Long)로 변환)이며, 그렇지 않으면 "null"입니다. 데이터 형식: 정수 |
| 오류 | 처리 중에 오류가 발생한 경우 오류에 대한 상세 정보입니다. 데이터 유형: 객체 "error": { "detail": "String", "message": "String" } |
| 오류.상세 정보 | 오류에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 오류.메시지 | 요청을 처리하는 동안 생성된 오류 메시지입니다. 데이터 유형: 문자열 |
| 수준 | 루트 노드에서 시작하는 노드의 수준으로, 항상 0입니다. 예를 들어, 노드 /AppA/components/compA 에는 두 개의 레벨이 있습니다. 데이터 유형: 문자열 |
| linked_to | main_id 이 노드가 연결되는 참조된 노드의 매개변수입니다. 이 노드가 참조 노드에 연결되지 않은 경우 값은 "null"입니다. 데이터 유형: 문자열 |
| main_id | 노드의 기본 식별자입니다. CdmQuery() 스크립트 포함에서 이 값을 사용하여 JSON 트리를 검색할 수 있습니다. 예: `CdmQuery().mainId('123')/query().getTree();` 데이터 유형: 문자열 |
| main_id_encoded | 노드 매개변수의 main_id RADIX 57 문자열 표현입니다. 데이터 유형: 문자열 |
| 이름 | 노드의 이름입니다. 데이터 유형: 문자열 |
| node_classifier | 노드의 분류 규칙 계층 구조입니다. 다음 정보를 사용하여 폴더 계층 구조 내에서 노드를 찾을 수 있습니다. 예를 들어 배포 가능 항목의 계층 구조는 /application/deployables/env:Development입니다 컬렉션에는 /applications/collections의 계층 구조가 있지만 데이터 유형: 문자열 |
| node_path | 전체 노드 경로 이름입니다. 데이터 유형: 문자열 |
| 위치 | 노드 위치입니다. 예: 다음 배열을 업로드하는 경우: arrayNode1: [ "literal1", {"cdi1": 1}, "literal3" ] 위치 값은 다음과 같이 설정됩니다. * arrayNode1.리터럴1 = 1000 * 어레이노드 1.2000 = 2000 * arrayNode1.리터럴3 = 3000 {#editor-PUT-nodes__ul_ybk_wg2_25b}복합 객체가 배열 아래에 업로드되는 경우(이 경우 `{"cdi1": 1}`) 엔드포인트는 해당 위치와 동일한 이름을 가진 새 가상 노드를 만듭니다. 위의 예에서는 2000입니다. includes의 경우 위치는 항상 비어 있습니다. 데이터 유형: 문자열 |
| previous_version | 노드 기록의 이전 버전에 대한 상세 정보입니다. 주: 새 노드가 생성된 경우 엔드포인트는 이 매개 변수에 대해 `"previous_version" = null` 을 반환합니다. 데이터 유형: 객체 "previous_version": { "link": "String", "value": "String" } |
| previous_version.링크 | 테이블 REST API를 사용하여 이 노드 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| previous_version.value | 노드 기록의 Sys_id입니다. CDM 노드 \[sn_cdm_node\] 테이블에 있습니다. 데이터 유형: 문자열 |
| reason_for_conflict | 상충에 대한 자세한 설명입니다. 데이터 유형: 문자열 |
| restricted_to | 연결된 노드에 액세스할 수 있는 그룹의 상세 정보입니다. 데이터 유형: 객체 "restricted_to": { "link": "String", "value": "String" } |
| restricted_to.링크 | 테이블 REST API를 사용하여 이 그룹 기록을 쿼리하기 위한 호출 구문입니다. 데이터 유형: 문자열 |
| restricted_to.value | 그룹 기록의 Sys_id입니다. CDM 그룹 \[sys_user_group\] 테이블에 있습니다. 데이터 유형: 문자열 |
| secure_value | 이 값이 보안되도록 플래그가 지정된 경우 암호화된 필드(마스킹된 상태로 반환됨). 이 정보의 암호를 해독하려면 사용자에게 sn_cdm.cdm_secrets 역할이 있어야 합니다. 쿼리 매개 변수 필드를 설정하여 이러한 필드를 반환하지 않도록 엔드포인트에 returnFields 지시할 수 있습니다. 데이터 유형: 문자열 |
| 상태 | 노드 상태(Status)입니다. 가능한 값: * 삭제 * 신규 * 대체 * 업데이트 * 유효한 데이터 유형: 문자열 |
| system_folder | 연결된 노드가 시스템 폴더인지 여부를 나타내는 플래그입니다. 가능한 값: * true: 노드가 시스템 폴더입니다. * false: 노드가 시스템 폴더가 아닙니다. 데이터 유형: 부울 |
| sys_class_name | 노드가 상주하는 테이블입니다. 데이터 유형: 문자열 |
| sys_created_by | 노드를 만든 사용자의 이름입니다. 데이터 유형: 문자열 |
| sys_created_on | 노드가 생성된 날짜 및 시간입니다. 데이터 유형: 문자열 형식: yyyy-mm-dd hh:mm:ss |
| sys_id | 노드의 Sys_id입니다. CDM 노드 \[sn_cdm_node\] 테이블에 있습니다. 데이터 유형: 문자열 |
| sys_updated_by | 노드를 업데이트한 사용자의 이름입니다. 데이터 유형: 문자열 |
| sys_updated_on | 노드가 마지막으로 업데이트된 날짜 및 시간입니다. 데이터 유형: 문자열 형식: yyyy-mm-dd hh:mm:ss |
| 유형 | 노드 유형입니다. 가능한 값: * sn_cdm_node_cdi * sn_cdm_node_collection * sn_cdm_node_component * sn_cdm_node_folder * sn_cdm_node_variable 데이터 유형: 문자열 기본값: 모두 |
| 값 | 노드 값입니다. 데이터 유형: 문자열 |
[ ]

{#editor-PUT-nodes__id_nwg_5jl_c5b}  

### cURL 요청

다음 코드 예제에서는 노드 값을 업데이트하는 방법을 보여 줍니다.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/nodes?newValue=cdcdc&fullNamePath=%2FtestApp%2Fdeployables%2FDe
    velopment-1%2Fcdi45&changesetNumber=Chset-5" \
    --request PUT \
    --header "Accept:application/json" \
    --user 'username':'password'

반환 결과:

    { 
      "result": { 
        "changeset_id": { 
          "value": "d403648653b70110a1d3ddeeff7b12c5", 
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5" 
        }, 
        "node_path": "!$!+!,![:", 
        "description": null, 
        "sys_updated_on": "2022-06-30 08:53:13", 
        "type": "sn_cdm_node_cdi", 
        "sys_class_name": "sn_cdm_node", 
        "sys_id": "c93c7c1753981110a1d3ddeeff7b12c7", 
        "sys_updated_by": "admin", 
        "previous_version": null, 
        "sys_created_on": "2022-06-30 08:53:13", 
        "value": null, 
        "effective_from": null, 
        "linked_to": null, 
        "sys_created_by": "admin", 
        "restricted_to": null, 
        "level": "3", 
        "conflict_type": null, 
        "main_id": "2869", 
        "effective_to": null, 
        "secure_value": "﷞﷟﷒113a0c6e53001110a1d3ddeeff7b121d﷬﷔1﷬﷭bAUA1wj-fxofbSrMyF-BAg==6qiho5f_9DhnuHT2Km5SLf0Ck4XNX_w=﷮﷯", 
        "node_classifier": "/application/deployables/env:Development", 
        "main_id_encoded": "[:", 
        "name": "cdi45", 
        "position": null, 
        "reason_for_conflict": null, 
        "system_folder": false, 
        "status": "new", 
        "conflict": false 
      } 
    }


