カスタムアクションのAzure DevOpsAzure DevOpsServiceNow DevOps 拡張機能を使用する

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:11分
  • Azure DevOps の拡張機能をインストールして構成しDevOpsAzure パイプラインからDevOps チェンジベロシティにビルド通知とリリース通知を送信します。

    始める前に

    必要なロール:sn_devops.admin

    このタスクについて

    Visual Studio Marketplace - Azure DevOps の拡張機能ServiceNow DevOps 拡張機能を使用して、Azure パイプラインを ServiceNow DevOps アプリケーションと統合できます。DevOps チェンジベロシティ の成果物とパッケージの詳細については、「アーティファクトとパッケージ」を参照してください。

    • ServiceNow DevOps サービス接続

      Azure パイプラインをに接続するために必要です ServiceNow

    • ServiceNow DevOps リリースゲート

      Azure リリース (CD) パイプラインで変更管理を有効にするために必要です (デプロイ前の条件のみ)。

    Azure ビルド (CI) パイプラインのカスタム タスク:
    • エージェントレス (サーバー) ジョブ
      • ServiceNow DevOps サーバーアーティファクト登録カスタム タスク

        エージェントレス (サーバー) ジョブがアーティファクトを ServiceNow インスタンスに登録するために必要です

      • ServiceNow DevOps サーバーパッケージ登録 カスタムタスク

        エージェントレス (サーバー) ジョブが ServiceNow インスタンスにパッケージを登録するために必要です

      • ServiceNow DevOps サーバー変更の促進 カスタムタスク

        エージェントレス (サーバー) ジョブが Azure パイプラインの一部として ServiceNow 変更管理 で変更要求を自動的に作成するために必要です。

        注:
        ServiceNow DevOps サーバー変更の促進タスクには、ServiceNow DevOps サーバージョブ通知タスクは必要ありません。
      • ServiceNow DevOps サーバー変更カスタムタスクを取得

        サーバージョブの特定の変更の詳細に基づいてパイプライン内の変更要求番号を取得するために必要です。

      • ServiceNow DevOps サーバーによる変更カスタムタスクの更新

        サーバージョブのパイプラインに関連付けられた変更要求の詳細を更新するために必要です。

    • エージェントジョブ
      • ServiceNow DevOps エージェントアーティファクト登録カスタム タスク

        エージェントジョブがアーティファクトを ServiceNow インスタンスに登録するために必要です

      • ServiceNow DevOps エージェントパッケージ登録 カスタムタスク

        エージェントジョブが ServiceNow インスタンスにパッケージを登録するために必要です

      • ServiceNow DevOps エージェントの変更カスタムタスクを取得

        エージェントジョブの特定の変更の詳細に基づいてパイプライン内の変更要求番号を取得するために必要です。

      • ServiceNow DevOps エージェントによる変更カスタムタスクの更新

        エージェントジョブのパイプラインに関連付けられた変更要求の詳細を更新するために必要です。

      注:
      ServiceNow DevOps エージェントアーティファクト登録タスクと ServiceNow DevOps エージェントパッケージ登録タスクは、リリースパイプラインではサポートされていません。
    • ソフトウェア品質スキャン (SonarQube/SonarCloud)
      • ServiceNow DevOps ビルドソナー登録 カスタムタスク (ビルドパイプライン用)
      • ServiceNow DevOps リリースソナー登録 カスタムタスク (リリースパイプライン用)
      注:
      ServiceNow DevOps Build Sonar Registration タスクは、リリースパイプラインではサポートされていません。
    • セキュリティスキャン:
      • ServiceNow DevOps ビルドセキュリティ結果 カスタムタスク (ビルドパイプライン用)
      • ServiceNow DevOps リリースセキュリティ結果 カスタムタスク (リリースパイプライン用)
      注:
      ServiceNow DevOps セキュリティ構築結果タスクは、リリースパイプラインではサポートされていません。

    手順

    1. Visual Studio Marketplace に移動し、ServiceNow DevOps 拡張機能を検索して、 [無料で入手] をクリックします。
      DevOps Azure 拡張
    2. Azure DevOps組織を選択し、 [インストール] を選択します。
    3. Azure DevOpsプロジェクトから、 プロジェクト設定 > パイプライン > サービス接続.
    4. [ 新しいサービス接続 ] を選択し、一覧から [ServiceNow DevOps] を選択します。
    5. [ 次へ ] を選択し、次の詳細を入力します。
      認証手法 認証をトークンベースの方法と基本的な方法のどちらで行うかを選択します。
      ServiceNow インスタンス

      https://<your-instance>.service-now.com/

      ツール ID

      オーケストレーションツールのsys_id。

      この値は、オーケストレーションツールフォームの [ コピー sys_id ] コマンドを使用してコピーできます。ワークスペースを使用している場合は、Azure DevOps ツール接続フォームで [その他のフォームオプション] ([その他のフォームオプション] アイコン) > [コピー] sys_idを選択します。サービスカタログまたはクラシックを使用している場合は、Azure DevOpsツール接続フォームで [他のアクション] ([他のアクション] アイコン) > [コピー] sys_idを選択します。

      ユーザー名 devops.integration.user と入力します。
      注:
      統合ユーザー名とパスワードを入力する手順は、DevOps コンフィグがインストールされているか、 This property decides whether to create a Generic Connection on configure operation for Azure DevOps プロパティが無効になっている場合にのみ構成する必要があります。この手順が不要な場合、Webhook はトークンベースの認証を使用して構成されます。
      パスワード DevOps 統合ユーザーのパスワード。
      注:
      統合ユーザー名とパスワードを入力する手順は、DevOps コンフィグがインストールされているか、 This property decides whether to create a Generic Connection on configure operation for Azure DevOps プロパティが無効になっている場合にのみ構成する必要があります。この手順が不要な場合、Webhook はトークンベースの認証を使用して構成されます。
      API トークン エンドポイントに接続するための API トークン。
      サービスの接続名 DevOps 接続を入力
      すべてのパイプラインにアクセス許可を付与します チェックボックスをオンにします。

    図 : 1. Azure パイプライン:ServiceNow DevOps サービス接続の基本認証方法
    ベーシック認証方法用の Azure DevOps の新しいサービス接続
    図 : 2. Azure パイプライン:ServiceNow DevOps サービス接続トークンベースの認証方法
    トークンベースの認証方法のための Azure DevOps の新しいサービス接続

    で Azure ビルド (CI) パイプラインを設定する DevOps

    Azure DevOpsServiceNow DevOps 拡張機能を使用して、Azure ビルド (CI) パイプライン内の 変更管理 と成果物とパッケージを構成します。

    始める前に

    必要なロール:sn_devops.admin

    手順

    1. Azure DevOps インスタンスの Pipelines に移動します。
    2. 変更管理を有効にするパイプラインを選択します。
    3. [View (ビュー)] を選択します。
      パイプラインの YAML エディターが、右側の [タスク ] 検索ウィンドウと共に表示されます。
    4. [ タスク ] ペインで必要なカスタムアクションを検索して選択します。
      カスタムアクション ステップ
      ServiceNow DevOps サーバー変更の促進
      1. [ Display name (表示名)] フィールドに「 ServiceNow Change Acceleration」と入力します。
      2. [ServiceNow エンドポイント] フィールドに「My Connection」と入力します。
      3. [ 実行されたアップストリームジョブ ] フィールドに、前のジョブを示す値を入力します。たとえば、サーバーの前のジョブは Test です。
      4. [変更要求の詳細] フィールドで、パイプライン内からクローズコードフィールドと変更要求フィールドを設定します。
      情報アイコンを選択すると、サンプル出力が表示されます。

      変更の促進の詳細については、「 変更の促進」を参照してください。

      ServiceNow DevOps エージェントアーティファクトレジストリ
      1. [ServiceNow エンドポイント] フィールドに「My Connection」と入力します。
      2. [ アーティファクトペイロード ] フィールドに、アーティファクトのリストを含む JSON を入力します。
      成果物の詳細については、「 アーティファクトとパッケージ」を参照してください。
      ServiceNow DevOps エージェントパッケージレジストリ
      1. [ServiceNow エンドポイント] フィールドに「My Connection」と入力します。
      2. [ パッケージ名 ] フィールドに、アーティファクトを含むパッケージの名前を入力します。
      3. [ アーティファクトペイロード ] フィールドに、ビルドの詳細とアーティファクトのリストを含む JSON を入力します。
      成果物の詳細については、「 アーティファクトとパッケージ」を参照してください。
      ServiceNow DevOps サーバーで変更を取得 パイプラインで変更要求の詳細を取得および更新Azure DevOps
      ServiceNow DevOps サーバーで変更を更新 パイプラインで変更要求の詳細を取得および更新Azure DevOps
      ServiceNow DevOps エージェントが変更を取得 パイプラインで変更要求の詳細を取得および更新Azure DevOps
      ServiceNow DevOps エージェントによる変更の更新 パイプラインで変更要求の詳細を取得および更新Azure DevOps
    5. [追加] を選択して、カスタム タスクを Azure パイプラインの [タスク] セクションに追加します。

    図 : 3. Azure パイプライン:ServiceNow DevOps 変更の促進カスタムタスク
    DevOps Azure Change 拡張機能
    DevOps ServiceNow Change Acceleration 拡張機能

    Azure DevOps サーバーカスタムタスク

    図 : 4. 変更要求の詳細の例
    DevOps Azure 変更の詳細

    で Azure リリース (CD) パイプラインを設定する DevOps

    Azure DevOpsServiceNow DevOps 拡張機能を使用して、Azure リリース (CD) パイプライン内の変更管理、成果物、パッケージを構成します。

    始める前に

    必要なロール:sn_devops.admin

    このタスクについて

    注:
    Azure リリース (CD) パイプラインの変更管理は、デプロイ前のゲートでのみサポートされています。デプロイメント・ゲート前の変更要求は、そのステージの最初のジョブのステップ実行にマップされます。

    Azure リリース パイプラインのフェーズは、ステップにマップされます。マルチ構成またはマルチエージェントジョブのステップ名には、パイプライン実行時に派生した実際のジョブ名ではなく、フェーズ名のみを含める必要があります。

    スキップされたジョブのタスク実行は失敗としてマークされます。

    手順

    1. Azure DevOps Pipelines で、リリース パイプラインに移動し、[ デプロイ前の条件 ] ウィンドウを開きます。
    2. ゲート設定を有効にして、[ +追加]をクリックします。
    3. [ServiceNow DevOps Release Gate (ServiceNow DevOps リリースゲート)] をクリックし、ServiceNow エンドポイントを選択します。
    4. リリース ゲート コンフィギュレーションを終了し、[Evaluation options] セクションを展開してタイミング フィールドを設定します。
      ゲートの再評価間の時間

      再評価間隔 (分、時間、または日単位)。

      変更要求がキャンセルまたは拒否された場合、Azure パイプライン リリース ゲートは、タイムアウトになるまで、構成された間隔で変更要求の状態を再評価し続けます。

      変更要求が既に承認、却下、またはキャンセルされた後は、さらに再評価を試みても、ユーザーの介入は必要ありません。

      ゲートが失敗するまでのタイムアウト タイムアウト値 (分、時間、または日単位)。

      デプロイ前の条件が失敗した場合、ステージの後続のジョブは失敗としてマークされ、開始時刻と終了時刻はデフォルトで現在のシステム時刻になります。

    5. オプション: Azure リリース (CD) パイプラインで成果物を構成します。
      ビルドパイプラインをソースとして使用してアーティファクトを設定するには、これらの名前が一致する必要があります。
      • リポジトリ名とビルドパイプライン名 (DeployableRepo など)。
      • ビルドパイプライン成果物の名前プロパティと、リリースパイプライン成果物のソースエイリアスプロパティ (BuildDrop など)。
      ビルド パイプラインに加えて、他の 8 つのソースから成果物を選択できます。コミットと作業アイテムの詳細を追跡するには、次のルールに従います。
      • ソースがビルド パイプラインの場合、成果物の セマンティック バージョン プロパティは MAJOR 形式である必要があります 。マイナー。PATCH (5.1.3 など)。
      • ソースがビルドパイプラインでない場合は、DevOpsArtifactSemanticVersionAPI 拡張インターフェイスを実装してセマンティックバージョンを定義します。

      アーティファクトの詳細については、「 アーティファクトとパッケージ 」を参照してください。

    図 : 5. ServiceNow DevOpsAzure DevOps の拡張 - リリースゲート
    の ServiceNow DevOps リリースゲート Azure DevOps
    図 : 6. Azure リリースパイプラインの事前デプロイゲート構成
    DevOps Azure ゲート構成
    図 : 7. アーティファクトセットアップ:パイプラインソースをビルド
    DevOps アーティファクト YAML 構成
    図 : 8. アーティファクトのセットアップ:リリースパイプライン
    DevOps アーティファクトパイプライン構成