📑

GitHubのPRテンプレートにテンプレートエンジンを導入するActionを開発した

2023/03/05に公開

動機

PRテンプレート内でオープンしたPR番号やブランチ名を埋め込みたくなるケースがちょいちょいあった。
それっぽいワードで検索しても良い解決法が見つからなかったため以下のActionを開発しました。
https://github.com/yyamanoi1222/pr-template-mustache-action

機能

Action名の通りで、PRの本文にMustache記法を使えるようにするもので
PRの作成や更新イベントをフックして定義した変数を埋め込むような仕組みになっています。

使用例ですが、変数の埋め込みは環境変数を利用する方法(copy-env)と、JSONで定義する方法(variables)の2種類を用意しています。

name: pr template

on:
  pull_request:
    types: [opened]

jobs:
  update:
    runs-on: ubuntu-latest

    steps:
      - name: update
        uses: yyamanoi1222/pr-template-mustache-action@main
        env:
          APP_ENV: test
        with:
          token: ${{ github.token }}
          variables: |
            {
              "var": 1
            }
          copy-env: |
            APP_ENV
    permissions:
        pull-requests: write

このActionを実行すると下記のようにPR本文に変数が埋め込まれ更新されます。

before

Template example {{var}}
app env is {{APP_ENV}}

after

Template example 1
app env is test

Discussion