はじめに
@shimewtrと申します。
Web エンジニアとして主に Ruby on Rails を用いたプロダクトの開発・運営に携わっています。
作った GitHub Action
README にも記載していますが、自分のリポジトリで.github/workflows/submit_pul_request.yml
などのファイルに以下を記載すれば使用できます。
下記の設定例では新しいブランチが作成されたときに発火します。
name: Submit Pull Request
on:
create:
jobs:
SubmitPullRequest:
runs-on: ubuntu-latest
steps:
- name: Submit Pul Request
uses: shimewtr/submit_pull_request@master
env:
GITHUB_ACCESS_TOKEN: $
LABEL: WIP
また、.github/pull_request_template.md
に以下のようなタグ{submit_pull_request_issue_info}
を埋め込むと作成した PR に関連する Issue の情報を記載してくれます。
## Issue
{submit_pull_request_issue_info}
実現したかったことと仕様
実現したかったこと
作成したのは自動で PR を作成する GitHub Actions ですが、以下を実現したかったために作成しました。
- ブランチの命名ルールを定めたい
- PR を作成するのが手間なので自動で作成されるようにしたい
- PR に関連する Issue のタイトルを表示したい
- PR に関連する Issue へのリンクを表示したい
- PR に関連する Issue と同じラベルを付与したい
- PR に作業途中を意味するラベル(
WIP
など)を付与したい
仕様
上記を実現するために以下の仕様にしています。
制約を設けることで利点も増えると考えています。
- ブランチ名は Issue の ID から始まる必要がある(ex. 753-fix-spec)
- 該当する作業ブランチが明確化される
- ブランチ名がユニークになる
- PR が自動で作成され、PR に関連する Issue の情報やラベルが付与される
- PR タイトルに関連する Issue タイトルが表示されるため PR を一覧で表示したときに視認しやすい
- PR 内に Issue へのリンクが付与されるため関連する Issue を確認しやすい
- Issue と同一のラベルを付与するため視認性が向上する
- PR に指定したラベル(
WIP
など)が自動で付与される - 上記が自動で行われるためルーチンワークが減少する
まとめ
- 自動で PR を作成する GitHub Actions を作成した
- 制約を設けることで手作業を減らし効率化ができる
- このような仕組みがあることで定めたルールを形骸化せず運用できる
ご意見などがありましたら@shimewtrまでご連絡ください。
最後までご覧いただきありがとうございました。