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

次のステップ

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