Claude Code経由でのGitHub PR作成時に自動でassigneeとlabelを設定する方法
はじめに
Claude Codeを使ってGitHub PRを作成する際、毎回手動でassigneeやlabelを設定するのは手間がかかります。実は、CLAUDE.md
ファイルにワークフローを定義することで、これらの設定を自動化できます。
この記事では、実際のやりとり事例を交えながら、Claude Code経由でのPR作成時に自動でassigneeとlabelを設定する方法を解説します。
CLAUDE.mdとは
CLAUDE.md
は、Claude Codeがリポジトリで作業する際の指示書として機能するファイルです。このファイルにワークフローやコマンドを定義することで、Claude Codeの動作をカスタマイズできます。
関連記事: Zennの記事作成におけるCLAUDE.md
の活用事例については、以下の記事でも詳しく解説しています。
GitHub CLIでのPR作成オプション
まず、GitHub CLIでPR作成時に使用できるオプションを確認してみましょう。
gh pr create --help
主要なオプション
-
-a, --assignee login
: 指定したユーザーをassigneeに設定 -
-l, --label name
: 指定したラベルを追加 -
-t, --title string
: PRタイトルを設定 -
-b, --body string
: PR本文を設定
参考: GitHub CLI公式ドキュメント
実践例 - assigneeとlabelの自動設定
実際のやりとりを元に、設定方法を見ていきましょう。
現状の課題
最初の状態では、CLAUDE.md
のPRワークフロー部分は以下のようになっていました
#### Pull Request Workflow:
- All changes must go through Pull Requests
- No direct commits to main branch allowed
- Use `gh pr create` for PR creation
- Include appropriate PR descriptions and test plans
これだと、毎回手動でassigneeとlabelを設定する必要がありました。
改善の提案と実装
1. assigneeの自動設定
まず、GitHub CLIのヘルプでassigneeオプションを確認
gh pr create --help | grep -A 5 -B 5 assign
結果
-a, --assignee login Assign people by their login. Use "@me" to self-assign.
2. labelの自動設定
次に、labelオプションも確認
gh pr create --help | grep -A 3 -B 3 label
結果
-l, --label name Add labels by name
3. CLAUDE.mdの更新
これらの情報を元に、CLAUDE.md
を以下のように更新しました
#### Pull Request Workflow:
- All changes must go through Pull Requests
- No direct commits to main branch allowed
- Use `gh pr create -a unsolublesugar -l enhancement` for PR creation (automatically assigns repository owner and adds enhancement label)
- Include appropriate PR descriptions and test plans
実際のコマンド例
更新後、Claude CodeでPRを作成する際は以下のコマンドが自動で実行されます
gh pr create -a unsolublesugar -l enhancement --title "タイトル" --body "PR本文"
このコマンドにより
-
unsolublesugar
が自動でassigneeに設定される -
enhancement
ラベルが自動で付与される
設定のカスタマイズ
複数のlabelを設定
複数のラベルを設定したい場合は、-l
オプションを複数回使用できます
gh pr create -a unsolublesugar -l enhancement -l documentation
assigneeを複数設定
複数のassigneeを設定する場合
gh pr create -a user1 -a user2 -l enhancement
条件分岐の実装
プロジェクトの種類に応じて異なるラベルを設定したい場合は、CLAUDE.md
に条件を記載できます
#### Pull Request Workflow:
- All changes must go through Pull Requests
- No direct commits to main branch allowed
- Use appropriate gh pr create command:
- For bug fixes: `gh pr create -a unsolublesugar -l bug`
- For new features: `gh pr create -a unsolublesugar -l enhancement`
- For documentation: `gh pr create -a unsolublesugar -l documentation`
- Include appropriate PR descriptions and test plans
実践的な活用例
プロジェクト管理の効率化
自動設定により以下のメリットがあります
- 一貫性の確保: 全PRで同じassigneeとラベルが設定される
- 作業効率の向上: 手動設定の手間が省ける
- 見落とし防止: 設定忘れがなくなる
チーム開発での活用
チーム開発では、以下のような設定が有効です
- Use `gh pr create -a teamlead -a reviewer1 -l review-needed -l team-feature`
これにより
- チームリーダーとレビュアーが自動でassignされる
- レビュー待ちとチーム機能のラベルが付与される
その他の便利なオプション
PRテンプレートとの組み合わせ
--body-file
オプションを使用してテンプレートファイルを指定
gh pr create -a unsolublesugar -l enhancement --body-file .github/pull_request_template.md
ドラフトPRの作成
開発中のPRをドラフトとして作成
gh pr create -a unsolublesugar -l enhancement --draft
まとめ
Claude Code経由でのPR作成時にassigneeとlabelを自動設定する方法を紹介しました。
ポイント
-
CLAUDE.md
にワークフローを定義することで自動化が可能 - GitHub CLIの豊富なオプションを活用
- プロジェクトの特性に応じてカスタマイズ可能
この設定により、PR作成の効率が大幅に向上し、一貫した管理が可能になります。ぜひ自分のプロジェクトでも試してみてください。
今回の変更を反映したPR
この実例も参考に、自分のワークフローに合わせてカスタマイズしてみてください。
Discussion