CdmEditorApi
CdmEditorApi は、ノードの作成、ノードの更新、他のノードへの既存のノードのインクルード、ノードの削除、ノードとノードインクルードの取得を可能にするエンドポイントを提供します。
- スクリプト化された REST CDM ビュー ACL (sn_cdm.cdm.viewer)
- スクリプト化された REST CDM エディター ACL (sn_cdm.cdm_editor)
暗号化されたフィールドを表示するには、CDM シークレットロールが必要です。
また、この API をインスタンスで使用するには、構成データ管理 (CDM) プラグインを有効にする必要があります。
CdmEditorApi - DELETE /sn_cdm/editor/nodes
指定されたノードを削除します。
このエンドポイントの呼び出し元には、CDM エディターロールが必要です。
URL 形式
バージョニングされた URL:/api/sn_cdm/{api_version}/editor/nodes
デフォルトの URL:/api/sn_cdm/editor/nodes
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| changesetNumber | 必須。 関連付けられた変更セットの一意の識別子 (「Chset-10」など)。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| fullNamePath | 必須です。削除するノードのパス名。 名前パスは、次のいずれかの形式で渡すことができます。たとえば、 次のノード testApp/deployables/Development1/cdi1 を削除するには、次のようにします。
データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 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
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| changesetNumber | 関連付けられた変更セットの一意の識別子 (「Chset-10」など)。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| returnFields | 応答の一部として返すフィールドのリスト。sys_id、sys_updated_by、state などのレコード列名を渡します。 データタイプ:アレイ デフォルト:エンドポイントによって決定されるすべてのフィールド |
| sourceFullNamePath | 必須です。含まれているノードを返すソースノードのパス名。 名前パスは、次のいずれかの形式で渡すことができます。たとえば、testApp/collections ディレクトリ内の collectionA ノードのインクルードを返すには、次のようにします。
データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター
| 名前 | 説明 |
|---|---|
| changeset_id | 関連付けられた変更セットの一意の識別子 (「Chset-10」など)。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| conflict | ノードの処理中に競合が発生したかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| conflict_type | conflict パラメーターが true の場合、検出された競合のタイプ。競合が検出されない場合は null です。 可能な値:
データタイプ:文字列 |
| 説明 | ノードの目的の簡単な説明。 データタイプ:文字列 |
| effective_from | ノードが変更セットの一部としてコミットされたときのタイムスタンプ (長整数に変換)。ノードがコミットされていない場合、この値は「null」です。 データタイプ:整数 |
| effective_to | 削除された、または別のノードによって置き換えられたときのノードのタイムスタンプ (長整数に変換)。それ以外の場合は「null」です。 データタイプ:整数 |
| error | 処理中にエラーが発生した場合は、エラーに関する詳細。 データタイプ:オブジェクト |
| error.detail | エラーに関する追加情報。 データタイプ:文字列 |
| error.message | 要求の処理を試行中に生成されたエラーメッセージ。 データタイプ:文字列 |
| レベル | ルートノードから始まるノードのレベル。常に 0 です。たとえば、ノード /AppA/components/compA には 2 つのレベルがあります。 データタイプ:文字列 |
| linked_to | このノードがリンクされている参照ノードの main_id パラメーター。 このノードが参照ノードにリンクされていない場合、値は「null」です。 データタイプ:文字列 |
| main_id | ノードのプライマリ識別子。この値を CdmQuery() スクリプトインクルードで使用して、JSON ツリーを取得できます。例: CdmQuery().mainId('123')/query().getTree(); データタイプ:文字列 |
| main_id_encoded | ノードの main_id パラメーターの RADIX 57 文字列表現。 データタイプ:文字列 |
| name | ターゲットパスに含まれていたノードの名前。 データタイプ:文字列 |
| node_classifier | ノードの分類子の階層。この情報を使用して、フォルダー階層内のノードを検索します。 たとえば、展開可能項目には /application/deployables/env:Development の階層があります コレクションには /applications/collections の階層がありますが、 データタイプ:文字列 |
| node_path | ターゲットパスに含まれていたノードの完全パス名 (/Production/deployables/Development1/cdi1 など)。 データタイプ:文字列 |
| 位置 | ノード位置。 例:次のアレイをアップロードする場合: 位置の値は次のように設定されます。
{"cdi1": 1}) でアップロードされると、エンドポイントはその位置に等しい名前で新しい仮想ノードを作成します。上記の例では、これは 2000 です。インクルードの場合、位置は常に空です。データタイプ:文字列 |
| previous_version | ノードレコードの以前のバージョンの詳細。 注: 新しいノードが作成された場合、エンドポイントはこのパラメーターに対して "previous_version" = null を返します。データタイプ:オブジェクト |
| restricted_to | 関連付けられたノードにアクセスできるグループの詳細。 データタイプ:オブジェクト |
| secure_value | この値に保護のフラグが付けられている場合は、暗号化されたフィールド (マスク済み) が返されます。 この情報を復号化するには、sn_cdm.cdm_secrets ロールが必要です。returnFields クエリパラメーターフィールドを設定することで、これらのフィールドを返さないようにエンドポイントに指示できます。 データタイプ:文字列 |
| status | ノードステータス。 可能な値:
データタイプ:文字列 |
| sys_id | ノードの sys_id。CDM ノード [sn_cdm_node] テーブルにあります。 データタイプ:文字列 |
| system_folder | 関連付けられたノードがシステムフォルダーかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| type | ノードタイプ。 可能な値:
データタイプ:文字列 |
| value | ノード値。 データタイプ:文字列 |
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/editor/nodes
指定されたノードの詳細、または指定された親ノードの子 構成データ管理 (CDM) ノードのリストを返します。
このエンドポイントの呼び出し元には、CDM ビューアーロールが必要です。
URL 形式
バージョニングされた URL:/api/sn_cdm/{api_version}/editor/nodes
デフォルトの URL:/api/sn_cdm/editor/nodes
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| changesetNumber | 関連付けられた変更セットの一意の識別子 (「Chset-10」など)。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| decryptPassword | リーフノードの値を暗号化するかどうかを示すフラグ。 有効な値:
データタイプ:ブール デフォルト値:false |
| name | ノード名。このパラメーターを渡すと、指定されたノードの結果のみが返されます。 データタイプ:文字列 デフォルト:親ノード内のすべてのノード |
| parentFullNamePath | 必須です。子ノードを返す親ノード、または name パラメーターで指定されたノードが存在する親ノードのパス名。 名前パスは、次のいずれかの形式で渡すことができます。たとえば、testApp/collections ディレクトリ内の collectionA ノードのノードを返すには、次のようにします。
データタイプ:文字列 |
| returnFields | 応答の一部として返すフィールドのリスト。sys_id、sys_updated_by、state などのレコード列名を渡します。 データタイプ:アレイ デフォルト:エンドポイントによって決定されるすべてのフィールド |
| type | ノードタイプ。
可能な値:
データタイプ:文字列 デフォルト:すべて |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター
| 名前 | 説明 |
|---|---|
| changeset_id | ノードに関連付けられた変更セットレコードの詳細。 データタイプ:オブジェクト |
| changeset_id.link | テーブル REST API を使用してこの変更セットレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| changeset_id.value | 変更セットレコードの一意の識別子。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| conflict | ノードの処理中に競合が発生したかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| conflict_type | conflict パラメーターが true の場合、検出された競合のタイプ。競合が検出されない場合は null です。 可能な値:
データタイプ:文字列 |
| 説明 | ノードの目的の簡単な説明。 データタイプ:文字列 |
| effective_from | ノードが変更セットの一部としてコミットされたときのタイムスタンプ (長整数に変換)。ノードがコミットされていない場合、この値は「null」です。 データタイプ:整数 |
| effective_to | 削除された、または別のノードによって置き換えられたときのノードのタイムスタンプ (長整数に変換)。それ以外の場合は「null」です。 データタイプ:整数 |
| error | 処理中にエラーが発生した場合は、エラーに関する詳細。 データタイプ:オブジェクト |
| error.detail | エラーに関する追加情報。 データタイプ:文字列 |
| error.message | 要求の処理を試行中に生成されたエラーメッセージ。 データタイプ:文字列 |
| レベル | ルートノードから始まるノードのレベル。常に 0 です。たとえば、ノード /AppA/components/compA には 2 つのレベルがあります。 データタイプ:文字列 |
| linked_to | このノードがリンクされている参照ノードの main_id パラメーター。 このノードが参照ノードにリンクされていない場合、値は「null」です。 データタイプ:文字列 |
| main_id | ノードのプライマリ識別子。この値を CdmQuery() スクリプトインクルードで使用して、JSON ツリーを取得できます。例: CdmQuery().mainId('123')/query().getTree(); データタイプ:文字列 |
| main_id_encoded | ノードの main_id パラメーターの RADIX 57 文字列表現。 データタイプ:文字列 |
| name | ノードの名前。 データタイプ:文字列 |
| node_classifier | ノードの分類子の階層。この情報を使用して、フォルダー階層内のノードを検索します。 たとえば、展開可能項目には /application/deployables/env:Development の階層があります コレクションには /applications/collections の階層がありますが、 データタイプ:文字列 |
| node_path | 完全なノードパス名。 データタイプ:文字列 |
| 位置 | ノード位置。 例:次のアレイをアップロードする場合: 位置の値は次のように設定されます。
{"cdi1": 1}) でアップロードされると、エンドポイントはその位置に等しい名前で新しい仮想ノードを作成します。上記の例では、これは 2000 です。インクルードの場合、位置は常に空です。データタイプ:文字列 |
| previous_version | ノードレコードの以前のバージョンの詳細。 注: 新しいノードが作成された場合、エンドポイントはこのパラメーターに対して "previous_version" = null を返します。データタイプ:オブジェクト |
| previous_version.link | テーブル REST API を使用してこのノードレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| previous_version.value | ノードレコードの sys_id。CDM ノード [sn_cdm_node] テーブルにあります。 データタイプ:文字列 |
| reason_for_conflict | 競合の詳細な説明。 データタイプ:文字列 |
| restricted_to | 関連付けられたノードにアクセスできるグループの詳細。 データタイプ:オブジェクト |
| restricted_to.link | テーブル REST API を使用してこのグループレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| restricted_to.value | グループレコードの sys_id。CDM グループ [sys_user_group] テーブルにあります。 データタイプ:文字列 |
| secure_value | この値に保護のフラグが付けられている場合は、暗号化されたフィールド (マスク済み) が返されます。 この情報を復号化するには、sn_cdm.cdm_secrets ロールが必要です。returnFields クエリパラメーターフィールドを設定することで、これらのフィールドを返さないようにエンドポイントに指示できます。 データタイプ:文字列 |
| status | ノードステータス。 可能な値:
データタイプ:文字列 |
| system_folder | 関連付けられたノードがシステムフォルダーかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| 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 |
| type | ノードタイプ。
可能な値:
データタイプ:文字列 デフォルト:すべて |
| value | ノード値。 データタイプ:文字列 |
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
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| changesetNumber | 必須です。ターゲットノードに含めるオープンな変更セットの一意の番号。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| returnFields | 応答の一部として返すフィールドのリスト。sys_id、sys_updated_by、state などのレコード列名を渡します。 データタイプ:アレイ デフォルト:エンドポイントによって決定されるすべてのフィールド |
| sourceFullNamePath | 必須です。ターゲットノードに含めるノードのパス名。 名前パスは、次のいずれかの形式で渡すことができます。たとえば、 次のノード Staging/deployables/Development1/cdi1 を含めるには、次のようにします。
データタイプ:文字列 |
| targetFullNamePath | 必須です。ソースノードを含めるノードのパス名。 名前パスは、次のいずれかの形式で渡すことができます。たとえば、 Production/deployables/Development1 ノードを含めるには、次のようにします。
データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター
| 名前 | 説明 |
|---|---|
| changeset_id | 関連付けられた変更セットの一意の識別子 (「Chset-10」など)。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| conflict | ノードの処理中に競合が発生したかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| conflict_type | conflict パラメーターが true の場合、検出された競合のタイプ。競合が検出されない場合は null です。 可能な値:
データタイプ:文字列 |
| 説明 | ノードの目的の簡単な説明。 データタイプ:文字列 |
| effective_from | ノードが変更セットの一部としてコミットされたときのタイムスタンプ (長整数に変換)。ノードがコミットされていない場合、この値は「null」です。 データタイプ:整数 |
| effective_to | 削除された、または別のノードによって置き換えられたときのノードのタイムスタンプ (長整数に変換)。それ以外の場合は「null」です。 データタイプ:整数 |
| error | 処理中にエラーが発生した場合は、エラーに関する詳細。 データタイプ:オブジェクト |
| error.detail | エラーに関する追加情報。 データタイプ:文字列 |
| error.message | 要求の処理を試行中に生成されたエラーメッセージ。 データタイプ:文字列 |
| レベル | ルートノードから始まるノードのレベル。常に 0 です。たとえば、ノード /AppA/components/compA には 2 つのレベルがあります。 データタイプ:文字列 |
| linked_to | このノードがリンクされている参照ノードの main_id パラメーター。 このノードが参照ノードにリンクされていない場合、値は「null」です。 データタイプ:文字列 |
| main_id | ノードのプライマリ識別子。この値を CdmQuery() スクリプトインクルードで使用して、JSON ツリーを取得できます。例: CdmQuery().mainId('123')/query().getTree(); データタイプ:文字列 |
| main_id_encoded | ノードの main_id パラメーターの RADIX 57 文字列表現。 データタイプ:文字列 |
| name | ターゲットパスに含まれていたノードの名前。 データタイプ:文字列 |
| node_classifier | ノードの分類子の階層。この情報を使用して、フォルダー階層内のノードを検索します。 たとえば、展開可能項目には /application/deployables/env:Development の階層があります コレクションには /applications/collections の階層がありますが、 データタイプ:文字列 |
| node_path | ターゲットパスに含まれていたノードの完全パス名 (/Production/deployables/Development1/cdi1 など)。 データタイプ:文字列 |
| 位置 | ノード位置。 例:次のアレイをアップロードする場合: 位置の値は次のように設定されます。
{"cdi1": 1}) でアップロードされると、エンドポイントはその位置に等しい名前で新しい仮想ノードを作成します。上記の例では、これは 2000 です。インクルードの場合、位置は常に空です。データタイプ:文字列 |
| previous_version | ノードレコードの以前のバージョンの詳細。 注: 新しいノードが作成された場合、エンドポイントはこのパラメーターに対して "previous_version" = null を返します。データタイプ:オブジェクト |
| restricted_to | 関連付けられたノードにアクセスできるグループの詳細。 データタイプ:オブジェクト |
| secure_value | この値に保護のフラグが付けられている場合は、暗号化されたフィールド (マスク済み) が返されます。 この情報を復号化するには、sn_cdm.cdm_secrets ロールが必要です。returnFields クエリパラメーターフィールドを設定することで、これらのフィールドを返さないようにエンドポイントに指示できます。 データタイプ:文字列 |
| status | ノードステータス。 可能な値:
データタイプ:文字列 |
| sys_id | ノードの sys_id。CDM ノード [sn_cdm_node] テーブルにあります。 データタイプ:文字列 |
| system_folder | 関連付けられたノードがシステムフォルダーかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| type | ノードタイプ。 可能な値:
データタイプ:文字列 |
| value | ノード値。 データタイプ:文字列 |
cURL 要求
次のコード例は、ノード /testApp/collections/collA を /testApp/deployables/Development_1 に含める方法を示しています。
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
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| autoCreateParents | 名前パス内の親が存在しない場合に、コンポーネントとして自動的に作成するかどうかを示すフラグ。アプリ、展開可能項目、およびコレクションは例外です。このフラグを設定せず、かつ親がまだ存在しない場合、エンドポイントは失敗します。 有効な値:
データタイプ:ブーリアン デフォルト値:false |
| changesetNumber | 必須。 関連付けられた変更セットの一意の識別子 (「Chset-10」など)。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| fullNamePath | 必須です。ノードのパス名。 名前パスは、次のいずれかの形式で渡すことができます。たとえば、ノード testApp/deployables/Development1/cdi1 の名前パスを定義するには、次のようにします。
データタイプ:文字列 |
| returnFields | 応答の一部として返すフィールドのリスト。sys_id、sys_updated_by、state などのレコード列名を渡します。 データタイプ:アレイ デフォルト:エンドポイントによって決定されるすべてのフィールド |
| secure | リーフノードの値を暗号化するかどうかを示すフラグ。 有効な値:
データタイプ:ブール デフォルト値:false |
| type | 必須です。新しいノードのタイプ。 有効な値:
データタイプ:文字列 |
| value | 新しいノードの値。 データタイプ:文字列 デフォルト:「null」に相当 |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター
| 名前 | 説明 |
|---|---|
| changeset_id | ノードに関連付けられた変更セットレコードの詳細。 データタイプ:オブジェクト |
| changeset_id.link | テーブル REST API を使用してこの変更セットレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| changeset_id.value | 変更セットレコードの一意の識別子。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| conflict | ノードの処理中に競合が発生したかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| conflict_type | conflict パラメーターが true の場合、検出された競合のタイプ。競合が検出されない場合は null です。 可能な値:
データタイプ:文字列 |
| 説明 | ノードの目的の簡単な説明。 データタイプ:文字列 |
| effective_from | ノードが変更セットの一部としてコミットされたときのタイムスタンプ (長整数に変換)。ノードがコミットされていない場合、この値は「null」です。 データタイプ:整数 |
| effective_to | 削除された、または別のノードによって置き換えられたときのノードのタイムスタンプ (長整数に変換)。それ以外の場合は「null」です。 データタイプ:整数 |
| error | 処理中にエラーが発生した場合は、エラーに関する詳細。 データタイプ:オブジェクト |
| error.detail | エラーに関する追加情報。 データタイプ:文字列 |
| error.message | 要求の処理を試行中に生成されたエラーメッセージ。 データタイプ:文字列 |
| レベル | ルートノードから始まるノードのレベル。常に 0 です。たとえば、ノード /AppA/components/compA には 2 つのレベルがあります。 データタイプ:文字列 |
| linked_to | このノードがリンクされている参照ノードの main_id パラメーター。 このノードが参照ノードにリンクされていない場合、値は「null」です。 データタイプ:文字列 |
| main_id | ノードのプライマリ識別子。この値を CdmQuery() スクリプトインクルードで使用して、JSON ツリーを取得できます。例: CdmQuery().mainId('123')/query().getTree(); データタイプ:文字列 |
| main_id_encoded | ノードの main_id パラメーターの RADIX 57 文字列表現。 データタイプ:文字列 |
| name | ノードの名前。 データタイプ:文字列 |
| node_classifier | ノードの分類子の階層。この情報を使用して、フォルダー階層内のノードを検索します。 たとえば、展開可能項目には /application/deployables/env:Development の階層があります コレクションには /applications/collections の階層がありますが、 データタイプ:文字列 |
| node_path | 完全なノードパス名。 データタイプ:文字列 |
| 位置 | ノード位置。 例:次のアレイをアップロードする場合: 位置の値は次のように設定されます。
{"cdi1": 1}) でアップロードされると、エンドポイントはその位置に等しい名前で新しい仮想ノードを作成します。上記の例では、これは 2000 です。インクルードの場合、位置は常に空です。データタイプ:文字列 |
| previous_version | ノードレコードの以前のバージョンの詳細。 注: 新しいノードが作成された場合、エンドポイントはこのパラメーターに対して "previous_version" = null を返します。データタイプ:オブジェクト |
| previous_version.link | テーブル REST API を使用してこのノードレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| previous_version.value | ノードレコードの sys_id。CDM ノード [sn_cdm_node] テーブルにあります。 データタイプ:文字列 |
| reason_for_conflict | 競合の詳細な説明。 データタイプ:文字列 |
| restricted_to | 関連付けられたノードにアクセスできるグループの詳細。 データタイプ:オブジェクト |
| restricted_to.link | テーブル REST API を使用してこのグループレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| restricted_to.value | グループレコードの sys_id。CDM グループ [sys_user_group] テーブルにあります。 データタイプ:文字列 |
| secure_value | この値に保護のフラグが付けられている場合は、暗号化されたフィールド (マスク済み) が返されます。 この情報を復号化するには、sn_cdm.cdm_secrets ロールが必要です。returnFields クエリパラメーターフィールドを設定することで、これらのフィールドを返さないようにエンドポイントに指示できます。 データタイプ:文字列 |
| status | ノードステータス。 可能な値:
データタイプ:文字列 |
| system_folder | 関連付けられたノードがシステムフォルダーかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| 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 |
| type | ノードタイプ。
可能な値:
データタイプ:文字列 デフォルト:すべて |
| value | ノード値。 データタイプ:文字列 |
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": "113a0c6e53001110a1d3ddeeff7b121d1bAUA1wj-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
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| changesetNumber | 必須。 関連付けられた変更セットの一意の識別子 (「Chset-10」など)。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| fullNamePath | 必須です。ノードのパス名。 名前パスは、次のいずれかの形式で渡すことができます。たとえば、ノード testApp/deployables/Development1/cdi1 の名前パスを定義するには、次のようにします。
データタイプ:文字列 |
| newName | 関連付けられたノードの新しい名前。 データタイプ:文字列 |
| newValue | 関連付けられたノードの新しい値。 データタイプ:文字列 |
| secure | リーフノードの値を暗号化するかどうかを示すフラグ。 有効な値:
データタイプ:ブール デフォルト値:false |
| returnFields | 応答の一部として返すフィールドのリスト。sys_id、sys_updated_by、state などのレコード列名を渡します。 データタイプ:アレイ デフォルト:エンドポイントによって決定されるすべてのフィールド |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター
| 名前 | 説明 |
|---|---|
| changeset_id | ノードに関連付けられた変更セットレコードの詳細。 データタイプ:オブジェクト |
| changeset_id.link | テーブル REST API を使用してこの変更セットレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| changeset_id.value | 変更セットレコードの一意の識別子。CDM 変更セット [sn_cdm_changeset] テーブルにあります。 データタイプ:文字列 |
| conflict | ノードの処理中に競合が発生したかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| conflict_type | conflict パラメーターが true の場合、検出された競合のタイプ。競合が検出されない場合は null です。 可能な値:
データタイプ:文字列 |
| 説明 | ノードの目的の簡単な説明。 データタイプ:文字列 |
| effective_from | ノードが変更セットの一部としてコミットされたときのタイムスタンプ (長整数に変換)。ノードがコミットされていない場合、この値は「null」です。 データタイプ:整数 |
| effective_to | 削除された、または別のノードによって置き換えられたときのノードのタイムスタンプ (長整数に変換)。それ以外の場合は「null」です。 データタイプ:整数 |
| error | 処理中にエラーが発生した場合は、エラーに関する詳細。 データタイプ:オブジェクト |
| error.detail | エラーに関する追加情報。 データタイプ:文字列 |
| error.message | 要求の処理を試行中に生成されたエラーメッセージ。 データタイプ:文字列 |
| レベル | ルートノードから始まるノードのレベル。常に 0 です。たとえば、ノード /AppA/components/compA には 2 つのレベルがあります。 データタイプ:文字列 |
| linked_to | このノードがリンクされている参照ノードの main_id パラメーター。 このノードが参照ノードにリンクされていない場合、値は「null」です。 データタイプ:文字列 |
| main_id | ノードのプライマリ識別子。この値を CdmQuery() スクリプトインクルードで使用して、JSON ツリーを取得できます。例: CdmQuery().mainId('123')/query().getTree(); データタイプ:文字列 |
| main_id_encoded | ノードの main_id パラメーターの RADIX 57 文字列表現。 データタイプ:文字列 |
| name | ノードの名前。 データタイプ:文字列 |
| node_classifier | ノードの分類子の階層。この情報を使用して、フォルダー階層内のノードを検索します。 たとえば、展開可能項目には /application/deployables/env:Development の階層があります コレクションには /applications/collections の階層がありますが、 データタイプ:文字列 |
| node_path | 完全なノードパス名。 データタイプ:文字列 |
| 位置 | ノード位置。 例:次のアレイをアップロードする場合: 位置の値は次のように設定されます。
{"cdi1": 1}) でアップロードされると、エンドポイントはその位置に等しい名前で新しい仮想ノードを作成します。上記の例では、これは 2000 です。インクルードの場合、位置は常に空です。データタイプ:文字列 |
| previous_version | ノードレコードの以前のバージョンの詳細。 注: 新しいノードが作成された場合、エンドポイントはこのパラメーターに対して "previous_version" = null を返します。データタイプ:オブジェクト |
| previous_version.link | テーブル REST API を使用してこのノードレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| previous_version.value | ノードレコードの sys_id。CDM ノード [sn_cdm_node] テーブルにあります。 データタイプ:文字列 |
| reason_for_conflict | 競合の詳細な説明。 データタイプ:文字列 |
| restricted_to | 関連付けられたノードにアクセスできるグループの詳細。 データタイプ:オブジェクト |
| restricted_to.link | テーブル REST API を使用してこのグループレコードをクエリーするための呼び出し構文。 データタイプ:文字列 |
| restricted_to.value | グループレコードの sys_id。CDM グループ [sys_user_group] テーブルにあります。 データタイプ:文字列 |
| secure_value | この値に保護のフラグが付けられている場合は、暗号化されたフィールド (マスク済み) が返されます。 この情報を復号化するには、sn_cdm.cdm_secrets ロールが必要です。returnFields クエリパラメーターフィールドを設定することで、これらのフィールドを返さないようにエンドポイントに指示できます。 データタイプ:文字列 |
| status | ノードステータス。 可能な値:
データタイプ:文字列 |
| system_folder | 関連付けられたノードがシステムフォルダーかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| 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 |
| type | ノードタイプ。
可能な値:
データタイプ:文字列 デフォルト:すべて |
| value | ノード値。 データタイプ:文字列 |
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": "113a0c6e53001110a1d3ddeeff7b121d1bAUA1wj-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
}
}