カードがプロジェクトボードの列に追加されたときにラベルを削除する

GitHub Actions を使用すると、プロジェクトボードの特定の列に Issue またはプルリクエストが追加されたときに、ラベルを自動的に削除できます。

GitHub ActionsはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub AEで利用できます。 GitHub Actionsは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 詳しい情報については「GitHubの製品」を参照してください。

はじめに

このチュートリアルでは、andymckay/labeler アクションを条件付きで使用して、プロジェクトボードの特定の列に追加された Issue とプルリクエストからラベルを削除する方法を説明します。 たとえば、プロジェクトカードが Done 列に移動されたときに needs review ラベルを削除できます。

チュートリアルでは、最初に andymckay/labeler アクションを使用するワークフローファイルを作成します。 次に、ニーズに合わせてワークフローをカスタマイズします。

ワークフローの作成

  1. このプロジェクト管理ワークフローを適用したいリポジトリを選択してください。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成に関する詳細は「新しいリポジトリの作成」を参照してください。

  2. リポジトリに属するプロジェクトを選択します。 このワークフローは、ユーザまたは Organization に属するプロジェクトでは使用できません。 既存のプロジェクトを使用することも、新しいプロジェクトを作成することもできます。 プロジェクトの作成の詳細については、「プロジェクトボードを作成する」を参照してください。

  3. リポジトリに、.github/workflows/YOUR_WORKFLOW.ymlというファイルをYOUR_WORKFLOWの部分を選択した名前で置き換えて作成してください。 これがワークフローファイルです。 GitHub上での新しいファイルの作成に関する詳しい情報については「新しいファイルの作成」を参照してください。

  4. 次の YAML コンテンツをワークフローファイルにコピーします。

    YAML
    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@master
            with:
              remove-labels: "needs review"
              repo-token: ${{ secrets.GITHUB_TOKEN }}
  5. ワークフローファイルのパラメータをカスタマイズします。

    • 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" というようにします。 ラベルの詳細については、「ラベルを管理する」を参照してください。

  6. ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてください。 詳細は「新しいファイルを作成する」を参照してください。

ワークフローのテスト

リポジトリ内のプロジェクトのプロジェクトカードが移動するたびに、このワークフローが実行されます。 カードが Issue またはプルリクエストであり、指定した列に移動された場合、ワークフローは、指定されたラベルを Issue またはプルリクエストから削除します。 注釈のカードは影響を受けません。

プロジェクトの Issue をターゲット列に移動して、ワークフローをテストします。

  1. リポジトリで Issue をオープンします。 詳しい情報については、「>Issue を作成する」を参照してください。
  2. ワークフローで削除するラベルを使用して Issue にラベルを付けます。 詳しい情報については、「ラベルを管理する」を参照してください。
  3. ワークフローファイルで指定したプロジェクト列に Issue を追加します。 詳しい情報については、「プロジェクトボードに Issue およびプルリクエストを追加する」を参照してください。
  4. プロジェクトに Issue を追加することでトリガーされたワークフローの実行を確認するには、ワークフローの実行履歴を表示します。 詳しい情報については、「ワークフロー実行の履歴を表示する」を参照してください。
  5. ワークフローが完了すると、プロジェクト列に追加した Issue で、指定したラベルが削除されます。

次のステップ

  • ラベルの追加や、Issue が割り当てられている場合または特定のラベルがある場合はこのアクションをスキップするなど、andymckay/labeler アクションで実行できる追加の機能について詳しくは、andymckay/labeler アクションのドキュメントをご覧ください。
  • このアクションを使用したワークフローの例については、GitHub を検索 してください。

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