CdmVersionApi

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:23分
  • CdmVersionApi は、共有ライブラリの共有コンポーネントの 構成データ管理 (CDM) でバージョン (スナップショット) を公開、非公開、およびエクスポートできるようにするエンドポイントを提供します。

    スナップショットを公開してエクスポートできるようにすると、 継続的インテグレーションと継続的デリバリー (CICD) パイプラインが関連する共有コンポーネントとライブラリにアクセスして使用できるようになります。エクスポーターは、公開されたスナップショットでのみ実行できます。スナップショットが不要になった場合は、公開を中止して、スナップショットが実行可能かどうかについての混乱を軽減することができます。

    この API にアクセスするには、次のいずれかのロールが必要です。
    • スクリプト化された REST CDM ビュー ACL (sn_cdm.cdm.viewer)
    • スクリプト化された REST CDM エディター ACL (sn_cdm.cdm_editor)

    また、この API をインスタンスで使用するには、構成データ管理 (CDM) プラグインを有効にする必要があります。

    スナップショットの詳細については、「 スナップショットの表示」を参照してください。

    CdmVersionApi:GET /sn_cdm/versions/export

    指定された公開バージョンについて、指定された共有ライブラリ内の指定された共有コンポーネントの構成データを返します。

    このエンドポイントにアクセスするには、CDM エディターロールが必要です。

    URL 形式

    バージョン管理された URL: /api/sn_cdm/{api_version}/versions/export

    デフォルト URL: /api/sn_cdm/versions/export

    サポートされている要求パラメーター

    表 : 1. パスパラメーター
    名前 説明
    api_version オプションアクセスするエンドポイントのバージョン。たとえば、v1v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。

    データタイプ:文字列

    表 : 2. クエリパラメーター
    名前 Description (説明)
    dataFormat 必須。構成データの形式。
    有効な値:
    • csv
    • ini
    • json
    • プロパティ
    • xml
    • yaml

    データタイプ:文字列

    decryptPassword エンコードされたパスワード値と復号化されたパスワード値のどちらを表示するかを示すフラグ。
    有効な値:
    • true:パスワードを復号化し、復号化された値を表示します。
    • false:暗号化されたパスワード値を表示します。

    デフォルト値:false

    sharedComponentName 必須。構成データをエクスポートする共有コンポーネントの名前。CDM 共有コンポーネント [sn_cdm_shared_component] テーブルにあります。

    データタイプ:文字列

    sharedLibraryName 必須。構成データを返すコンポーネントを含む共有ライブラリーの名前。CDM アプリケーション [sn_cdm_application] テーブルにあります。指定するアプリケーションでは、type フィールドが「shared_library」に設定されている必要があります。

    データタイプ:文字列

    substituteVariables 変数に従うかどうかを示すフラグ。変数に従う方法については、 構成データの検証と修正を参照してください。
    有効な値:
    • true:変数に従います。
    • false:変数をフォローしません。

    デフォルト:true

    表 : 3. 要求本文パラメーター
    名前 説明
    なし

    ヘッダー

    次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 4. 要求ヘッダー
    ヘッダー 説明
    Accept 応答本文のデータフォーマット。

    サポートされるタイプ:

    • application/json
    • application/xml
    • text/xml

    デフォルト: application/json

    表 : 5. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 6. ステータスコード
    ステータスコード 説明
    200 成功。要求が正常に処理されました。
    400 要求が正しくありません。以下のいずれかの問題が発生した可能性があります。
    • 共有ライブラリがアクティブではありません。
    • 共有コンポーネントがアクティブではありません。
    • バージョンは公開されていません。
    • 呼び出しにパラメーターがありません。
    500 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。

    応答本文のパラメーター

    名前 説明
    結果 指定された形式の構成データ。
    error 処理中にエラーが発生した場合は、エラーに関する詳細。

    データタイプ:オブジェクト

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail エラーに関する追加情報。

    データタイプ:文字列

    error.message 要求の処理を試行中に生成されたエラーメッセージ。

    データタイプ:文字列

    status 要求のエラーステータス。

    可能な値:failure

    データタイプ:文字列

    cURL 要求

    次のコード例は、「JavaLib」共有ライブラリの下にある「jdk8」コンポーネントの構成データをエクスポートする方法を示しています。

    curl "http://instance.servicenow.com/api/sn_cdm/shared_libraries/components/exports?sharedLibraryName=JavaLib&componentName=jdk8 
    --request POST \  
    --header "Accept:application/json" \   
    --user 'username':'password'

    応答:

    {  
    "result": {  
        "sharedComponentA": { "cdi": "val" } 
     }  
    } 

    CdmVersionApi:PUT /sn_cdm/versions/publish

    指定された共有ライブラリで共有コンポーネントのバージョンを公開します。

    このエンドポイントにアクセスするには、CDM エディターロールが必要です。

    注:
    スナップショットとバージョンは、この実装では同義の意味です。

    URL 形式

    バージョニングされた URL: /api/sn_cdm/{api_version}/versions/publish

    デフォルト URL: /api/sn_cdm/versions/publish

    サポートされている要求パラメーター

    表 : 7. パスパラメーター
    名前 説明
    api_version オプションアクセスするエンドポイントのバージョン。たとえば、v1v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。

    データタイプ:文字列

    表 : 8. クエリパラメーター
    名前 説明
    name 必須。公開する共有コンポーネントのバージョンの名前。CDM 共有コンポーネント [sn_cdm_shared_component] テーブルにあります。

    データタイプ:文字列

    returnFields 応答の一部として返す CDM スナップショット [sn_cdm_snapshot] テーブル内のフィールドのカンマ区切りリスト。

    データタイプ:文字列

    デフォルト:すべての非システムフィールドを返します。

    sharedComponentName 必須。公開する共有コンポーネントの名前。CDM 共有コンポーネント [sn_cdm_shared_component] テーブルにあります。

    データタイプ:文字列

    sharedLibraryName 必須。指定されたコンポーネントが存在する共有ライブラリーの名前。CDM アプリケーション [sn_cdm_application] テーブルにあります。関連するレコードのタイプフィールドを「shared_library」に設定する必要があります。

    データタイプ:文字列

    表 : 9. 要求本文パラメーター
    名前 説明
    なし

    ヘッダー

    次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 10. 要求ヘッダー
    ヘッダー 説明
    Accept 応答本文のデータフォーマット。

    サポートされるタイプ:

    • application/json
    • application/xml
    • text/xml

    デフォルト: application/json

    表 : 11. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 12. ステータスコード
    ステータスコード 説明
    200 成功。要求が正常に処理されました。
    400 要求が正しくありません。公開中にエラーが発生しました。
    考えられる問題:
    • バージョン名が見つかりません。
    • コンポーネントバージョンは既に公開されています。
    500 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。

    応答本文のパラメーター

    名前 説明
    cdm_application_id スナップショットに関連付けられた CDM アプリケーションに関する詳細。

    データタイプ:オブジェクト

    "cdm_application_id": {
      "link": "String",
      "value": "String"
    }
    cdm_application_id.link REST テーブル API を使用して CDM アプリケーションレコードにアクセスするために使用する呼び出し。

    データタイプ:文字列

    cdm_application_id.value 関連付けられた CDM アプリケーションレコードの sys_id。CDM アプリケーション [sn_cdm_application] テーブルにあります。

    データタイプ:文字列

    cdm_deployable_id スナップショットに関連付けられた CDM 展開可能項目に関する詳細。

    データタイプ:オブジェクト

    "cdm_deployable_id": {
      "link": "String",
      "value": "String"
    }
    cdm_deployable_id.link テーブル REST API を使用してこの展開可能レコードをクエリするための呼び出し構文。

    データタイプ:文字列

    cdm_deployable_id.value 展開可能レコードの sys_id。CDM 展開可能項目 [sn_cdm_deployable] テーブルにあります。

    データタイプ:文字列

    changeset_id スナップショットに関連付けられた変更セットに関する詳細。

    データタイプ: オブジェクト

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    changeset_id.link テーブル REST API を使用してこの変更セットレコードをクエリーするための呼び出し構文。

    データタイプ:文字列

    changeset_id.value 変更セットレコードの一意の識別子。CDM 変更セット [sn_cdm_changeset] テーブルにあります。

    データタイプ:文字列

    説明 スナップショットの簡単な説明。

    データタイプ:文字列

    error 処理中にエラーが発生した場合は、エラーに関する詳細。

    データタイプ:オブジェクト

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail エラーに関する追加情報。

    データタイプ:文字列

    error.message 要求の処理を試行中に生成されたエラーメッセージ。

    データタイプ:文字列

    last_published スナップショットが最後に公開された日時。

    データタイプ:文字列

    形式:yyyy-mm-dd hh:mm:ss

    last_validated スナップショットが最後に検証された日時。

    データタイプ:文字列

    形式:yyyy-mm-dd hh:mm:ss

    name スナップショットの名前。

    データタイプ:文字列

    number スナップショットを識別する一意の番号。この値は、人間が判読可能なマッピングの識別子を提供します。

    データタイプ:文字列

    公開済 スナップショットが公開されたかどうかを示すフラグ。
    可能な値:
    • true:スナップショットが公開されました。
    • false:スナップショットは公開されませんでした。

    データタイプ:ブーリアン

    sys_created_by スナップショットを作成したユーザーの名前。

    データタイプ:文字列

    sys_created_on スナップショットが作成された日時。

    データタイプ:文字列

    形式:yyyy-mm-dd hh:mm:ss

    sys_id スナップショットの sys_id。CDM スナップショット [sn_cdm_snapshot] テーブルにあります。

    データタイプ:文字列

    sys_updated_by スナップショットを更新したユーザーの名前。

    データタイプ:文字列

    sys_updated_on スナップショットが最後に更新された日時。

    データタイプ:文字列

    形式:yyyy-mm-dd hh:mm:ss

    妥当性検証 スナップショットの現在の検証ステータス。
    可能な値:
    • execution_error
    • failed
    • in_progress
    • not_validated
    • passed
    • passed_with_exception
    • requested

    データタイプ:文字列

    cURL 要求

    このコード例は、共有コンポーネント「Development」を「Development-v1.shc」というバージョン名で公開する方法を示しています。

    curl "http://instance.servicenow.com/api/sn_cdm/versions/publish?sharedLibraryName=LibraryJdk&componentName=Development&name=Development-v1.shc" \  
    --request PUT\  
    --header "Accept:application/json" \  
    --user 'username':'password

    応答:

    {
      "result": {
        "changeset_id": {
          "value": "1a2bd15c7764a1109ac0cf0bbb5a99fc",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/1a2bd15c7764a1109ac0cf0bbb5a99fc"
        },
        "cdm_deployable_id": null,
        "cdm_shared_component_node_id": {
          "value": "fe2b155c7764a1109ac0cf0bbb5a995d",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_node/fe2b155c7764a1109ac0cf0bbb5a995d"
        },
        "cdm_shared_component_id": {
          "value": "362b155c7764a1109ac0cf0bbb5a9970",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_shared_component/362b155c7764a1109ac0cf0bbb5a9970"
        },
        "description": null,
        "cdm_application_id": {
          "value": "122bd15c7764a1109ac0cf0bbb5a99fa",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_application/122bd15c7764a1109ac0cf0bbb5a99fa"
        },
        "published": true,
        "sys_updated_on": "2023-01-18 14:15:44",
        "last_published": "2023-01-18 09:53:37",
        "sequence_number": "1",
        "number": "SNAP0001110",
        "sys_id": "df2b155c7764a1109ac0cf0bbb5a9949",
        "sys_updated_by": "admin",
        "sys_created_on": "2023-01-18 09:53:36",
        "name": "logonService-V2.1-v1.shc",
        "last_validated": "",
        "validation": "passed",
        "sys_created_by": "admin"
      }
    }

    CdmVersionApi:PUT /sn_cdm/versions/unpublish

    指定された共有ライブラリの共有コンポーネントのバージョンを非公開にします。

    このエンドポイントにアクセスするには、CDM エディターロールが必要です。

    注:
    スナップショットとバージョンは、この実装では同義の意味です。

    URL 形式

    バージョニングされた URL: /api/sn_cdm/{api_version}/versions/publish

    デフォルト URL: /api/sn_cdm/versions/publish

    サポートされている要求パラメーター

    表 : 13. パスパラメーター
    名前 説明
    api_version オプションアクセスするエンドポイントのバージョン。たとえば、v1v2。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。

    データタイプ:文字列

    表 : 14. クエリパラメーター
    名前 説明
    name 必須。非公開にする共有コンポーネントのバージョンの名前。CDM 共有コンポーネント [sn_cdm_shared_component] テーブルにあります。

    データタイプ:文字列

    returnFields 応答の一部として返す CDM スナップショット [sn_cdm_snapshot] テーブル内のフィールドのカンマ区切りリスト。

    データタイプ:文字列

    デフォルト:すべての非システムフィールドを返します。

    sharedComponentName 必須。非公開にする共有コンポーネントの名前。CDM 共有コンポーネント [sn_cdm_shared_component] テーブルにあります。

    データタイプ:文字列

    sharedLibraryName 必須。指定されたコンポーネントが存在する共有ライブラリーの名前。CDM アプリケーション [sn_cdm_application] テーブルにあります。関連するレコードのタイプフィールドを「shared_library」に設定する必要があります。

    データタイプ:文字列

    表 : 15. 要求本文パラメーター
    名前 説明
    なし

    ヘッダー

    次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 16. 要求ヘッダー
    ヘッダー 説明
    Accept 応答本文のデータフォーマット。

    サポートされるタイプ:

    • application/json
    • application/xml
    • text/xml

    デフォルト: application/json

    表 : 17. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 18. ステータスコード
    ステータスコード 説明
    200 成功。要求が正常に処理されました。
    400 要求が正しくありません。非公開中にエラーが発生しました。
    考えられる問題:
    • バージョン名が見つかりません。
    • コンポーネントバージョンは既に公開されています。
    500 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。

    応答本文のパラメーター

    名前 説明
    cdm_application_id スナップショットに関連付けられた CDM アプリケーションに関する詳細。

    データタイプ:オブジェクト

    "cdm_application_id": {
      "link": "String",
      "value": "String"
    }
    cdm_application_id.link REST テーブル API を使用して CDM アプリケーションレコードにアクセスするために使用する呼び出し。

    データタイプ:文字列

    cdm_application_id.value 関連付けられた CDM アプリケーションレコードの sys_id。CDM アプリケーション [sn_cdm_application] テーブルにあります。

    データタイプ:文字列

    cdm_deployable_id スナップショットに関連付けられた CDM 展開可能項目に関する詳細。

    データタイプ:オブジェクト

    "cdm_deployable_id": {
      "link": "String",
      "value": "String"
    }
    cdm_deployable_id.link テーブル REST API を使用してこの展開可能レコードをクエリするための呼び出し構文。

    データタイプ:文字列

    cdm_deployable_id.value 展開可能レコードの sys_id。CDM 展開可能項目 [sn_cdm_deployable] テーブルにあります。

    データタイプ:文字列

    changeset_id スナップショットに関連付けられた変更セットに関する詳細。

    データタイプ: オブジェクト

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    changeset_id.link テーブル REST API を使用してこの変更セットレコードをクエリーするための呼び出し構文。

    データタイプ:文字列

    changeset_id.value 変更セットレコードの一意の識別子。CDM 変更セット [sn_cdm_changeset] テーブルにあります。

    データタイプ:文字列

    説明 スナップショットの簡単な説明。

    データタイプ:文字列

    error 処理中にエラーが発生した場合は、エラーに関する詳細。

    データタイプ:オブジェクト

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail エラーに関する追加情報。

    データタイプ:文字列

    error.message 要求の処理を試行中に生成されたエラーメッセージ。

    データタイプ:文字列

    last_published スナップショットが最後に公開された日時。

    データタイプ:文字列

    形式:yyyy-mm-dd hh:mm:ss

    last_validated スナップショットが最後に検証された日時。

    データタイプ:文字列

    形式:yyyy-mm-dd hh:mm:ss

    name スナップショットの名前。

    データタイプ:文字列

    number スナップショットを識別する一意の番号。この値は、人間が判読可能なマッピングの識別子を提供します。

    データタイプ:文字列

    公開済 スナップショットが公開されたかどうかを示すフラグ。
    可能な値:
    • true:スナップショットが公開されました。
    • false:スナップショットは公開されませんでした。

    データタイプ:ブーリアン

    sys_created_by スナップショットを作成したユーザーの名前。

    データタイプ:文字列

    sys_created_on スナップショットが作成された日時。

    データタイプ:文字列

    形式:yyyy-mm-dd hh:mm:ss

    sys_id スナップショットの sys_id。CDM スナップショット [sn_cdm_snapshot] テーブルにあります。

    データタイプ:文字列

    sys_updated_by スナップショットを更新したユーザーの名前。

    データタイプ:文字列

    sys_updated_on スナップショットが最後に更新された日時。

    データタイプ:文字列

    形式:yyyy-mm-dd hh:mm:ss

    妥当性検証 スナップショットの現在の検証ステータス。
    可能な値:
    • execution_error
    • failed
    • in_progress
    • not_validated
    • passed
    • passed_with_exception
    • requested

    データタイプ:文字列

    cURL 要求

    次のコード例は、"OracleG-Library-10"共有ライブラリから"paymentService-V1"共有コンポーネントを非公開にする方法を示しています。

    curl "https://instance-name.service-now.com/api/sn_cdm/versions/unpublish?sharedLibraryName=OracleG-Library-10&sharedComponentName=paymentService-V1.1&name=paymentService-V1.1-v1.shc" \ 
    --request PUT \ 
    --header "Accept:application/json" \ 
    --user 'username':'password'

    応答:

    {
      "result": {
        "changeset_id": {
          "value": "1a2bd15c7764a1109ac0cf0bbb5a99fc",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_changeset/1a2bd15c7764a1109ac0cf0bbb5a99fc"
        },
        "cdm_deployable_id": null,
        "cdm_shared_component_node_id": {
          "value": "fe2b155c7764a1109ac0cf0bbb5a995d",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_node/fe2b155c7764a1109ac0cf0bbb5a995d"
        },
        "cdm_shared_component_id": {
          "value": "362b155c7764a1109ac0cf0bbb5a9970",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_shared_component/362b155c7764a1109ac0cf0bbb5a9970"
        },
        "description": null,
        "cdm_application_id": {
          "value": "122bd15c7764a1109ac0cf0bbb5a99fa",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_application/122bd15c7764a1109ac0cf0bbb5a99fa"
        },
        "published": false,
        "sys_updated_on": "2023-01-18 14:15:44",
        "last_published": "2023-01-18 09:53:37",
        "sequence_number": "1",
        "number": "SNAP0001110",
        "sys_id": "df2b155c7764a1109ac0cf0bbb5a9949",
        "sys_updated_by": "admin",
        "sys_created_on": "2023-01-18 09:53:36",
        "name": "logonService-V2.1-v1.shc",
        "last_validated": "",
        "validation": "passed",
        "sys_created_by": "admin"
      }
    }