LoginSignup
6
1

More than 3 years have passed since last update.

ブランチにマージされたPRを書き留めておくGitHub Actionを作った

Last updated at Posted at 2019-12-09

この記事は、VALU Advent Calendarの9日目の記事です。

こんにちは、Xamarin人材です。今年もQiitaに書く季節がやってきました。
今回のお題はGithub Actionsです。

やりたいこと

弊社のアプリのブランチフローを↓こんな感じにしようとしてまして(一部簡略化してます)。

image.png

releaseブランチでのビルドに対して開発環境でのQAを実施することにしてるのですが、
QAの方に「このPRがマージされてるよ!」っていうのをわかりやすく楽にお伝えしたいなーと思いました。
上図ですと、 feature/fugafeature/piyorelease/hoge マージされてるよ!ということをわかりやすくしたい。

そのために、releaseブランチのPullRequestのDescriptionに、
当該releaseブランチにマージされたPRたちが記録されていくようなactionをつくりました。

動作イメージ

リリースブランチのPRを用意

このブランチに、featureブランチをマージしていって機が熟したらリリースするイメージです。
image.png

とある機能ブランチのPRを用意

よくあるfeatureブランチです。
開発でのレビューや動作確認が終わったらマージされるやつです。
image.png

機能ブランチをマージすると...

こうじゃ!

image.png

はい、マージしたPR番号が追記されましたね。うれしい!よね?

実装

https://github.com/takuya-kikuchi/action-track-merged-pr
こちらです。

参考

公式のチュートリアルがえらいわかりやすかったです。

つかいかた

細かい処理はActionとして切り出されているので、 uses の一言で利用可能です。
なのでこんなWorkflowを書くだけです。かんたん!
また、APIトークンを払い出したりしなくていいのが本当に楽ですね。

main.yml
name: OnMergedPullRequest

on:
  pull_request:
    # PRのクローズ時にトリガーされるようにする
    types: [closed]
jobs:
  track_merged_pr_job:
    runs-on: ubuntu-latest
    steps:
    - name: Track merged PR
      uses: takuya-kikuchi/action-track-merged-pr@v1
      with:
        REPOSITORY_OWNER_NAME: ${{ github.event.pull_request.base.repo.owner.login }}
        REPOSITORY_NAME: ${{ github.event.pull_request.base.repo.name }}
        MERGED_PR_NUMBER: ${{ github.event.pull_request.number }}
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

実際の使用例はこちら

おわりに

AdventCalendarに間に合わせるために慌てて作った(しかし間に合わなかった)Actionなので、怖くてまだプロダクションにはいれてませんが、近いうちにこっそり突っ込もうと思っています。もし事故ったら来年のネタにします。

それではまた。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1