CdmEditorApi

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

    표 2. 쿼리 매개변수
    이름 설명
    changesetNumber 필수
    연결된 변경 세트의 고유 식별자입니다(예: "Chset-10").

    데이터 유형: 문자열

    테이블: CDM 변경 세트 [sn_cdm_changeset]

    fullNamePath 필수 삭제할 노드의 경로 이름입니다.
    이름 경로는 다음 형식 중 하나로 전달할 수 있습니다. 예를 들어 다음 노드 testApp/deployables/Development1/cdi1을 삭제하려면 다음을 수행합니다.
    • 백슬래시 형식: testApp/deployables/Development1/cdi1
      주:
      노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다.
    • 대체 문자가 있는 백엔드 이름 경로: testApp 배포 가능 항목 개발1 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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

    표 8. 쿼리 매개변수
    이름 설명
    안 함
    표 9. 요청 본문 매개변수
    이름 설명
    changesetNumber
    연결된 변경 세트의 고유 식별자입니다(예: "Chset-10").

    데이터 유형: 문자열

    테이블: CDM 변경 세트 [sn_cdm_changeset]

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

    데이터 유형: 배열

    기본값: 엔드포인트에서 결정한 모든 필드

    sourceFullNamePath 필수 포함된 노드를 반환할 소스 노드의 경로 이름입니다.
    이름 경로는 다음 형식 중 하나로 전달할 수 있습니다. 예를 들어 testApp/collections 디렉터리의 collectionA 노드에 대한 포함을 반환하려면 다음을 수행합니다.
    • 백슬래시 형식: testApp/collections/collectionA
      주:
      노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다.
    • 대체 문자가 있는 백엔드 이름 경로: testApp collections 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.literal1 = 1000
    • 어레이노드1.2000 = 2000
    • arrayNode1.literal3 = 3000
    복잡한 개체가 배열 아래에 업로드되는 경우(이 경우 {"cdi1": 1}) 엔드포인트는 해당 위치와 동일한 이름으로 새 가상 노드를 만듭니다. 위의 예에서 이것은 2000입니다. 포함의 경우 위치는 항상 비어 있습니다.

    데이터 유형: 문자열

    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에서 포함을 검색하는 방법을 보여 줍니다.

    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/편집기/노드

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

    이 엔드포인트의 호출자에게는 CDM 뷰어 역할이 있어야 합니다.

    URL 형식

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

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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

    표 14. 쿼리 매개변수
    이름 설명
    changesetNumber
    연결된 변경 세트의 고유 식별자입니다(예: "Chset-10").

    데이터 유형: 문자열

    테이블: CDM 변경 세트 [sn_cdm_changeset]

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

    데이터 유형: 부울

    기본값: false

    이름 노드 이름입니다. 이 매개변수를 전달하면 지정된 노드에 대한 결과만 리턴됩니다.

    데이터 유형: 문자열

    기본값: 상위 노드 내의 모든 노드

    parentFullName경로 필수 하위 노드를 반환하거나 매개변수에 name 지정된 노드가 상주하는 상위 노드의 경로 이름입니다.
    이름 경로는 다음 형식 중 하나로 전달할 수 있습니다. 예를 들어 testApp/collections 디렉터리에 있는 collectionA 노드에 대한 노드를 반환하려면 다음을 수행합니다.
    • 백슬래시 형식: testApp/collections/collectionA
      주:
      노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다.
    • 대체 문자가 있는 백엔드 이름 경로: testApp collections collectionA
    • 배열: ['testApp','collections','collectionA']

    데이터 유형: 문자열

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

    데이터 유형: 배열

    기본값: 엔드포인트에서 결정한 모든 필드

    유형
    노드 유형입니다.
    가능한 값:
    • sn_cdm_node_cdi 또는 cdi
    • sn_cdm_node_collection OR 컬렉션
    • sn_cdm_node_component OR 구성요소
    • sn_cdm_node_folder 또는 폴더
    • 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.값 변경 세트 기록의 고유 식별자입니다.

    데이터 유형: 문자열

    테이블: 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.literal1 = 1000
    • 어레이노드1.2000 = 2000
    • arrayNode1.literal3 = 3000
    복잡한 개체가 배열 아래에 업로드되는 경우(이 경우 {"cdi1": 1}) 엔드포인트는 해당 위치와 동일한 이름으로 새 가상 노드를 만듭니다. 위의 예에서 이것은 2000입니다. 포함의 경우 위치는 항상 비어 있습니다.

    데이터 유형: 문자열

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

    데이터 유형: 객체

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    previous_version.값 노드 기록의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: CDM 노드 [sn_cdm_node]

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

    데이터 유형: 문자열

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

    데이터 유형: 객체

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    restricted_to.값 그룹 기록의 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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

    표 20. 쿼리 매개변수
    이름 설명
    changesetNumber 필수 대상 노드에 포함할 오픈 변경 세트의 고유 번호입니다.

    데이터 유형: 문자열

    테이블: CDM 변경 세트 [sn_cdm_changeset]

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

    데이터 유형: 배열

    기본값: 엔드포인트에서 결정한 모든 필드

    sourceFullNamePath 필수 대상 노드에 포함할 노드의 경로 이름입니다.
    이름 경로는 다음 형식 중 하나로 전달할 수 있습니다. 예를 들어 다음 노드를 Staging/deployables/Development1/cdi1 포함시킵니다.
    • 백슬래시 형식: Staging/deployables/Development1/cdi1
      주:
      노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다.
    • 대체 문자가 있는 백엔드 이름 경로: 배포 가능 항목 스테이징 개발1 cdi1
    • 배열: ['스테이징','배포 가능','개발1','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.literal1 = 1000
    • 어레이노드1.2000 = 2000
    • arrayNode1.literal3 = 3000
    복잡한 개체가 배열 아래에 업로드되는 경우(이 경우 {"cdi1": 1}) 엔드포인트는 해당 위치와 동일한 이름으로 새 가상 노드를 만듭니다. 위의 예에서 이것은 2000입니다. 포함의 경우 위치는 항상 비어 있습니다.

    데이터 유형: 문자열

    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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

    표 26. 쿼리 매개변수
    이름 설명
    autoCreate부모 이름 경로에 존재하지 않는 상위 항목을 구성요소로 자동 생성할지 여부를 나타내는 플래그입니다. 이에 대한 예외는 앱, 배포 가능 항목 및 컬렉션입니다. 이 플래그를 설정하지 않고 부모가 아직 없으면 끝점이 실패합니다.
    유효한 값은 다음과 같습니다.
    • true: 존재하지 않는 상위 항목을 자동으로 만듭니다.
    • false: 존재하지 않는 부모를 자동으로 만들지 않습니다.

    데이터 유형: 부울

    기본값: false

    changesetNumber 필수
    연결된 변경 세트의 고유 식별자입니다(예: "Chset-10").

    데이터 유형: 문자열

    테이블: CDM 변경 세트 [sn_cdm_changeset]

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

    데이터 유형: 문자열

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

    데이터 유형: 배열

    기본값: 엔드포인트에서 결정한 모든 필드

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

    데이터 유형: 부울

    기본값: false

    유형 필수 새 노드의 유형입니다.
    유효한 값은 다음과 같습니다.
    • sn_cdm_node_collection OR 컬렉션
    • sn_cdm_node_component OR 구성요소
    • sn_cdm_node_folder 또는 폴더
    • 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.값 변경 세트 기록의 고유 식별자입니다.

    데이터 유형: 문자열

    테이블: 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.literal1 = 1000
    • 어레이노드1.2000 = 2000
    • arrayNode1.literal3 = 3000
    복잡한 개체가 배열 아래에 업로드되는 경우(이 경우 {"cdi1": 1}) 엔드포인트는 해당 위치와 동일한 이름으로 새 가상 노드를 만듭니다. 위의 예에서 이것은 2000입니다. 포함의 경우 위치는 항상 비어 있습니다.

    데이터 유형: 문자열

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

    데이터 유형: 객체

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    previous_version.링크 테이블 REST API를 사용하여 이 노드 기록을 쿼리하기 위한 호출 구문입니다.

    데이터 유형: 문자열

    previous_version.값 노드 기록의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: CDM 노드 [sn_cdm_node]

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

    데이터 유형: 문자열

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

    데이터 유형: 객체

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    restricted_to.link 테이블 REST API를 사용하여 이 그룹 기록을 쿼리하기 위한 호출 구문입니다.

    데이터 유형: 문자열

    restricted_to.값 그룹 기록의 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

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

    표 32. 쿼리 매개변수
    이름 설명
    changesetNumber 필수
    연결된 변경 세트의 고유 식별자입니다(예: "Chset-10").

    데이터 유형: 문자열

    테이블: CDM 변경 세트 [sn_cdm_changeset]

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

    데이터 유형: 문자열

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

    데이터 유형: 문자열

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

    데이터 유형: 문자열

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

    데이터 유형: 부울

    기본값: false

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

    데이터 유형: 배열

    기본값: 엔드포인트에서 결정한 모든 필드

    표 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.값 변경 세트 기록의 고유 식별자입니다.

    데이터 유형: 문자열

    테이블: 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.literal1 = 1000
    • 어레이노드1.2000 = 2000
    • arrayNode1.literal3 = 3000
    복잡한 개체가 배열 아래에 업로드되는 경우(이 경우 {"cdi1": 1}) 엔드포인트는 해당 위치와 동일한 이름으로 새 가상 노드를 만듭니다. 위의 예에서 이것은 2000입니다. 포함의 경우 위치는 항상 비어 있습니다.

    데이터 유형: 문자열

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

    데이터 유형: 객체

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    previous_version.값 노드 기록의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: CDM 노드 [sn_cdm_node]

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

    데이터 유형: 문자열

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

    데이터 유형: 객체

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    restricted_to.값 그룹 기록의 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 
      } 
    }