やりたいこと
デプロイ時に手動でmainブランチにPRを作成するのは面倒で、リリース一覧を可視化したい。git-pr-release
とGitHub Actions
を使って、自動でリリースPRを作成する方法を紹介します。
実装
ファイル構成
以下のようにディレクトリとファイルを構成します。
.
├── .github
│ ├── workflows
│ │ └── release.yml
│ └── git-pr-release.erb
リリースPRのフォーマット作成
.github/git-pr-release.erb
にリリースPRのフォーマットを記載します。
ERB
Release <%= Time.now.strftime('%Y-%m-%d %H:%M') %>
<% pull_requests.each do |pr| -%>
<%= pr.to_checklist_item %>
<% end -%>
設定ファイル
develop
ブランチにpush
された際に、develop
からmain
に向けてPRを作成する設定をします。.github/workflows/release.yml
に以下の内容を記載します。
YAML
name: Create a release pull request
permissions:
contents: read
pull-requests: write
jobs:
create-release-pr:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1.2
bundler-cache: true
- name: Create a release pull request
env:
GIT_PR_RELEASE_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GIT_PR_RELEASE_BRANCH_PRODUCTION: main
GIT_PR_RELEASE_BRANCH_STAGING: develop
GIT_PR_RELEASE_LABELS: release
TZ: Asia/Tokyo
run: |
gem install -N git-pr-release -v "2.2.0"
git-pr-release --no-fetch
on:
workflow_dispatch:
push:
branches:
- develop
GitHub Actionsに権限を与える
Settings → Actions → General
でGitHub Actionsに権限を付与します。
以下の項目にチェックを入れましょう。
- Actions permissions:Allow all actions and reusable workflows
- Workflow permissions:Read and write permissions
(”Allow GitHub Actions to create and approve pull requests”にもチェックを入れる) - Access:Accessible from repositories owned by the user ‘ユーザー名’
実行結果
下記のようなPRが作成されていたら成功です。

コメント