パイプライン内での DevOps 変更要求の詳細の構成

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:9分
  • パイプラインの変更ステップで、パイプライン内からクローズ情報、変更ステータス、および変更要求フィールドを更新する方法を構成します。

    注:
    GitLab パイプライン内からの変更要求の詳細の構成はサポートされていません。

    システム変数は、デフォルトでは、ベースシステムの変更を自動的にクローズするためのデフォルトサブフローを指します。[パイプライン完了サブフローでの DevOps 自動変更クローズ] (sn_devops.auto_close_change) は、パイプラインの完了時にクローズ情報、変更ステータス、および変更要求フィールドを更新する方法を決定します。パイプラインの完了時にアクティブ化する必要があるカスタムサブフローを指定する場合は、このサブフローのクローンを作成し、要件に応じてカスタマイズできます。

    クローズ情報と変更要求属性は、changeRequestDetails オブジェクトに含まれています。

    自動変更クローズ

    パイプラインから変更を作成するときに changeRequestDetails オブジェクトで autoCloseChange パラメーターを [true/false] に設定して [クローズコード] フィールドと [クローズメモ] フィールドを更新し、パイプラインの完了時に変更要求をクローズします。パイプラインが完了すると、[開始日] フィールドと [終了日] フィールドの値も更新されます。日付の値は、パイプラインの開始時刻またはパイプラインの最初のステージの開始時刻、およびパイプラインの終了時刻またはパイプラインの最終ステージの終了時刻に基づいています。
    注:
    パイプラインの代わりに変更要求の開始時刻と終了時刻を考慮する場合は、 に移動して sn_devops.change_request.auto_close_allow_override_start_timesn_devops.change_request.auto_close_allow_override_end_time プロパティを false に設定できます すべての>システムプロパティ>すべてのプロパティ.
    クローズメモには、自動クローズ変更機能に基づいてクローズ情報が更新されたことを指定するテキストが接尾辞として付加されます。

    true に設定すると、[クローズコード] フィールドと [クローズメモ] フィールドが更新され、パイプラインの完了時にシステムは変更要求のクローズを試みます。

    false に設定すると、パイプラインが完了したときに [クローズコード] フィールドと [クローズメモ] フィールドが更新されますが、変更要求はクローズされません。

    ServiceNow アプリケーションでパイプラインの [自動変更クローズ] フィールド値を設定することもできます。[変更のみ更新] を選択すると、パイプラインが完了したときに [クローズコード] フィールドと [クローズメモ] フィールドが更新され、[変更を更新してクローズ] を選択すると、変更要求もクローズ情報の更新と共にクローズされます。

    自動変更クローズがパイプラインと列のどちらで指定されているかに基づいて、考慮される最終ステータスは次のようになります。
    変更要求属性の autoCloseChange フラグ [自動変更クローズ] 列の値 (sn_devops_pipeline) 最終状況
    True 変更のみ更新 変更を更新し、ステータスをクローズに移動します
    False 変更を更新してクローズ 変更の更新のみ
    - 変更のみ更新 変更の更新のみ
    - 変更を更新してクローズ 変更を更新し、ステータスをクローズに移動します
    注:
    パイプラインの autoCloseChange 属性に指定された値は、ServiceNow の [自動変更クローズ] 列で指定された値よりも優先されます。
    注:
    • 自動変更クローズ機能は、単一の変更が作成された基本的なパイプラインにのみ適用されます。複数の変更がある場合は、最新の変更が自動クローズで考慮されます。
    • 自動変更クローズ機能は、変更受付機能が有効になっている Jenkins フリースタイルパイプラインおよび変更要求ではサポートされていません。
    • Azure リリース パイプラインの場合、パイプラインの完了状態は、パイプライン内の各ステージの状態を統合することによって派生します。1 つのステージでも失敗すると、パイプラインは失敗したと見なされます。1 つのステージでも部分的に成功した場合、パイプラインは成功したと見なされますが、問題はあります。

    アップグレード情報

    アップグレードする場合は、GitHub および Azure ビルドパイプラインの autoCloseChange パラメーターを設定する前に、オーケストレーションツールを再構成する必要があります。

    クローズコードを設定

    目的の動作に基づいて、setCloseCode: パラメーターを true/false に設定します。デフォルトは true です。

    true に設定すると、変更ステップ属性で指定されたとおりに [クローズコード] フィールドと [クローズメモ] フィールドが更新され、ステージが完了したときに変更要求が実装後に移動します。自動クローズコード機能を有効にすることで、この動作を上書きできます。setCloseCode 機能は、autoCloseChange が有効で true または false に設定されている場合、無効になります。詳細については、「自動変更クローズ」を参照してください。より正確な変更要求の詳細を得るには、autoCloseChange 機能を使用します。

    false に設定すると、ジョブまたはパイプラインが完了しても変更要求は更新されず、[実装] ステータスのままになります。

    • 変更要求のクローズ情報が設定されていません ([クローズコード] フィールドと [クローズメモ] フィールドは空のままです)。
    • ステップ実行へのリンクが [作業メモ] に追加されます。

    変更要求フィールド

    指定された変更要求テンプレートのパイプライン内で変更要求フィールド値を設定します。
    注:
    • 指定したフィールドに必須の依存フィールドがある場合は、その属性も設定する必要があります。
    • 依存必須フィールドの属性が設定されていない場合、変更要求と関連するステップの実行はキャンセルされ、作業メモが更新されます。

    attributes: パラメーター内のフィールド値は、キーと値のペアです。つまり、キーはテンプレート内のフィールド名で、値はそのフィールドに入力する情報です。

    changeControl API を使用して、typecmdb_citemplateassignment_group business_servicestandard_change_templatechg_model などのフィールドを指定し、変更要求を作成できます。

    属性が変更のために渡される場合、優先順位は次のとおりです。

    1. 変更要求フィールドまたは changeControl API。
    2. ステップレコードの値。
    3. 変更要求テンプレートで指定された値。
    注:
    パイプライン内から変更要求を構成する場合、変更タイプとテンプレートフィールドは常に 1 つのソースから取得されます。API 要求と変更要求フォームの属性を組み合わせて使用することはできません。

    指定されている場合を除き、変更要求 [change_request] テーブルのすべてのフィールドがサポートされています。

    表 : 1. サポートされている変更要求フィールド
    サポートされていないフィールド
    • risk
    • impact
    • number
    • sys_id
    • risk_impact_analysis
    サポートされているフィールド 変更要求 [change_request] テーブルの残りのすべてのフィールド。
    注:
    属性名は変更要求フィールド名と一致する必要があり、指定された値が有効である必要があります。

    サンプル JSON ペイロード

    {
       "callbackURL":"http://192.168.0.4:3000/jenkins/sn-devops/pipeline_839b7605-b98d-4831-bc87-96829de7da37",
       "orchestrationTaskURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests#deploy/",
       "isMultiBranch":"false",
       "orchestrationTaskName":"java_sample_tests#deploy",
       "orchestrationTaskDetails":{
          "triggerType":"upstream",
          "upstreamTaskExecutionURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests/129/execution/node/35/wfapi/describe",
          "taskExecutionURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests/129/execution/node/50/wfapi/describe"
       },
       "changeRequestDetails":{
          "setCloseCode":false,
          "attributes":{
             "sys_created_by":"1832fbe1d701120035ae23c7ce610369",
             "sys_updated_by":"56826bf03710200044e0bfc8bcbe5dca",
             "requested_by":{
                "name":"Abel Tuter"
             },
             "watch_list":[
                {
                   "name":"Abel Tuter"
                },
                {
                   "name":"Aileen Mottern"
                },
                {
                   "name":"Alejandra Prenatt"
                },
                "56826bf03710200044e0bfc8bcbe5dca"
             ],
             "work_notes_list":[
                "56826bf03710200044e0bfc8bcbe5dca",
                "46c6f9efa9fe198101ddf5eed9adf6e7",
                "d8f57f140b20220050192f15d6673a98"
             ],
             "assigned_to":"1832fbe1d701120035ae23c7ce610369",
             "category":"Service",
             "sys_created_on":"2021-02-09 18:58:41",
             "priority":"2",
          }
       }
    }

    パイプラインの例

    図 : 1. 変更要求の詳細 - Azure パイプライン
    DevOps Azure 変更の詳細。
    図 : 2. ジョブレベル設定 — Jenkins
    JenkinsJobSettings です。
    図 : 3. 変更要求の詳細 - Jenkins
    DevOps Jenkins 変更の詳細。
    図 : 4. 変更要求の詳細 - GitHub
    DevOps GitHub の変更の詳細。