🙄
GitHubのPR作成時に自動アサインする方法
こんにちは。
皆さん、PRを作成するたびに手動で自分にアサインしていませんか?
(PR作ってるの自分なんだからアサインも自分にしてくれよ。自分以外誰がアサインされるねん)
と内心思ってますが、
ここでは GitHub Actions を使って、PR作成時に自動でアサインする機能を紹介しようと思います。
- ワークフローファイルの作成
.github/workflows/pr_auto_assign.yaml を作成します
# ワークフローの名前(GitHub Actions画面で表示される)
name: PR Auto Assign
# トリガー条件(いつこのワークフローを実行するか)
on:
pull_request:
types: [opened]
# 権限設定(GitHub ActionsがPRを操作するために必要)
permissions:
contents: read
pull-requests: write
issues: write
# 実行するジョブの定義
jobs:
auto_assign:
runs-on: ubuntu-latest
steps:
- name: Auto Assign PR
uses: actions/github-script@v7
with:
script: |
const { owner, repo } = context.repo;
const prNumber = context.payload.pull_request.number;
const author = context.payload.pull_request.user.login;
// PRを作成した人を自動でアサイン
await github.rest.issues.addAssignees({
owner,
repo,
issue_number: prNumber,
assignees: [author] // PRを作成した人をアサイン
});
console.log(`Assigned ${author} to PR #${prNumber}`);
↑のコードで大事なポイント
・権限設定が必須
permissions:
contents: read
pull-requests: write
issues: write
・トリガーイベント
on:
pull_request:
types: [opened, ready_for_review] # プルリクエストが作成された時、またはレビュー待ちの時に実行
- リポジトリ設定の変更
Settings → Actions → General → Workflow permissions で Read and write permissions
を選択
3 実行したジョブ
下図の様にジョブが成功し、自動でアサインされているのが確認出来ます。
終わり。
些細な手作業を自動化することで生(せい)を実感出来ます。
Discussion