スクリプトデバッガー 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 | 現在ログインしているユーザーがスクリプトのブレークポイントを設定または変更できるかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| debugpoints | スクリプト内のすべてのブレークポイントとログポイントのリスト。
データタイプ:オブジェクト |
| debugpoints.breakpoint | スクリプト内のすべてのブレークポイントのリスト。キーと値のペアとして表示されます。キーはブレークポイントの行番号です。値は、ブレークポイントの sys_id とテキストを含むオブジェクトです。
データタイプ:オブジェクト |
| debugpoints.breakpoint.<line_number> | ブレークポイントの行番号。
データタイプ:オブジェクト |
| debugpoints.breakpoint.<line_number>.evaluationString | ブレークポイントのテキスト。ブレークポイントが条件付きの場合、evaluationString に条件テキストが含まれます。ブレークポイントが条件付きでない場合、evaluationString は空の文字列です。 データタイプ:文字列 |
| debugpoints.breakpoint.<line_number>.sysId | ブレークポイントの sys_id。 データタイプ:文字列 |
| debugpoints.logpoint | スクリプト内のすべてのログポイントのリスト。キーと値のペアとして表示されます。キーはログポイントの行番号です。値は、ログポイントの sys_id とテキストを含むオブジェクトです。
データタイプ:オブジェクト |
| debugpoints.logpoint.<line_number> | ログポイントの行番号。
データタイプ:オブジェクト |
| debugpoints.logpoint.<line_number>.evaluationString | ログポイントのテキスト。ログに記録されるメッセージが含まれます。 データタイプ:文字列 |
| debugpoints.logpoint.<line_number>.sysId | ログポイントの sys_id。 データタイプ:文字列 |
| key | デバッグされるスクリプトの詳細を提供するオブジェクト。
データタイプ:オブジェクト |
| key.scriptField | スクリプトを含むフィールドの名前。 データタイプ:文字列 |
| key.scriptId | スクリプトの sys_id。 データタイプ:文字列 |
| key.scriptType | スクリプトを含むテーブルの名前。 データタイプ:文字列 |
| key.value | 要求を行うために使用されるパスパラメーター。次の順序でリストされます。
データタイプ:文字列 |
| name | スクリプトの名前 データタイプ:文字列 |
| script | スクリプトのコードを表示するテキスト。 データタイプ:文字列 |
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
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| fetchAll | true の場合、ユーザーが追加または更新したすべてのブレークポイントまたはログポイントのリストを返します。 データタイプ:ブーリアン デフォルト値:false |
| fetchAllFilter | ユーザーが追加または更新したすべてのブレークポイントまたはログポイントのフィルター済みリストを返します。 有効な値:
複数のプロパティのセパレーターとしてキャレット (^) 記号を使用します。例: データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| debugpointType | 必須です。追加、削除、または更新するデバッグポイントのタイプ。 有効な値:
データタイプ:文字列 |
| evaluationString | ログポイントまたは条件付きブレークポイントのテキスト。 ログポイントの場合、evaluationString はログメッセージです。 条件付きブレークポイントの場合、evaluationString は条件です。たとえば、ユーザー ID のリストをループしていて、ユーザー ID が 38493 の場合にのみデバッガーを一時停止する場合は、 ブレークポイントが条件付きブレークポイントでない場合、evaluationString は空の文字列です。 データタイプ:文字列 |
| fieldName | 必須です。サーバー側スクリプトのコンテンツを含むフィールドの名前。 データタイプ:文字列 |
| lineNumber | ブレークポイントまたはログポイントを追加、削除、または更新する場所を指定するサーバー側スクリプトの行番号。 データタイプ:数値 |
| operation | 必須です。ブレークポイントまたはログポイントに対して実行する操作。 有効な値:
データタイプ:文字列 |
| scriptId | 必須です。サーバー側スクリプトの sys_id。 データタイプ:文字列 |
| tableName | 必須です。sys_script や sys_script_include などのサーバー側スクリプトを含むテーブルの名前。 データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| Content-Type | 要求本文のデータ形式。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| requestedDebugpoints | 要求されたブレークポイントとログポイントのリスト。オブジェクトのアレイとして表示されます。
データタイプ:アレイ |
| requestedDebugpoints.ScriptId | サーバー側スクリプトの sys_id。 データタイプ:文字列 |
| requestedDebugpoints.evaluationString | ログポイントまたは条件付きブレークポイント用に追加されたテキスト。ログポイントの場合、evaluationString はログメッセージです。条件付きブレークポイントの場合、evaluationString は条件です。 データタイプ:文字列 |
| requestedDebugpoints.operation | ブレークポイントまたはログポイントに対して実行された操作。 可能な値:
データタイプ:文字列 |
| requestedDebugpoints.tableName | sys_script や sys_script_include などのサーバー側スクリプトを含むテーブルの名前。 データタイプ:文字列 |
| requestedDebugpoints.fieldName | サーバー側スクリプトのコンテンツを含むフィールドの名前。 データタイプ:文字列 |
| requestedDebugpoints.status | 特定のブレークポイントまたはログポイントを追加、削除、または更新する指示の結果。 可能な値:
デバッグポイントを追加、削除、または更新する要求は、次の状況では無視されます。
データタイプ:文字列 |
| requestedDebugpoints.lineNumber | ブレークポイントまたはログポイントが追加、削除、または更新された場所を指定するサーバー側スクリプトの行番号。 データタイプ:数値 |
| requestedDebugpoints.debugpointType | 追加、削除、または更新されたデバッグポイントのタイプ。 可能な値:
データタイプ:文字列 |
| status | 全体的なアクションの結果。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
}
}