ノート: GitHub Actionsは、GitHub Enterprise Server 2.22で限定ベータとして利用可能でした。 ベータは終了しました。 GitHub Actionsは、GitHub Enterprise Server 3.0以降で一般に利用可能になりました。 詳しい情報については、GitHub Enterprise Server 3.0 のリリースノートを参照してください。
- GitHub Enterprise Server 3.0以降へのアップグレードに関する詳しい情報については「GitHub Enterprise Serverのアップグレード」を参照してください。
- アップグレード後のGitHub Actionsの設定に関する詳しい情報については、GitHub Enterprise Server 3.0のドキュメンテーションを参照してください。
ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。
はじめに
このチュートリアルでは、andymckay/labeler
アクションを条件付きで使用して、プロジェクトボードの特定の列に追加された Issue とプルリクエストからラベルを削除する方法を説明します。 たとえば、プロジェクトカードが Done
列に移動されたときに needs review
ラベルを削除できます。
チュートリアルでは、最初に andymckay/labeler
アクションを使用するワークフローファイルを作成します。 次に、ニーズに合わせてワークフローをカスタマイズします。
ワークフローの作成
-
このプロジェクト管理ワークフローを適用したいリポジトリを選択してください。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成に関する詳細は「新しいリポジトリの作成」を参照してください。
-
リポジトリに属するプロジェクトを選択します。 このワークフローは、ユーザまたは Organization に属するプロジェクトでは使用できません。 既存のプロジェクトを使用することも、新しいプロジェクトを作成することもできます。 プロジェクトの作成の詳細については、「プロジェクトボードを作成する」を参照してください。
-
リポジトリに、
.github/workflows/YOUR_WORKFLOW.yml
というファイルをYOUR_WORKFLOW
の部分を選択した名前で置き換えて作成してください。 これがワークフローファイルです。 GitHub上での新しいファイルの作成に関する詳しい情報については「新しいファイルの作成」を参照してください。 -
次の YAML コンテンツをワークフローファイルにコピーします。
YAML # このワークフローはGitHubによって認定されていないアクションを使用します。 # それらはサードパーティによって提供され、 # 別個の利用規約、プライバシーポリシー、 # サポートドキュメンテーションが適用されます。 name: Remove labels on: project_card: types: - moved jobs: remove_labels: if: github.event.project_card.column_id == '12345678' runs-on: ubuntu-latest 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 とプルリクエストのラベルを解除する列の ID に置き換えます。列 ID を見つけるには、プロジェクトボードに移動します。 列のタイトルの横にある をクリックし、[Copy column link] リンクをクリックします。 列 ID は、コピーされたリンクの末尾にある番号です。 たとえば、
https://github.com/octocat/octo-repo/projects/1#column-24687531
の列 ID は24687531
です。複数の列を操作する場合は、条件を
||
で区切ります。 たとえば、プロジェクトカードが列12345678
または列87654321
に追加されるたびにif github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321'
が動作する場合、 列は異なるプロジェクトボード上にある可能性があります。 -
remove-labels
の値を、指定された列に移動された Issue またはプルリクエストから削除するラベルのリストに変更します。 複数のラベルはコンマで区切ります。 たとえば、"help wanted, good first issue"
というようにします。 ラベルの詳細については、「ラベルを管理する」を参照してください。
-
-
ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてください。 詳細は「新しいファイルを作成する」を参照してください。
ワークフローのテスト
リポジトリ内のプロジェクトのプロジェクトカードが移動するたびに、このワークフローが実行されます。 カードが Issue またはプルリクエストであり、指定した列に移動された場合、ワークフローは、指定されたラベルを Issue またはプルリクエストから削除します。 注釈のカードは影響を受けません。
プロジェクトの Issue をターゲット列に移動して、ワークフローをテストします。
- リポジトリで Issue をオープンします。 詳しい情報については、「>Issue を作成する」を参照してください。
- ワークフローで削除するラベルを使用して Issue にラベルを付けます。 詳しい情報については、「ラベルを管理する」を参照してください。
- ワークフローファイルで指定したプロジェクト列に Issue を追加します。 詳しい情報については、「プロジェクトボードに Issue およびプルリクエストを追加する」を参照してください。
- プロジェクトに Issue を追加することでトリガーされたワークフローの実行を確認するには、ワークフローの実行履歴を表示します。 詳しい情報については、「ワークフロー実行の履歴を表示する」を参照してください。
- ワークフローが完了すると、プロジェクト列に追加した Issue で、指定したラベルが削除されます。
次のステップ
- ラベルの追加や、Issue が割り当てられている場合または特定のラベルがある場合はこのアクションをスキップするなど、
andymckay/labeler
アクションで実行できる追加の機能について詳しくは、andymckay/labeler
アクションのドキュメントをご覧ください。 - このアクションを使用したワークフローの例については、GitHub を検索 してください。