このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

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

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

ノート: GitHub Actionsは、GitHub Enterprise Server 2.22で限定ベータとして利用可能でした。 ベータは終了しました。 GitHub Actionsは、GitHub Enterprise Server 3.0以降で一般に利用可能になりました。 詳しい情報については、GitHub Enterprise Server 3.0 のリリースノートを参照してください。


ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。

はじめに

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

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

ワークフローの作成

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

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

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

  4. 次の 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 }}
  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 を検索 してください。

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