次の方法で共有


ServiceNow 変更管理との統合

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines では ServiceNow との統合がサポートされているので、開発チームと IT チーム間のコラボレーションを改善できます。 チームは、リリース パイプラインに変更管理を組み込むことにより、変更に関連するリスクを軽減し、ITIL などのサービス管理手法に従いつつ、Azure Pipelines を最大限に活用できます。

この記事では、次の方法について学習します。

  • ServiceNow インスタンスを構成する。
  • ServiceNow 変更管理プロセスをリリース ゲートとして組み込む。
  • リリース パイプラインから変更管理プロセスを監視する。
  • 配置の結果で ServiceNow 変更要求が更新された状態を保持する。

前提条件

ServiceNow インスタンスを構成する

  1. ServiceNow インスタンスに Azure Pipelines 拡張機能をインストールします。 インストールを完了するには、HI 資格情報が必要です。 ServiceNow ストアからのアプリのインストールの詳細については、「Buying Overview」を参照してください。

  2. ServiceNow で新しいユーザーを作成し、x_mioms_azpipeline.pipelinesExecution ロールを付与します。

    ServiceNow で新しいユーザーを設定する方法を示すスクリーンショット。

Azure DevOps 組織を設定する

  1. Azure DevOps 組織に ServiceNow Change Management 拡張機能をインストールします。

    ServiceNow Change Management 拡張機能を示すスクリーンショット。

  2. 次のように、Azure DevOps プロジェクト内で新しい ServiceNow サービス接続を作成します。 または、OAuth2 認証を使用することもできます。

    ServiceNow サービス接続を構成する方法を示すスクリーンショット。

リリース パイプラインを構成する

  1. リリース パイプラインに移動し、[配置前条件] アイコンを選択します。 [ゲート] および [ServiceNow Change Management] 配置前ゲートを選択します。

    配置前ゲートを追加する方法を示すスクリーンショット。

  2. 以前に作成したサービス接続を選択し、次のように必須フィールドに入力します。

    ServiceNow Change Management ゲートを構成する方法を示すスクリーンショット。

    • [ServiceNow connection] (ServiceNow 接続): 変更管理で使用される、ServiceNow インスタンスへの接続。
    • [簡単な説明]: 変更の概要。
    • [説明]: 変更の詳細な説明。
    • [カテゴリ]: 変更のカテゴリ。 例: ハードウェア、ネットワーク、ソフトウェア。
    • [優先度]: 変更の優先度。
    • [リスク]: 変更のリスク レベル。
    • [影響]: 変更がビジネスに及ぼす影響。
    • [構成項目]: 変更の適用対象の構成項目 (CI)。
    • [代入グループ]: 変更の割り当て先のグループ。
    • [Schedule of change request] (変更要求のスケジュール): ServiceNow ワークフローで履行される変更のスケジュール。 日付と時刻は UTC で、yyyy-MM-ddTHH:mm:ssZ 形式にする必要があります。 例: 2018-01-31T07:56:59Z。
    • [Additional change request parameters] (追加の変更要求パラメーター): (ラベルではなく) フィールド名の前に 'u_' を付けた名前にする必要があります。 例: u_backout_plan。 ServiceNow で有効な値でなければなりません。 無効なエントリは無視されます。
    • [Desired state of change request] (変更要求の適切な状態): 変更要求の状態が指定の値と同じ場合に、ゲートが成功し、パイプラインが続行されます。
    • [詳細設定]: このゲートが成功する時点をコントロールする式を指定します。 ServiceNow からの応答で、変更要求は root['result'] と定義されます。 例 - "and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low'))"。 詳細については、「」を参照してください。
    • [出力変数] : 配置ワークフローで出力変数を使用できるようにするには、参照名を指定する必要があります。 エージェントレス ジョブで、"プレフィックス" として "PREDEPLOYGATE" を使用してゲート変数にアクセスできます。 たとえば、参照名を 'gate1' に設定すると、$(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER) で変更番号を取得できます。
    • [CHANGE_REQUEST_NUMBER]: 変更要求の番号。
    • [CHANGE_SYSTEM_ID]: 変更要求のシステム ID。
  3. リリース パイプラインの最後に、[Update ServiceNow Change Request] (ServiceNow 変更管理の更新) タスクを指定した [エージェントレス ジョブ] を追加します。

    ServiceNow 変更要求の更新タスクを構成する方法を示すスクリーンショット。

  • [ServiceNow connection] (ServiceNow 接続): 変更管理で使用される、ServiceNow インスタンスへの接続。
  • [Change request number] (変更要求番号): 更新する変更要求の番号。
  • [Updated status of change request] (変更要求の更新後の状態): 変更要求に対して設定する状態。 この入力は、[更新の状態] が選択されている場合に使用できます。
  • [Close code] (終了コード) と [Close notes] (終了メモ): 状態を返します。

