스크립트 디버거 API
스크립트 디버거 API는 비즈니스 규칙 및 스크립트 포함과 같은 서버 측 JavaScript 코드 라인을 디버그하기 위한 엔드포인트를 제공합니다.
스크립트 디버거에 대한 자세한 내용은 스크립트 디버거 및 세션 로그를 참조하십시오.
이 API는 기본적으로 사용할 수 있습니다.
스크립트 디버거 - GET /js/debugpoints/script/{tableName}/{sysId}/{fieldName}
비즈니스 규칙 또는 스크립트 포함과 같은 서버 측 스크립트에서 중단점 또는 추적점 목록을 검색합니다.
URL 형식
기본 URL: /api/now/js/debugpoints/script/{tableName}/{sysId}/{fieldName}
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| tableName | 서버 측 스크립트가 포함된 테이블의 이름(예: sys_script 또는 sys_script_include)입니다. 데이터 유형: 문자열 |
| sysId | 서버 측 스크립트의 Sys_id입니다. 데이터 유형: 문자열 |
| fieldName | 서버 측 스크립트 내용이 들어 있는 필드의 이름입니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 403 | 인증되지 않은 사용자입니다. 요청을 실행한 사용자에게 지정된 기록에 대한 중단점 또는 지점 정보에 액세스할 수 있는 권한이 없습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| canWrite | 현재 로그인한 사용자가 스크립트에 대해 중단점을 설정하거나 수정할 수 있는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| 디버그포인트 | 스크립트에 있는 모든 중단점 및 추적점 목록입니다.
데이터 유형: 객체 |
| 디버그포인트.중단점 | 키-값 쌍으로 표시되는 스크립트의 모든 중단점 목록입니다. 키는 중단점의 줄 번호입니다. 값은 중단점의 sys_id과 텍스트를 포함하는 개체입니다.
데이터 유형: 객체 |
| debugpoints.breakpoint.<line_number> | 중단점의 줄 번호입니다.
데이터 유형: 객체 |
| debugpoints.breakpoint.<line_number>.evaluationString | 중단점의 텍스트입니다. 중단점이 조건부인 경우 evaluationString에는 조건 텍스트가 포함됩니다. 중단점이 조건부가 아닌 경우 evaluationString은 빈 문자열입니다. 데이터 유형: 문자열 |
| debugpoints.breakpoint.<line_number>.sysId | 중단점의 Sys_id입니다. 데이터 유형: 문자열 |
| debugpoints.logpoint | 키-값 쌍으로 표시되는 스크립트의 모든 추적점 목록입니다. 키는 logpoint의 줄 번호입니다. 값은 logpoint의 sys_id과 텍스트를 포함하는 객체입니다.
데이터 유형: 객체 |
| debugpoints.logpoint.<line_number> | 추적점의 줄 번호입니다.
데이터 유형: 객체 |
| debugpoints.logpoint.<line_number>.evaluationString | 로그포인트의 텍스트입니다. 기록되는 메시지가 포함되어 있습니다. 데이터 유형: 문자열 |
| debugpoints.logpoint.<line_number>.sysId | 로그 지점의 Sys_id입니다. 데이터 유형: 문자열 |
| 키 | 디버깅 중인 스크립트에 대한 상세 정보를 제공하는 객체입니다.
데이터 유형: 객체 |
| key.scriptField | 스크립트를 포함하는 필드의 이름입니다. 데이터 유형: 문자열 |
| 키.스크립트 ID | 스크립트의 Sys_id입니다. 데이터 유형: 문자열 |
| key.scriptType | 스크립트를 포함하는 테이블의 이름입니다. 데이터 유형: 문자열 |
| 키.값 | 요청을 수행하는 데 사용되는 경로 매개변수입니다. 다음 순서로 나열됩니다.
데이터 유형: 문자열 |
| 이름 | 스크립트의 이름입니다. 데이터 유형: 문자열 |
| 스크립트 | 스크립트의 코드를 표시하는 텍스트입니다. 데이터 유형: 문자열 |
cURL 요청 예
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
비즈니스 규칙 또는 스크립트 포함과 같은 서버 측 스크립트에서 중단점 또는 추적점을 추가, 업데이트 또는 제거합니다. 한 번에 여러 중단점 또는 추적점을 처리합니다.
URL 형식
기본 URL: /api/now/js/debugpoints/process
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 페치올 | true이면 사용자가 추가하거나 업데이트한 모든 중단점 또는 추적점의 목록을 반환합니다. 데이터 유형: 부울 기본값: false |
| 페치올필터 | 사용자가 추가하거나 업데이트한 모든 중단점 또는 추적점의 필터링된 목록을 반환합니다. 유효한 값은 다음과 같습니다.
여러 속성에 대한 구분 기호로 캐럿(^) 기호를 사용합니다. 예: 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 디버그포인트타입 | 필수 추가, 삭제 또는 업데이트할 디버그 지점의 유형입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| evaluationString (영문) | 로그포인트 또는 조건부 중단점에 대한 텍스트입니다. Logpoint의 경우 는 evaluationString 로그 메시지입니다. 조건부 중단점의 경우 evaluationString 조건입니다. 예를 들어 사용자 ID 목록을 반복하고 사용자 ID가 38493인 경우에만 디버거가 일시 중지되도록 하려면 중단점이 조건부 중단점이 아닌 경우 빈 evaluationString 문자열입니다. 데이터 유형: 문자열 |
| fieldName | 필수 서버 측 스크립트 내용이 들어 있는 필드의 이름입니다. 데이터 유형: 문자열 |
| lineNumber | 중단점 또는 추적점을 추가, 삭제 또는 업데이트할 위치를 지정하는 서버 측 스크립트의 줄 번호입니다. 데이터 유형: 숫자 |
| 운영 | 필수 중단점 또는 추적점에 대해 수행할 작업입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| 스크립트 ID | 필수 서버 측 스크립트의 Sys_id입니다. 데이터 유형: 문자열 |
| tableName | 필수 서버 측 스크립트가 포함된 테이블의 이름(예: sys_script 또는 sys_script_include)입니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다. 기본값: application/json |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
응답 본문 매개변수(JSON 또는 XML)
| 이름 | 설명 |
|---|---|
| requestedDebugpoints | 요청된 중단점 및 추적점 목록입니다. 개체 배열로 표시됩니다.
데이터 유형: 배열 |
| requestedDebugpoints.ScriptId | 서버 측 스크립트의 Sys_id입니다. 데이터 유형: 문자열 |
| requestedDebugpoints.evaluationString | 로그포인트 또는 조건부 중단점에 대해 추가된 텍스트입니다. Logpoint의 경우 는 evaluationString 로그 메시지입니다. 조건부 중단점의 경우 evaluationString 조건입니다. 데이터 유형: 문자열 |
| requestedDebugpoints.operation | 중단점 또는 추적점에 대해 수행된 작업입니다. 가능한 값:
데이터 유형: 문자열 |
| requestedDebugpoints.tableName | 서버 측 스크립트가 포함된 테이블의 이름(예: sys_script 또는 sys_script_include)입니다. 데이터 유형: 문자열 |
| requestedDebugpoints.fieldName | 서버 측 스크립트 내용이 들어 있는 필드의 이름입니다. 데이터 유형: 문자열 |
| requestedDebugpoints.status | 특정 중단점 또는 추적점을 추가, 삭제 또는 업데이트하라는 명령의 결과입니다. 가능한 값:
디버그 지점을 추가, 삭제 또는 업데이트하는 요청은 다음과 같은 상황에서 무시됩니다.
데이터 유형: 문자열 |
| requestedDebugpoints.lineNumber | 중단점 또는 추적점이 추가, 삭제 또는 업데이트된 위치를 지정하는 서버 측 스크립트의 줄 번호입니다. 데이터 유형: 숫자 |
| requestedDebugpoints.debugpointType | 추가, 삭제 또는 업데이트된 디버그 지점의 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| 상태 | 전체 작업의 결과입니다. 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
}
}