CdmEditorApi (영문)

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 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 삭제

    지정된 노드를 삭제합니다.

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

    URL 형식

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

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

    지원되는 요청 매개변수

    표 1. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 2. 쿼리 매개변수
    이름 설명
    changesetNumber 필수
    연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 [sn_cdm_changeset] 테이블에 있습니다.

    데이터 유형: 문자열

    fullNamePath 필수 삭제할 노드의 경로 이름입니다.
    다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어 testApp/deployables/Development1/cdi1 노드를 삭제하려면 다음을 수행합니다.
    • 백슬래시 형식: testApp/deployables/Development1/cdi1
      주:
      노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다.
    • 백엔드 이름 대체 문자가 있는 경로: testApp deployables Development1 cdi1
    • 배열: ['testApp','deployables','Development1','cdi1']

    데이터 유형: 문자열

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

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

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

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

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

    응답 본문 매개변수

    이름 설명
    없음

    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

    지정된 노드 경로 내에 포함된 노드 목록을 반환합니다.

    이 엔드포인트의 호출자는 CDM 뷰어 역할을 가지고 있어야 합니다.

    URL 형식

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

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

    지원되는 요청 매개변수

    표 7. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 8. 쿼리 매개변수
    이름 설명
    없음
    표 9. 요청 본문 매개변수
    이름 설명
    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']

    데이터 유형: 문자열

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

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

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

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

    응답 본문 매개변수

    이름 설명
    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
    복합 객체가 배열 아래에 업로드되는 경우(이 경우 {"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

    데이터 유형: 문자열

    노드 값입니다.

    데이터 유형: 문자열

    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

    지정된 노드의 상세 정보 또는 지정된 상위 노드의 하위 구성 데이터 관리 노드(CDM) 목록을 반환합니다.

    이 엔드포인트의 호출자는 CDM 뷰어 역할을 가지고 있어야 합니다.

    URL 형식

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

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

    지원되는 요청 매개변수

    표 13. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 14. 쿼리 매개변수
    이름 설명
    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 변수

    데이터 유형: 문자열

    기본값: 모두

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

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

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

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

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

    응답 본문 매개변수

    이름 설명
    changeset_id 노드와 연결된 변경 세트 기록의 상세 정보입니다.

    데이터 유형: 객체

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    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
    복합 객체가 배열 아래에 업로드되는 경우(이 경우 {"cdi1": 1}) 엔드포인트는 해당 위치와 동일한 이름을 가진 새 가상 노드를 만듭니다. 위의 예에서는 2000입니다. includes의 경우 위치는 항상 비어 있습니다.

    데이터 유형: 문자열

    previous_version 노드 기록의 이전 버전에 대한 상세 정보입니다.
    주:
    새 노드가 생성된 경우 엔드포인트는 이 매개 변수에 대해 "previous_version" = null 을 반환합니다.

    데이터 유형: 객체

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    previous_version.value 노드 기록의 Sys_id입니다. CDM 노드 [sn_cdm_node] 테이블에 있습니다.

    데이터 유형: 문자열

    reason_for_conflict 상충에 대한 자세한 설명입니다.

    데이터 유형: 문자열

    restricted_to 연결된 노드에 액세스할 수 있는 그룹의 상세 정보입니다.

    데이터 유형: 객체

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    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

    데이터 유형: 문자열

    기본값: 모두

    노드 값입니다.

    데이터 유형: 문자열

    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

    구성요소 노드를 수집 노드에 포함하거나 수집 노드를 배포 가능 노드에 포함하는 등 기존 노드를 다른 노드에 포함합니다. 노드를 포함하면 새 노드에는 고유한 sys_id와 main_Id 있습니다.

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

    URL 형식

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

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

    지원되는 요청 매개변수

    표 19. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 20. 쿼리 매개변수
    이름 설명
    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']

    데이터 유형: 문자열

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

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

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

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

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

    응답 본문 매개변수

    이름 설명
    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
    복합 객체가 배열 아래에 업로드되는 경우(이 경우 {"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

    데이터 유형: 문자열

    노드 값입니다.

    데이터 유형: 문자열

    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

    구성요소, 컬렉션, 폴더, CDI(구성 데이터 항목) 또는 변수와 같은 특정 유형의 노드를 생성합니다.

    현재 정의되지 않은 상위 노드를 자동으로 생성할지 여부도 지정할 수 있습니다.

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

    URL 형식

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

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

    지원되는 요청 매개변수

    표 25. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 26. 쿼리 매개변수
    이름 설명
    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']

    데이터 유형: 문자열

    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"과 동일

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

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

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

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

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

    응답 본문 매개변수

    이름 설명
    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
    복합 객체가 배열 아래에 업로드되는 경우(이 경우 {"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

    데이터 유형: 문자열

    기본값: 모두

    노드 값입니다.

    데이터 유형: 문자열

    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

    지정된 노드의 이름 및/또는 값을 업데이트합니다.

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

    URL 형식

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

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

    지원되는 요청 매개변수

    표 31. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 32. 쿼리 매개변수
    이름 설명
    changesetNumber 필수
    연결된 변경 세트의 고유 식별자(예: "Chset-10"). CDM 변경 세트 [sn_cdm_changeset] 테이블에 있습니다.

    데이터 유형: 문자열

    fullNamePath 필수 노드의 경로 이름입니다.
    다음 형식 중 하나로 이름 경로를 전달할 수 있습니다. 예를 들어 노드의 이름 경로를 정의하려면 testApp/deployables/Development1/cdi1을 정의하십시오.
    • 백슬래시 형식: testApp/deployables/Development1/cdi1
      주:
      노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다.
    • 백엔드 이름 대체 문자가 있는 경로: testApp deployables Development1 cdi1
    • 배열: ['testApp','deployables','Development1','cdi1']

    데이터 유형: 문자열

    새 이름 연결된 노드의 새 이름입니다.

    데이터 유형: 문자열

    newValue 연결된 노드의 새 값입니다.

    데이터 유형: 문자열

    확실한 리프 노드에 대해 값을 암호화해야 하는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 암호화됨
    • false: 암호화되지 않음

    데이터 유형: 부울

    기본값: false

    returnFields 응답의 일부로 반환할 필드 목록입니다. sys_id, sys_updated_by 또는 state와 같은 기록 열 이름을 전달합니다.

    데이터 유형: 배열

    기본값: 엔드포인트에 의해 결정된 모든 필드

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

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

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

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

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

    응답 본문 매개변수

    이름 설명
    changeset_id 노드와 연결된 변경 세트 기록의 상세 정보입니다.

    데이터 유형: 객체

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    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
    복합 객체가 배열 아래에 업로드되는 경우(이 경우 {"cdi1": 1}) 엔드포인트는 해당 위치와 동일한 이름을 가진 새 가상 노드를 만듭니다. 위의 예에서는 2000입니다. includes의 경우 위치는 항상 비어 있습니다.

    데이터 유형: 문자열

    previous_version 노드 기록의 이전 버전에 대한 상세 정보입니다.
    주:
    새 노드가 생성된 경우 엔드포인트는 이 매개 변수에 대해 "previous_version" = null 을 반환합니다.

    데이터 유형: 객체

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    previous_version.value 노드 기록의 Sys_id입니다. CDM 노드 [sn_cdm_node] 테이블에 있습니다.

    데이터 유형: 문자열

    reason_for_conflict 상충에 대한 자세한 설명입니다.

    데이터 유형: 문자열

    restricted_to 연결된 노드에 액세스할 수 있는 그룹의 상세 정보입니다.

    데이터 유형: 객체

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    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

    데이터 유형: 문자열

    기본값: 모두

    노드 값입니다.

    데이터 유형: 문자열

    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 
      } 
    }