Skip to main content

ラベルが追加されたときに Issue にコメントする

GitHub Actions を使用して、特定のラベルが適用されたときに Issue に自動的にコメントすることができます。

はじめに

このチュートリアルでは、GitHub CLI を使用して、特定のラベルが適用されたときに Issue にコメントする方法を示します。 たとえば、help wanted ラベルが Issue に追加されたときに、コメントを追加して、共同作成者に Issue への対応を促すことができます。 GitHub CLI について詳しくは、「ワークフローで GitHub CLI を使用する」をご覧ください。

チュートリアルでは、まず gh issue comment コマンドを使用するワークフロー ファイルを作成して Issue にコメントします。 次に、ニーズに合わせてワークフローをカスタマイズします。

ワークフローの作成

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

  2. リポジトリに .github/workflows/YOUR_WORKFLOW.yml というファイルを作成します (YOUR_WORKFLOW は任意の名前に置き換えます)。 これがワークフローファイルです。 GitHub で新しいファイルを作成する方法について詳しくは、「新しいファイルの作成」を参照してください。

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

    YAML
    name: Add comment
    on:
      issues:
        types:
          - labeled
    jobs:
      add-comment:
        if: github.event.label.name == 'help wanted'
        runs-on: ubuntu-latest
        permissions:
          issues: write
        steps:
          - name: Add comment
            run: gh issue comment "$NUMBER" --body "$BODY"
            env:
              GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
              GH_REPO: ${{ github.repository }}
              NUMBER: ${{ github.event.issue.number }}
              BODY: >
                This issue is available for anyone to work on.
                **Make sure to reference this issue in your pull request.**
                :sparkles: Thank you for your contribution! :sparkles:
    
  4. ワークフローファイルのパラメータをカスタマイズします。

    • if: github.event.label.name == 'help wanted'help wanted を操作するラベルに置き換えます。 複数のラベルを操作する場合、条件を || で区切ります。 たとえば、if: github.event.label.name == 'bug' || github.event.label.name == 'fix me' は、bug または fix me のラベルが Issue に追加されるたびにコメントします。
    • BODY の値を追加するコメントの値に変更します。 GitHub Flavored Markdown がサポートされています。 Markdown について詳しくは、「基本的な書き方とフォーマットの構文」をご覧ください。
  5. ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてください。 詳しくは、「新しいファイルの作成」を参照してください。

ワークフローのテスト

リポジトリ内の Issue にラベルが付けられるたびに、このワークフローが実行されます。 追加されたラベルがワークフロー ファイルで指定したラベルの 1 つである場合、指定したコメントが gh issue comment コマンドによって Issue に追加されます。

指定したラベルを Issue に適用して、ワークフローをテストします。

  1. リポジトリで Issue をオープンします。 詳しくは、「Creating an issue」を参照してください。
  2. ワークフローファイル内の指定されたラベルで Issue にラベルを付けます。 詳しくは、「ラベルを管理する」を参照してください。
  3. Issue のラベル付けによってトリガーされたワークフローの実行を確認するには、ワークフローの実行履歴を表示します。 詳しくは、「ワークフロー実行の履歴を表示する」を参照してください。
  4. ワークフローが完了すると、ラベルを付けた Issue にコメントが追加されます。

次のステップ

  • 既存のコメントの編集など、GitHub CLI で実行できるその他の操作の詳細については、GitHub CLI のマニュアルを参照してください。