DevOps 変更プロセスの促進

  • リリースバージョン: Yokohama
  • 更新日 2025年07月31日
  • 所要時間:7分
  • パイプラインで変更要求を自動的に作成するために DevOps 変更速度管理の変更の促進機能を有効にし、変更承認フローとポリシーを使用して特定の条件下で承認を自動化します。

    注:
    変更を促進するには、ServiceNow 変更管理をインストールする必要があります。

    アクティブな変更要求の詳細を表示するには、次に移動します DevOps > 調整 > パイプライン変更要求.

    変更制御プロセス

    DevOps 開発パイプラインのジョブに対して変更管理が有効になると、変更要求にアサイン先グループが追加されている場合、変更要求が自動的に作成され、現在のステージまたはジョブの実行の承認を要求するために [評価] ステータスに設定されます。変更要求は、変更承認ポリシーで条件を設定することで自動的に承認できます。

    変更要求が承認されず、[キャンセル済み] または [クローズ済み] ステータスに移行した場合、関連する Jenkins、GitHub、または ADO ジョブは失敗としてマークされ、コンソールメッセージが表示されます。

    Jenkins の場合:[ServiceNow DevOps] ジョブの実行が承認されませんでした ([ServiceNow DevOps] Job was not approved for execution)

    GitHub の場合:エラー:**** 変更が作成されましたが、変更は却下またはキャンセルされました (Error: **** Change has been created but the change is either rejected or cancelled)

    ADO の場合:"changeState":"Closed"

    変更承認作業メモ

    フローと変更承認ポリシーに基づいて変更要求が更新されると、変更要求に関連付けられた作業メモが次のいずれかのハードコードされたメッセージに更新されます。

    • 変更承認ポリシーが見つかりませんでした。変更の要求は却下されました (%s)。
    • %s はアクティブではありません。変更の要求は却下されました (%s)。
    • 一致する決定がありません。%s がスキップされました (%s) 。
    • 一致する決定から承認が生成されませんでした。%s がスキップされました (%s)。
    • 変更の要求が %s (%s) によって却下されました。
    • 変更の要求が %s (%s) によって承認されました。
    作業メモは、ハードコードされたメッセージの 1 つ + ポリシー名 + 変更要求に関連付けられたフローで使用されるアクションラベルの組み合わせを使用するロジックに基づいて更新されます。この組み合わせでは、ポリシー名とアクションラベルの値のみを変更できますが、ハードコードされたメッセージは変更できません。次に例を示します。
    if (APPROVED.equals(state))
    38 message = String.format(APPROVED_MSG, policyName, actionLabel);

    デフォルトの変更ハンドラーサブフロー

    変更要求フィールドにデフォルト値を入力するためのデフォルトの変更ハンドラーサブフローを使用します。
    • 要求者
    • 正当性
    • 実装計画
    • バックアウトプラン
    • テスト計画
    • 簡単な説明
    • 説明
    • 開始日
    • 終了日
    • リスク影響度の分析 (Risk Impact Analysis)

    デフォルトの変更ハンドラー (Default Change Handler) サブフローは、変更要求レコードの作成時にテンプレートを使用して入力されたフィールド値をオーバーライドします。

    必要に応じて、 [sn_devops.change_request_handler_subflow] DevOps プロパティ.

    カスタム変更要求テンプレート

    ServiceNow DevOps ステップで変更管理を有効にすると、カスタムテンプレートを選択して、変更要求の作成中にフィールドに自動的に入力することができます。変更要求の [カテゴリ] フィールドは自動的に [DevOps] に設定されます。
    注:
    カスタムテンプレートから [カテゴリ] フィールドと [changeType] フィールドを構成しないでください。

    変更要求のタイプは、グローバルスコープの変更要求テーブルに対応します。

    [自動変更要求 (Automatic change request)] 関連リスト

    DevOps によって自動的に作成された変更要求の場合、 [カテゴリ] フィールドは自動的に [DevOps] に設定され、次の関連リストが追加されます。
    コミット
    変更要求に関連付けられたコミット。
    作業アイテム
    変更要求に関連付けられた作業アイテム。
    アーティファクトバージョン

    変更要求が承認される前に作成されたパッケージのパイプライン実行にリンクされているパッケージに関連付けられているアーティファクトバージョンのリスト。

    パイプライン実行にリンクされているパッケージがない場合、リストは空になります。

    テストサマリー ([テスト結果] 関連リストを置き換えます)

    変更要求前のアーティファクト、パッケージ、またはタスクの実行に関連付けられたパイプライン実行のテストサマリーのリスト。

    詳細については、「テスト結果」を参照してください。

    ソフトウェア数量サマリー
    変更要求前のアーティファクト、パッケージ、またはタスク実行に関連付けられたパイプライン実行のソフトウェア品質サマリーのリスト。

    [DevOps 変更] 関連リスト

    注:
    オーケストレーションツールからの実装の詳細は、変更要求フォームの [作業メモ] フィールドに自動的に追加されます。作業メモに追加される詳細は、ステップのタスク実行ログの 5 KB に制限されています。

    カスタム変更要求プロセス

    これらの DevOps 変更プロパティを使用して、変更要求フローをカスタマイズできます。

    • DevOps 変更要求の実装ステータス
    • DevOps 変更要求の実装後ステータス
    • DevOps 変更要求のキャンセルステータス
    • DevOps 変更要求の承認テキスト

    変更要求フローをカスタマイズするには、まず システム定義 > 選択リスト. たとえば、[DevOps_Implement (value - 10)] です。

    次に、選択リストを次に追加します システム定義 > スクリプトインクルード > 変更要求ステータスハンドラー SNC.

    選択リストを作成してスクリプトインクルードに追加したら、DevOps 変更プロパティを新しい選択リスト値で更新できます。たとえば、DevOps change request implement state [-10] です。

    DevOps リスク条件

    コミット担当者のリスクスコアに基づく DevOps リスクとインパクトカリキュレーションを使用できます。

    この条件は、デフォルトでは非アクティブです。

    [テスト結果] 関連リスト

    パッケージの作成後にパイプラインで実行されたテストを一覧表示します。パッケージが作成されなかった場合、リストにはアーティファクトバージョンの作成後に実行されたテストが含まれます。

    シナリオ:

    パイプラインにパッケージが作成されますが、アーティファクトバージョンは登録されません。
    • パッケージ作成ステージで変更要求が作成された場合:

      パッケージがまだパイプライン実行にリンクされていないため、テスト結果は表示されません。

    • パッケージ作成ステージの後のステージで変更要求が作成された場合:

      ビルド テストの概要には、パッケージ作成ステージの後、変更管理されたステージまでのステージに関連付けられているものが含まれます。

    アーティファクトバージョンは登録されますが、パッケージは作成されません。
    • アーティファクトバージョンで変更要求が作成された場合:

      タスクの実行が完了するまでテストが関連付けられないため、テスト結果は表示されません。

    • アーティファクトバージョンステージの後のステージで変更要求が作成された場合:

      ビルドテストの概要には、アーティファクトバージョンステージ、ならびにその後のステージ、変更管理されたステージまでのステージに関連付けられているものが含まれます。

    アーティファクトバージョンとパッケージの両方がパイプラインに作成されます。
    • 変更要求がアーティファクトバージョンステージおよびパッケージ作成ステージの一部である場合:

      ビルドテストの概要には、パッケージ作成ステージ、ならびにその後のステージ、変更管理されたステージまでのステージに関連付けられているものが含まれます。

    • 変更要求がパッケージ作成ステージの一部であり、アーティファクトバージョンステージがそれ以前のステージの一部として作成されている場合、
      • または変更要求が (パッケージ作成ではなく) アーティファクトバージョンステージの後、パッケージ作成ステージの前のステージで作成されている場合、
      • または変更要求がパッケージ作成ステージの一部であり、アーティファクトバージョンステージがそれ以前のステージの一部として作成されている場合:

      ビルドテストの概要には、アーティファクトバージョンステージ、ならびにその後のステージ、変更管理されたステージまでのステージに関連付けられているものが含まれます。

    [パイプライン実行] ビュー

    パイプラインアクティビティを表示するには、次に移動します DevOps > 調整 > パイプライン実行.

    DevOps パイプライン実行