GitHub マーケットプレイスの ServiceNow DevOps カスタムアクション
GitHub マーケットプレイスのカスタムアクションを使用して、SonarQube スキャンデータ、セキュリティデータの収集、ワークフローの一時停止または再開、インスタンスで変更要求が承認または却下されるまでのワークフローの再開、変更要求の詳細の取得と更新などを行います。
または、Docker コンテナイメージを使用して、 GitHub Actions パイプラインのカスタムアクションを実装することもできます。詳細については、「汎用 Docker コンテナイメージを使用したパイプラインのカスタムアクションの実装」を参照してください。
ServiceNow DevOps SonarQube カスタムアクション
ワークフローの実行によって開始されたプロジェクトの SonarQube スキャン結果を ServiceNow インスタンスに保存します。インスタンスで SonarQube ツールを作成し、ワークフロー内のジョブのステップレベルで ServiceNow DevOps SonarQube カスタムアクションを使用する必要があります。
- 移動先 .
- 移動先 関連する タスク実行 レコードを選択します。
- インスタンスに SonarQube ツールを作成します。
トークンの生成元 ページを作成し、生成されたトークンを使用して ServiceNow インスタンスにツールを作成します。詳細については、「DevOps 変更速度管理 への SonarQube のオンボーディング - ワークスペース」と「DevOps 変更速度管理 へのオンボードSonarQube - クラシック」を参照してください。
- 次のシークレットを作成して、SonarQube スキャン結果を ServiceNow インスタンスに保存します。
- SONAR_HOST_URL:SonarQube インスタンスの URL。たとえば、 https://sonarcloud.io
- SONAR_PROJECT_KEY:SonarQube インスタンス内のプロジェクトを識別するキー。例: org.examples:demo
- ワークフローで ServiceNow DevOps SonarQube カスタムアクションを構成します。
カスタムアクション
servicenow-devops-sonarは、uses キーワードを使用してワークフロー内のジョブのステップレベルで構成する必要があります。SonarQube 分析結果を ServiceNow インスタンスに保存するために、このカスタムアクションの入力を変更しないでください。詳細については、「ServiceNow DevOps Sonar」を参照してください。
ServiceNow DevOps テストレポートカスタムアクション
ワークフロー実行によって開始されたプロジェクトの単体テスト結果を ServiceNow インスタンスに保存します。ServiceNow DevOpsテストレポートカスタムアクションは、ワークフロー内のジョブのステップレベルで使用する必要があります。
次に移動して、 ServiceNow インスタンスに保存された単体テスト結果を表示します .
次の場所に移動して表示することもできます をクリックし、関連する タスク実行 レコードをクリックします。
- GitHub リポジトリでシークレットを作成します。
- ワークフローで [ DevOps テストレポート] カスタムアクションを設定します。
カスタムアクション
servicenow-devops-test-reportは、uses キーワードを使用してワークフロー内のジョブのステップレベルで構成する必要があります。単体テスト結果を ServiceNow インスタンスに保存するために、このカスタムアクションの入力を変更しないでください。詳細については、「ServiceNow DevOps テストレポート」を参照してください。
ServiceNow DevOps アーティファクトの登録カスタムアクション
ServiceNowインスタンスのワークフロー実行によって作成または展開されたアーティファクトを保存します。ワークフローのジョブのステップレベルで ServiceNow DevOps Register Artifact カスタムアクションを使用します。
次に移動して、インスタンスに保存されたアーティファクトの詳細を表示します .
- GitHub リポジトリでシークレットを作成します。
- ワークフローで [アーティファクト ServiceNow DevOps 登録] カスタムアクションを構成します。
カスタムアクション
servicenow-devops-register-artifactは、uses キーワードを使用してワークフローのジョブのステップレベルで構成する必要があります。アーティファクトの詳細をインスタンスに保存するために、このカスタムアクションの入力を変更しないでください。詳細については、「ServiceNow DevOps 登録アーティファクト」を参照してください。
ServiceNow DevOps パッケージ登録カスタムアクション
ServiceNowインスタンスでワークフロー実行によって作成または展開されたパッケージを保存します。ワークフロー内のジョブのステップレベルで ServiceNow DevOps パッケージ登録カスタムアクションを使用します。
次に移動して、 ServiceNow インスタンスに保存されたパッケージの詳細を表示します .
- GitHub リポジトリでシークレットを作成します。
- ワークフローで ServiceNow DevOps アーティファクトの登録カスタムアクションを構成します。
カスタムアクション
servicenow-devops-register-packageは、uses キーワードを使用してワークフローのジョブのステップレベルで構成する必要があります。アーティファクトの詳細をインスタンスに保存するために、このカスタムアクションの入力を変更しないでください。詳細については、「ServiceNow DevOps でパッケージを登録」を参照してください。
ServiceNow DevOps Change Automation カスタムアクション
ServiceNowインスタンスで変更要求を作成し、ServiceNowインスタンスからワークフローの実行を一時停止および再開します。
ワークフロー内のジョブのステップレベルで [ ServiceNow DevOps 変更自動化] カスタムアクションを使用します。しきい値 (changeCreationTimeOut) で指定された期間内に変更が作成されず、 abortOnChangeCreationFailure パラメーターが有効になっている場合、パイプラインは中止されます。
このカスタムアクションは、ServiceNowで変更要求を作成し、[変更コントロール] オプションを有効にし、変更が承認または却下されるか、タイムアウトしきい値 (タイムアウト) に達するまで、定義された時間間隔でServiceNowインスタンスにポーリングしてステータスを変更します。タイムアウトしきい値に達し、abortOnChangeStepTimeout パラメーターが有効になっている場合は、GitHubワークフローの実行を中止します。
このカスタムアクションは、ServiceNowインスタンスで変更が承認または却下されるのを待たずに、ServiceNow のパイプラインで変更受付が有効になっている場合に、ワークフローの実行をすぐに再開します。
ServiceNowインスタンスで実行されたワークフローに対して作成された変更を表示するには、次の場所に移動します。 .
ステータスpending_decisionの変更番号は、ServiceNowインスタンスの変更ステータスをポーリングしている間、GitHub アクションコンソールに表示されます。変更コメント、承認者、承認日、ステータスなどの詳細は、ServiceNowインスタンスGitHubユーザーによって変更が承認、却下、またはキャンセルされた後、アクションコンソールに記録されます。
パイプラインのコンソールログに移動して変更要求のステータスを表示できます 変更要求が作成されると、ポーリング時間間隔に従って変更の詳細が表示されます。変更要求の状況に関連付けられたポリシー条件も評価され、ログに表示されます。たとえば、DevOps 変更要求の高度な自動化ポリシーが有効になっている場合、ポリシー条件が評価され、対応する決定 (自動承認/自動却下/手動承認) がログに表示されます。
- number
- details
- status
- sys_id
- type
- risk
- priority
- changeState
- plannedStartDate
- plannedEndDate
- changeRequestURL
- DevOps モデル変更ポリシー:変更の作成時および変更状況が更新されると、ログのみが表示されます。
- DevOps 変更要求最小自動化ポリシー:変更の決定および変更の決定に対応するポリシー条件とともにログが表示されます。
- DevOps 変更要求の高度な自動化ポリシー:変更の決定および変更の決定に対応するポリシー条件とともにログが表示されます。
- フィールド
- code_coverage
- commits_without_work_item
- integration_tests_failed
- load_tests_failed
- regression_tests_failed
- num_of_outages_in_last_7_days
- num_of_current_outages
- num_of_open_incidents
- total_num_of_commits
- tests_passing_percent
- risk
- code_security
- commits
- 演算子
- <=
- >=
- !=
- =
- <
- >
- ISNOTEMPTY
- ISEMPTY
- BETWEEN
- ANYTHING
- NSAMEAS
- SAMEAS
- GT_FIELD
- LT_FIELD
- GitHub レポジトリでシークレットを作成します。
- ワークフロー ServiceNow DevOps [変更の自動化] カスタムアクションを構成します。
カスタムアクション
servicenow-devops-changeは、uses キーワードを使用して、ワークフロー内のジョブのステップレベルで構成する必要があります。このカスタムアクションの入力を改ざんして、インスタンスに変更を作成し、変更ステータスを秒数ごとにポーリングしないようにしてください。詳細については、「ServiceNow DevOps Change Automation (ServiceNow DevOps 変更の自動化)」を参照してください。
ServiceNow DevOps で Github アクションの変更を取得
特定の変更の詳細に基づいて、GitHub Actions パイプラインで変更要求番号を取得します。
「ServiceNow DevOps で Github アクションの変更を取得」カスタムアクションをパイプラインジョブのステップレベルで追加し、変更の詳細を指定して ServiceNow インスタンスから変更要求番号を取得する必要があります。
ServiceNow DevOps で変更 GitHub アクションを更新
GitHub アクションのパイプラインに関連付けられた変更要求の詳細を取得して更新します。
ServiceNow インスタンスで変更要求を更新するには、パイプラインジョブのステップレベルで「ServiceNow DevOps で GitHub アクションの変更を更新」カスタムアクションを追加する必要があります。詳細を更新する必要がある変更要求番号と更新する変更要求の詳細を入力として指定する必要があります。
ServiceNow DevOps セキュリティ結果アクション
ServiceNow でセキュリティスキャン結果を取得します。
ServiceNow でセキュリティスキャン結果を取得するには、「ServiceNow DevOps セキュリティ結果アクション」カスタムアクションをパイプラインジョブのステップレベルで追加する必要があります。