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


---

# 스크립트 디버거 API

# 스크립트 디버거 API {#ariaid-title1}

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

스크립트 디버거 API는 비즈니스 규칙 및 스크립트 포함과 같은 서버 측 JavaScript 코드 라인을 디버그하기 위한 엔드포인트를 제공합니다.
스크립트 디버거에 대한 자세한 내용은 [스크립트 디버거 및 세션 로그를](https://www.servicenow.com/docs/access?context=script-debugger&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US) 참조하십시오.

이 API는 기본적으로 사용할 수 있습니다.

## 스크립트 디버거 - GET /js/debugpoints/script/{tableName}/{sysId}/{fieldName} {#ariaid-title2}

비즈니스 규칙 또는 스크립트 포함과 같은 서버 측 스크립트에서 중단점 또는 추적점 목록을 검색합니다.

### URL 형식

기본 URL: /api/now/js/debugpoints/script/{tableName}/{sysId}/{fieldName}

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

{#scriptdebugger-GET-debugpoints__entry__2}

| 이름 | 설명 |
|-|-|
| tableName | 서버 측 스크립트가 포함된 테이블의 이름(예: sys_script 또는 sys_script_include)입니다. 데이터 유형: 문자열 |
| sysId | 서버 측 스크립트의 Sys_id입니다. 데이터 유형: 문자열 |
| fieldName | 서버 측 스크립트 내용이 들어 있는 필드의 이름입니다. 데이터 유형: 문자열 |
[표 1. 경로 매개변수]

{#scriptdebugger-GET-debugpoints__entry__10}

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

{#scriptdebugger-GET-debugpoints__entry__14}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[표 3. 요청 본문 매개변수(XML 또는 JSON)]

### 헤더

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

| 헤더 | 설명 |
|-|-|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
[표 4. 요청 헤더]

{#scriptdebugger-GET-debugpoints__entry__22}

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

### 상태 코드

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

| 상태 코드 | 설명 |
|-|-|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 403 | 인증되지 않은 사용자입니다. 요청을 실행한 사용자에게 지정된 기록에 대한 중단점 또는 지점 정보에 액세스할 수 있는 권한이 없습니다. |
[표 6. 상태 코드]

### 응답 본문 매개변수(JSON 또는 XML)

{#scriptdebugger-GET-debugpoints__entry__32}

| 이름 | 설명 |
|-|-|
| canWrite | 현재 로그인한 사용자가 스크립트에 대해 중단점을 설정하거나 수정할 수 있는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 중단점을 설정하거나 수정할 수 있습니다. * false: 중단점을 설정하거나 수정할 수 없습니다. {#scriptdebugger-GET-debugpoints__ul_slg_d55_j4b} 데이터 유형: 부울 |
| 디버그포인트 | 스크립트에 있는 모든 중단점 및 추적점 목록입니다. "debugpoints": { "breakpoint": {Object} "logpoint": {Object} } 데이터 유형: 객체 |
| 디버그포인트.중단점 | 키-값 쌍으로 표시되는 스크립트의 모든 중단점 목록입니다. 키는 중단점의 줄 번호입니다. 값은 중단점의 sys_id과 텍스트를 포함하는 개체입니다. "breakpoint": { <line_number>: {Object} } 데이터 유형: 객체 |
| debugpoints.breakpoint.\<line_number\> | 중단점의 줄 번호입니다. <line_number>: { "evaluationString": "String" "sysId": "String" } 데이터 유형: 객체 |
| debugpoints.breakpoint.\<line_number\>.evaluationString | 중단점의 텍스트입니다. 중단점이 조건부인 경우 evaluationString에는 조건 텍스트가 포함됩니다. 중단점이 조건부가 아닌 경우 evaluationString은 빈 문자열입니다. 데이터 유형: 문자열 |
| debugpoints.breakpoint.\<line_number\>.sysId | 중단점의 Sys_id입니다. 데이터 유형: 문자열 |
| debugpoints.logpoint | 키-값 쌍으로 표시되는 스크립트의 모든 추적점 목록입니다. 키는 logpoint의 줄 번호입니다. 값은 logpoint의 sys_id과 텍스트를 포함하는 객체입니다. "logpoint": { <line_number>: {Object} } 데이터 유형: 객체 |
| debugpoints.logpoint.\<line_number\> | 추적점의 줄 번호입니다. <line_number>: { "evaluationString": "String" "sysId": "String" } 데이터 유형: 객체 |
| debugpoints.logpoint.\<line_number\>.evaluationString | 로그포인트의 텍스트입니다. 기록되는 메시지가 포함되어 있습니다. 데이터 유형: 문자열 |
| debugpoints.logpoint.\<line_number\>.sysId | 로그 지점의 Sys_id입니다. 데이터 유형: 문자열 |
| 키 | 디버깅 중인 스크립트에 대한 상세 정보를 제공하는 객체입니다. "key": { "scriptField": "String" "scriptId": "String" "scriptType": "String" "value": "String" } 데이터 유형: 객체 |
| key.scriptField | 스크립트를 포함하는 필드의 이름입니다. 데이터 유형: 문자열 |
| 키.스크립트 ID | 스크립트의 Sys_id입니다. 데이터 유형: 문자열 |
| key.scriptType | 스크립트를 포함하는 테이블의 이름입니다. 데이터 유형: 문자열 |
| 키.값 | 요청을 수행하는 데 사용되는 경로 매개변수입니다. 다음 순서로 나열됩니다. * tableName * sysId * fieldName {#scriptdebugger-GET-debugpoints__ul_vhk_5w5_j4b} 데이터 유형: 문자열 |
| 이름 | 스크립트의 이름입니다. 데이터 유형: 문자열 |
| 스크립트 | 스크립트의 코드를 표시하는 텍스트입니다. 데이터 유형: 문자열 |
[ ]

### cURL 요청 예 {#scriptdebugger-GET-debugpoints__section_vb2_yny_jlb}

### cURL 요청

서버 측 스크립트에 대한 추적점 및 중단점 목록을 조회합니다. 이 스크립트는 2줄에 추적점, 11줄에 중단점, 18줄에 조건부 중단점이 있습니다.

    curl "https://instance.servicenow.com/api/now/js/debugpoints/script/sys_script_include/d65f78c40a0a0b6900196656f35913d3/script" \
    --request GET \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --user 'username':'password'

    {
      "result": {
        "canWrite": true,
        "debugpoints": {
          "LOGPOINT": {
            "2": {
              "evaluationString": "A log message",
              "sysId": "ba28b0fa739310101c233096fbf6a75e"
            }
          },
          "BREAKPOINT": {
            "11": {
              "evaluationString": "",
              "sysId": "dc5f5bf341256010f877587fbdf5ec1d"
            },
            "18": {
              "evaluationString": "a == true",
              "sysId": "3d4f5bf341256010f877587bdf5ecf6"
            }
          }
        },
        "script": "// script code",
        "name": "AbstractAjaxProcessor",
        "key": {
          "scriptType": "sys_script_include",
          "scriptId": "d65f78c40a0a0b6900196656f35913d3",
          "scriptField": "script",
          "value": "sys_script_include.d65f78c40a0a0b6900196656f35913d3.script"
        }
      }
    }

## 스크립트 디버거 - POST js/debugpoints/process {#ariaid-title3}

비즈니스 규칙 또는 스크립트 포함과 같은 서버 측 스크립트에서 중단점 또는 추적점을 추가, 업데이트 또는 제거합니다. 한 번에 여러 중단점 또는 추적점을 처리합니다.

### URL 형식

기본 URL: /api/now/js/debugpoints/process

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

{#scriptdebugger-POST-debugpoints__entry__2}

| 이름 | 설명 |
|-|-|
| 없음 |   |
[표 7. 경로 매개변수]

{#scriptdebugger-POST-debugpoints__entry__6}

| 이름 | 설명 |
|-|-|
| 페치올 | true이면 사용자가 추가하거나 업데이트한 모든 중단점 또는 추적점의 목록을 반환합니다. 데이터 유형: 부울 기본값: false |
| 페치올필터 | 사용자가 추가하거나 업데이트한 모든 중단점 또는 추적점의 필터링된 목록을 반환합니다. 유효한 값은 다음과 같습니다. * debugpointType입니다. 중단점 또는 로그점으로 설정합니다. * scriptId입니다. 디버그 지점을 검색할 스크립트의 sys_id으로 설정합니다. * 범위. 디버그 지점을 검색할 범위의 이름으로 설정합니다. {#scriptdebugger-POST-debugpoints__ul_mly_xng_l4b} 여러 속성에 대한 구분 기호로 캐럿(\^) 기호를 사용합니다. 예: `fetchAllFilter=debugpointType=logpoint^scope=MyApp` 데이터 유형: 문자열 |
[표 8. 쿼리 매개변수]

{#scriptdebugger-POST-debugpoints__entry__12}

| 이름 | 설명 |
|-|-|
| 디버그포인트타입 | 필수 추가, 삭제 또는 업데이트할 디버그 지점의 유형입니다. 유효한 값은 다음과 같습니다. * 중단점 * Logpoint {#scriptdebugger-POST-debugpoints__ul_jgf_rpg_l4b} 데이터 유형: 문자열 |
| evaluationString (영문) | 로그포인트 또는 조건부 중단점에 대한 텍스트입니다. Logpoint의 경우 는 evaluationString 로그 메시지입니다. 조건부 중단점의 경우 evaluationString 조건입니다. 예를 들어 사용자 ID 목록을 반복하고 사용자 ID가 38493인 경우에만 디버거가 일시 중지되도록 하려면 `userID == 38493` 을 조건으로 사용하여 루프 내에 조건부 중단점을 추가할 수 있습니다. 디버거는 조건이 true인 경우에만 이 중단점에서 일시 중지됩니다. 중단점이 조건부 중단점이 아닌 경우 빈 evaluationString 문자열입니다. 데이터 유형: 문자열 |
| fieldName | 필수 서버 측 스크립트 내용이 들어 있는 필드의 이름입니다. 데이터 유형: 문자열 |
| lineNumber | 중단점 또는 추적점을 추가, 삭제 또는 업데이트할 위치를 지정하는 서버 측 스크립트의 줄 번호입니다. 데이터 유형: 숫자 |
| 운영 | 필수 중단점 또는 추적점에 대해 수행할 작업입니다. 유효한 값은 다음과 같습니다. * add * 삭제 * 업데이트 {#scriptdebugger-POST-debugpoints__ul_yrc_qrg_l4b} 데이터 유형: 문자열 |
| 스크립트 ID | 필수 서버 측 스크립트의 Sys_id입니다. 데이터 유형: 문자열 |
| tableName | 필수 서버 측 스크립트가 포함된 테이블의 이름(예: sys_script 또는 sys_script_include)입니다. 데이터 유형: 문자열 |
[표 9. 요청 본문 매개변수(XML 또는 JSON)]

### 헤더

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

| 헤더 | 설명 |
|-|-|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
[표 10. 요청 헤더]

{#scriptdebugger-POST-debugpoints__entry__34}

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

### 상태 코드

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

| 상태 코드 | 설명 |
|-|-|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
[표 12. 상태 코드]

### 응답 본문 매개변수(JSON 또는 XML)

{#scriptdebugger-POST-debugpoints__entry__42}

| 이름 | 설명 |
|-|-|
| requestedDebugpoints | 요청된 중단점 및 추적점 목록입니다. 개체 배열로 표시됩니다. "requestedDebugpoints": [ { "scriptId": "String", "evaluationString": "String", "operation": "String", "tableName": "String", "fieldName": "String", "status": "String", "lineNumber": Number, "debugpointType": "String" } ] 데이터 유형: 배열 |
| requestedDebugpoints.ScriptId | 서버 측 스크립트의 Sys_id입니다. 데이터 유형: 문자열 |
| requestedDebugpoints.evaluationString | 로그포인트 또는 조건부 중단점에 대해 추가된 텍스트입니다. Logpoint의 경우 는 evaluationString 로그 메시지입니다. 조건부 중단점의 경우 evaluationString 조건입니다. 데이터 유형: 문자열 |
| requestedDebugpoints.operation | 중단점 또는 추적점에 대해 수행된 작업입니다. 가능한 값: * add * 삭제 * 업데이트 {#scriptdebugger-POST-debugpoints__ul_gb4_nhl_l4b} 데이터 유형: 문자열 |
| requestedDebugpoints.tableName | 서버 측 스크립트가 포함된 테이블의 이름(예: sys_script 또는 sys_script_include)입니다. 데이터 유형: 문자열 |
| requestedDebugpoints.fieldName | 서버 측 스크립트 내용이 들어 있는 필드의 이름입니다. 데이터 유형: 문자열 |
| requestedDebugpoints.status | 특정 중단점 또는 추적점을 추가, 삭제 또는 업데이트하라는 명령의 결과입니다. 가능한 값: * 실패 * 무시됨 * 성공 {#scriptdebugger-POST-debugpoints__ul_env_phl_l4b} 디버그 지점을 추가, 삭제 또는 업데이트하는 요청은 다음과 같은 상황에서 무시됩니다. * 존재하지 않는 중단점 또는 추적점을 삭제하도록 요청합니다. * 이미 존재하는 중단점과 동일한 중단점 또는 추적점을 추가하도록 요청합니다. {#scriptdebugger-POST-debugpoints__ul_zyq_cjx_r4b} 데이터 유형: 문자열 |
| requestedDebugpoints.lineNumber | 중단점 또는 추적점이 추가, 삭제 또는 업데이트된 위치를 지정하는 서버 측 스크립트의 줄 번호입니다. 데이터 유형: 숫자 |
| requestedDebugpoints.debugpointType | 추가, 삭제 또는 업데이트된 디버그 지점의 유형입니다. 가능한 값: * 중단점 * Logpoint {#scriptdebugger-POST-debugpoints__ul_j3x_33l_l4b} 데이터 유형: 문자열 |
| 상태 | 전체 작업의 결과입니다. HTTP 호출의 상태 코드입니다. 데이터 유형: 숫자 |
[ ]

### cURL 요청

이 예제에서는 스크립트의 12번째 줄에 조건부 중단점을 추가합니다.

    curl "https://instance.servicenow.com/api/now/js/debugpoints/process" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "[
    {
    \"tableName\": \"sys_script_include\",
    \"scriptId\": \"d65f78c40a0a0b6900196656f35913d3\",
    \"fieldname\": \"script\",
    \"lineNumber\": 12,
    \"evaluationString\": \"a == false\",
    \"debugpointType\": \"breakpoint\",
    \"operation\": \"add\"
    }
    ]" \
    --user 'username':'password'

    {
      "result": {
        "requestedDebugpoints": [
          {
            "scriptId": "d65f78c40a0a0b6900196656f35913d3",
            "evaluationString": "a == false",
            "operation": "add",
            "tableName": "sys_script_include",
            "fieldName": "script",
            "status": "success",
            "lineNumber": 12,
            "debugpointType": "breakpoint"
          }
        ],
        "status": 200
      }
    }


