注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。
はじめに
このチュートリアルでは、andymckay/labeler
アクションと条件を利用し、プロジェクト ボードで特定の列に追� された Issue と pull request からラベルを削除する方法について説明します。 たとえば、プロジェクト カードが Done
に移動されるとき、needs review
ラベルを削除できます。
チュートリアルでは、andymckay/labeler
アクションを使用するワークフロー ファイルをまず作成します。 次に、ニーズに合わせてワークフローをカスタマイズします。
ワークフローの作成
-
このプロジェクト管理ワークフローを適用したいリポジトリを選択してく� さい。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成の詳細については、「新しいリポジトリの作成」を参照してく� さい。
-
リポジトリに属するプロジェクトを選択します。 このワークフローは、ユーザまたは Organization に属するプロジェクトでは使用できません。 既存のプロジェクトを使用することも、新しいプロジェクトを作成することもできます。 プロジェクトの作成に関する詳細については、プロジェクト ボードの作成に関するページを参照してく� さい。
-
リポジトリに
.github/workflows/YOUR_WORKFLOW.yml
というファイルを作成します (YOUR_WORKFLOW
は任意の名前に置き換えます)。 これがワークフローファイルです。 GitHub での新しいファイルの作成の詳細については、「新しいファイルの作成」を参照してく� さい。 -
次の YAML コンテンツをワークフローファイルにコピーします。
YAML # このワークフローはGitHubによって認定されていないアクションを使用します。 # それらはサードパーティによって提供され、 # 別個の利用規約、プライバシーポリシー、 # ドキュメントを参照してく� さい。 # GitHub では、コミット SHA にアクションをピン留めすることが推奨されます。 # 新しいバージョンを取得するには、SHA を更新する必要があります。 # タグまたはブランチを参照することもできますが、アクションは警告なしに変更される可能性があります。 name: Remove labels on: project_card: types: - moved jobs: remove_labels: if: github.event.project_card.column_id == '12345678' runs-on: ubuntu-latest permissions: issues: write pull-requests: write steps: - name: remove labels uses: andymckay/labeler@5c59dabdfd4dd5bd9c6e6d255b01b9d764af4414 with: remove-labels: "needs review" repo-token: ${{ secrets.GITHUB_TOKEN }}
-
ワークフローファイルのパラメータをカスタマイズします。
-
github.event.project_card.column_id == '12345678'
で、12345678
を、そこに移動された Issue と pull request のラベルを削除する列の ID に変更します。列 ID を見つけるには、プロジェクトボードに移動します。 列のタイトルの横にある をクリックし、 [列リンクのコピー] リンクをクリックします。 列 ID は、コピーされたリンクの末尾にある番号です。 たとえば、
24687531
はhttps://github.com/octocat/octo-repo/projects/1#column-24687531
の列 ID です。複数の列を操作する� �合、条件を
||
で区切ります。 たとえば、プロジェクト カードが列12345678
または列87654321
に追� されるたびにif github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321'
が動作します。 列は異なるプロジェクトボード上にある可能性があります。 -
remove-labels
の値を、指定された列に移動された Issue または pull request から削除するラベルのリストに変更します。 複数のラベルはコンマで区切ります。 たとえば、「"help wanted, good first issue"
」のように入力します。 ラベルの詳細については、「ラベルの管理」を参照してく� さい。
-
-
ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてく� さい。 詳細については、「新しいファイルの作成」を参照してく� さい。
ワークフローのテスト
リポジトリ内のプロジェクトのプロジェクトカードが移動するたびに、このワークフローが実行されます。 カードが Issue またはプルリクエストであり、指定した列に移動された� �合、ワークフローは、指定されたラベルを Issue またはプルリクエストから削除します。 注釈のカードは影響を受けません。
プロジェクトの Issue をターゲット列に移動して、ワークフローをテストします。
- リポジトリで Issue をオープンします。 詳細については、「Issue の作成」を参照してく� さい。
- ワークフローで削除するラベルを使用して Issue にラベルを付けます。 詳細については、ラベルの管理に関する記事を参照してく� さい。
- ワークフローファイルで指定したプロジェクト列に Issue を追� します。 詳細については、「プロジェクトボードへの Issue および pull request の追� 」を参照してく� さい。
- プロジェクトに Issue を追� することでトリガーされたワークフローの実行を確認するには、ワークフローの実行履歴を表示します。 詳細については、「ワークフロー実行の履歴を表示する」を参照してく� さい。
- ワークフローが完了すると、プロジェクト列に追� した Issue で、指定したラベルが削除されます。
次のステップ
- ラベルを追� する、Issue が割り当てられているか、Issue に特定のラベルが貼られている� �合にこのアクションをスキップするなど、
andymckay/labeler
アクションでできる他のことについては、andymckay/labeler
アクション ドキュメントをご覧く� さい。 - このアクションを使用するワークフローの例については GitHub を検索してく� さい。