5.5. パイプライン実行に一致するイベントをフィルターするためのアノテーション
1 つ以上のアノテーションをパイプライン実行に追加して、このパイプライン実行に一致するイベントをフィルターできます。この場合、定義された一致するイベント(プルリクエスト、プッシュイベント、コメントなど)が発生すると、コードとしてのパイプラインは、これらのアノテーションも一致するかどうかを確認します。パイプライン実行は、追加したすべてのアノテーションが一致する場合にのみ起動します。
5.5.1. 特定のパスの変更とパイプライン実行の対応付け リンクのコピーリンクがクリップボードにコピーされました!
指定したパス内で変更があった場合のみ、パイプラインを実行するように設定できます。Pipelines as Code は、プルリクエストまたはプッシュイベントにリストしたパスの変更が含まれる場合にのみパイプライン実行を開始します。
* ワイルドカードはディレクトリー内の任意のファイルを表します。** ワイルドカードは、ディレクトリー内の任意のファイル、またはそのディレクトリーの配下のサブディレクトリーを表します。
次の例を使用すると、プルリクエストによって pkg ディレクトリー、cli ディレクトリー、または cli ディレクトリーの配下のサブディレクトリーにあるファイルが変更されたときに、pipeline-pkg-or-cli パイプラインの実行をトリガーします。
5.5.2. パイプライン実行のマッチング処理からパスの変更を除外する リンクのコピーリンクがクリップボードにコピーされました!
プルリクエストが指定されたパスのセット内のファイルのみを変更する場合に、マッチング処理を除外するようにパイプライン実行を設定できます。パイプラインの実行がイベントと一致しているが、プルリクエストにはリストしたパス内のファイルへの変更のみが含まれている場合、Pipelines as Code はパイプラインの実行を開始しません。
次の例を使用すると、docs/generated ディレクトリーまたはそのサブディレクトリーにのみ変更が加えられた場合を除き、docs ディレクトリーまたはサブディレクトリーのファイルがプルリクエストで変更された場合に、pipeline-docs-not-generated パイプライン実行がトリガーされます。
次の例を使用すると、docs ディレクトリーまたはサブディレクトリーにのみ変更が加えられた場合を除き、プルリクエストが main ブランチを対象とする場合に、pipeline-main-not-docs パイプライン実行がトリガーされます。
5.5.3. プルリクエストラベルとパイプライン実行とのマッチング処理 リンクのコピーリンクがクリップボードにコピーされました!
パイプライン実行とプルリクエストラベルを紐づけする機能は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
パイプライン実行を 1 つまたは複数のプルリクエストラベルと紐づけることができます。コードとしてのパイプラインは、プルリクエストにこれらのラベルのいずれかがある場合にのみパイプライン実行を開始します。プルリクエストが新しいコミットで更新されると、ラベルがまだ存在する場合、Pipelines as Code はパイプライン実行を再度開始します。
bug ラベルまたは defect ラベルをプル要求に追加した場合、またはこのラベルの付いたプル要求を新しいコミットで更新する場合に、以下の例を使用して、pipeline-bug-or-defect Pipeline 実行と紐づけできます。
Pipelines as Code の現行バージョンは、GitHub、Gitea、および GitLab リポジトリーのホストサービスプロバイダー専用のプルリクエストラベルとの合致イベントをサポートします。