注意

実行中に変更要求フィールドが更新されない場合、ServiceNow 変更要求の更新タスクは失敗します。 無効なフィールドや値がこのタスクに渡されると、ServiceNow で無視されます。

リリース パイプラインを作成する

  1. [リリースの作成] を選択して、新しいリリース パイプラインを開始します。

  2. パイプラインにより、以前に作成した配置前条件の一部として、ServiceNow で新しい変更要求が作成されるはずです。

    配置前ゲートの実行を示すスクリーンショット。

  3. パイプラインは、すべてのゲートが同じサンプルの間隔内で成功するまで待機します。 変更番号を検査するには、状態アイコンを選択してパイプラインのログを表示します。

    パイプラインのログを示すスクリーンショット。

  4. 変更要求は ServiceNow でキューに入れられ、変更所有者が参照できます。

    ServiceNow の新しい変更要求を示すスクリーンショット。

  5. 新しい変更要求をトリガーしたリリース パイプラインが、[Azure DevOps Pipeline metadata] (Azure DevOps パイプラインのメタデータ) セクションの下に示されます。

    リリース パイプラインのメタデータを示すスクリーン ショット。

  6. 変更を実装する準備ができたら (実装状態に移行)、パイプラインの実行が再開され、ゲートの状態は [成功] に戻るはずです。

    配置ゲートの状態を示すスクリーンショット。

  7. 変更要求は配置後に自動的に閉じられます。

YAML パイプライン

このチュートリアルでは、"最新" 環境に配置する YAML パイプラインがあり、1 つのステージが含まれていることを前提としています。

チェックを追加する

  1. [最新] 環境に移動し、省略記号ボタンを選択してから、[承認とチェック] を選択します。

  2. 新しいチェックを追加するためのプラス記号を選択してから、[ServiceNow Change Management] チェックを環境に追加します。 配置前ゲートに使用した構成を使用します。

    ServiceNow Change Management チェックを追加する方法を示すスクリーンショット。

YAML タスクを追加する

  1. ステージにサーバー ジョブを追加して、変更要求を更新します。

    エージェントレス タスクを示すスクリーンショット。

  2. パイプラインを保存して実行します。 新しい変更要求が自動的に作成され、パイプラインは一時停止し、このチェックが完了するまで待機します。

  3. このチェックが完了したら、パイプラインの実行が再開されるはずです。 変更要求は配置後に自動的に閉じられます。

パイプラインの実行を示すスクリーンショット。

よく寄せられる質問

質問: サポートされている ServiceNow のバージョンは何ですか?

答え: キングストン、ロンドン、ニューヨーク、パリ、ケベック、ローマ、サンディエゴ、東京のバージョンをサポートしています。

答え: キングストン、ロンドン、ニューヨーク、パリ、ケベックのバージョンをサポートしています。

A: 次のバージョンがサポートされています: サンディエゴ、東京、ユタ州のリリース。

質問: サポートされている変更要求の種類は何ですか?

答え: この統合では、通常、標準、緊急の変更要求がサポートされています。

質問: 追加の変更プロパティを設定するにはどうすればよいですか。?

答え: 追加の変更プロパティは、[Additional change request parameters] (追加の変更要求パラメーター) フィールドから指定できます。 キーと値のペアを JSON 形式で使用します。(ラベルではなく) フィールド名の前に u_ が付いた名前にします。

質問: 追加の変更要求パラメーターを指定して変更要求のカスタム フィールドを更新できますか?

答え: 変更要求でカスタム フィールドが定義されている場合、インポート設定変換マップ内にカスタム フィールドのマッピングを追加する必要があります。

質問: [カテゴリ] や [状態] などのフィールドでドロップダウン値が設定されません。 どうすればよいですか。

答え: ドロップダウンを機能させるには、ServiceNow インスタンスで Change Management Core と Change Management - State Model のプラグインをアクティブにする必要があります。 詳細については、「Change Management のアップグレード」と「変更要求のステータスの更新」を参照してください。

リソース