🐧
GitHub ActionsでPullRequestのDescriptionに追記する
はじめに
GitHub Actionsを用いて、PullRequestのDescriptionに動的な文字列を自動で追記する方法を紹介します。
ブランチ名からタスクのURLを作りPullRequestに追記する、というケースで利用ができます。
Github Actionsのサンプル
以下のサンプルコードは、PullRequestのDescriptionの先頭に追記するワークフローです。
- uses: actions/checkout@v4
- name: update PR description
env:
GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
run: |
DESCRIPTION=$(gh pr view ${{ github.event.pull_request.number }} --json body --jq .body)
gh pr edit ${{ github.event.pull_request.number }} --body "{{追記したいコンテンツ}}
---
${DESCRIPTION}"
動作詳細
GitHub CLIを使って以下をしています。
- 現在のDescriptionの取得
- Descriptionの更新
1. 現在のDescriptionの取得
gh pr viewコマンドを利用して現在のDescriptionを取得します。
Pull Requestテンプレートや手動でDescriptionを設定している場合などに、現在の内容が消えないようにするために取得しています。
--json body
オプションを指定することで、JSON形式でDescriptionを取得できます。
--jq .body
オプションを使って、JSON形式の情報のうち、bodyプロパティのみを抽出します。
DESCRIPTION=$(gh pr view ${{ github.event.pull_request.number }} --json body --jq .body)
2. Descriptionの更新
gh pr editコマンドでDescriptionを更新しています。
--body
オプションは、PullRequestのDescriptionを設定するオプションです。追記したい文字列と現在のDescriptionを結合して設定します。
gh pr edit ${{ github.event.pull_request.number }} --body "{{追記したいコンテンツ}}
---
${DESCRIPTION}"
参考
- GitHub CLI
- gh pr
Discussion