DevOps データ検索エラーによる変更要求の作成

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:6分
  • DevOps データ検索でエラーが発生した場合でも変更要求を作成します。

    DevOps データを使用した変更の作成の概要

    注:
    DevOps データ検索エラーを伴う変更要求の作成は、 Azure DevOpsGitHub ActionsGitLab、および Jenkins パイプラインでのみサポートされています。

    DevOps データ検索では、エラーの有無にかかわらず変更要求を作成できます。この機能は、[ DevOps データ検索でエラーが発生した場合でも変更要求の作成を有効にする ] プロパティで制御できます。[ DevOps データ検索でエラーが発生した場合でも変更要求の作成を有効にする ] プロパティが有効になっていて、作業アイテム、コミット、テストサマリ、セキュリティサマリーなどの DevOps データの取得中にエラーが発生した場合でも、対応する変更要求は作成されます。取得できるデータは、引き続き変更要求に関連付けられます。取得できないデータについては、サードパーティコンソールでエラーの理由がユーザーに通知され、ステップ実行レコードと変更作業メモの [コメントの変更] フィールドにも同じ情報が追加されます。

    [DevOps データ検索でエラーが発生した場合でも変更要求の作成を有効にする] プロパティが有効になっていない場合、変更要求は、パイプライン実行のどのステップにもエラーがない場合にのみ作成されます。エラーが発生すると、パイプラインが中止され、エラーの理由が受信イベントの [処理の詳細 ] フィールドに追加され、サードパーティコンソールでユーザーに通知されます。

    詳細については、「DevOps チェンジベロシティ のプロパティ」を参照してください。

    DevOps データ検索エラーのある変更要求の承認

    DevOps データ検索エラーで作成された変更要求の場合、 is_change_with_partial_data ポリシー入力はすべての変更承認ポリシーに対して True に設定されます。このような変更には手動変更承認の決定のみが適用されるため、その中の DevOps データを手動で検証した後に変更を承認または却下できます。DevOps による変更ポリシーデータの収集サブフローでは、 Is change with partial data アクションによって、DevOps データ検索エラーで変更が作成されるかどうかが判断されます。

    DevOps データ検索エラーのある変更要求のパイプライン UI

    DevOps データ検索エラーを含む変更要求が作成されると、エラーが発生したステージを指定するカードが黄色で表示されます。エラーのある変更のエラーステージカードを黄色で表示するパイプライン UI

    注:
    リリース (CD) パイプラインをトリガーするようにビルド パイプライン (CI) が設定されていて、リリース パイプラインで変更が作成された場合、データはビルド パイプラインから収集され、変更要求に関連付けられます。ServiceNow DevOps チェンジベロシティは、ビルドパイプラインイベントの前にリリースパイプラインイベントを受信して処理する場合があります。この場合、一部のデータの取得中にエラーが発生しても、ビルドパイプラインからの DevOps データを使用して変更が作成されます。この動作は、[ DevOps データ検索でエラーが発生した場合でも変更要求の作成を有効にする (Enable change request creation even with errors in the DevOps data retrieval )] プロパティが有効になっている場合でも確認できます。また、この場合、 is_change_with_partial_data ポリシー入力は false になり、DevOps データ検索エラーのある変更要求の場合の常に手動とは異なり、承認プロセスは承認フローで定義された方法で適用されます。

    コールバック タイムアウト

    パイプラインの実行中に受信イベントが待機状態になると、システムは sn_devops.change _request_callback_timeout プロパティのタイムアウト値を超えるまで変更の処理を試行し、その後パイプラインは中止されます。エラーの理由は、サードパーティツールのコンソールログに表示されます。コールバックタイムアウトが原因でパイプラインがキャンセルされると、対応するステップ実行のコールバックレコードに同じ情報が追加されます。DevOps アドミンに連絡して、 sn_devops.change_request_callback_timeout プロパティのタイムアウト値を増やすことができます。このプロパティのデフォルト値は 120 分で、最小値は 60 分です。詳細については、「DevOps チェンジベロシティ のプロパティ」を参照してください。

    注:
    対応するパイプラインで GitHub 変更自動化カスタムアクションまたは GitLab Docker 変更自動化カスタムアクションを使用して変更要求を作成している場合は、カスタムアクションに 間隔 を指定する必要があります。これにより、GitHub または GitLab が ServiceNow DevOps に変更ステータスをポーリングできるようになります。指定された間隔内に ServiceNow で変更が適切なステータスになると、変更の結果に応じた適切なステータスが GitHub または GitLab パイプラインに送信され、パイプラインが再開または中止されます。詳細については、 GitHub マーケットプレイスの ServiceNow DevOps カスタムアクションServiceNow のカスタムアクション GitLab を参照してください。そのため、変更カスタムアクションを含むパイプラインが実行され、GitHub または GitLab からのステップ通知のいずれかが ServiceNow DevOps に到達しなかった場合、コールバック、ステップ実行、およびタスク実行の関連付けは ServiceNow DevOps では行われません。関連付けが利用できないため、変更は作成されず、ServiceNow DevOps は関連付けが適用されるまで待機します。同時に、間隔で指定された時間に達するまで、GitHub または GitLab が ServiceNow に変更ステータスをポーリングします。間隔が経過し、 sn_devops.change_request_callback_timeout プロパティで指定されたタイムアウトに達すると、ServiceNow DevOps はパイプラインを終了せず、GitHub または GitLab ステップで設定されたデフォルトのタイムアウトのままにし、最終的にパイプラインを終了します。このシナリオで重要な情報は、ServiceNow DevOps は、GitHub または GitLab コンソールログでステップイベントが ServiceNow DevOps に到達しなかったことをユーザーに通知できないということです。

    アップグレード

    アップグレード後、このプロパティはデフォルトで false に設定されます。現在の変更プロセスはそのまま機能しますが、表示される唯一の違いは、DevOps データの取得中にエラーが発生すると、パイプラインが (無期限に待機するのではなく) 中止され、エラーの理由が受信イベントの [処理の詳細 ] フィールドに追加され、サードパーティコンソールでユーザーに通知されることです。DevOps データの取得中にエラーが発生した変更要求を作成し、パイプラインを失敗させない場合は、[ DevOps データ検索でエラーが発生した場合でも変更要求の作成を有効にする ] プロパティを有効にすることができます。これにより、DevOps の証拠を使用して変更が自動的に作成され、収集され、変更要求の作業メモと、欠落している可能性のあるエラーやデータを含むサードパーティコンソールログで適切に通知されるため、変更承認者と AppDev チームに価値がもたらされます。

    制限事項

    [ DevOps データ検索でエラーが発生した場合でも変更要求の作成を有効にする ] プロパティが有効になっていて、パイプラインの ADO アーティファクトパッケージステップでエラーが発生した場合、ADO アーティファクトが関連付けられていない変更が作成されますが、対応するエラーは作業メモ、ステップ実行変更コメント、または ADO コンソールログで通知されません。