📰

GitHubのPRでステージング環境のURLを通知する方法いろいろ

2021/11/22に公開

Pull Requestごとにステージング環境(プレビューページ)を自動で用意するとき、そのURLを通知するにはどうしたらいいか。

PRにコメントを投稿する

Netlify Previewsが自動投稿したコメントのスクリーンショット。コメントにはプレビューページのURLのほかにデプロイのログや対象のコミットIDなども記載されている。

Netlify Previewsはこの方式。

PRのdescriptionに追記する

https://github.com/whatwg/ のリポジトリではこの方式が採用されている。動作している様子は whatwg/html#7350 などで確認できる。

https://github.com/apps/pr-preview でGitHub Appsとして提供されていて、実装も公開されている。

pr-previewがこの方法を選んだ意図は確認できなかったが[1]、コメント通知が飛ぶのを避けられたり、PRが全部コメント付きになることで議論のあったトピックが埋もれてしまうのを防げたり、というメリットがありそう。

Deployment APIを使う

GitHubのDeployment APIを使うことでコミットとデプロイ環境を紐付けることができる。

PRページにdeploymentが表示されている様子
こんな感じの見た目になる

一見すると本命っぽいのだが、仕様はやや重めで[2]、雑に使うには向いていない感がある。

利用側としても、activeなdeploymentを探して下にスクロールしていくのが微妙に面倒だったりする。コメントやら何やらで実現してしまったほうが便利なケースも多そう。

デプロイの履歴をPRから見える形で残しておきたい場合には便利だと思う。(とはいえ、そんなニーズがそれほどあるのだろうか?)

脚注
  1. コミットを遡ってみたら開発当初から追記型だった。 ↩︎

  2. 「デプロイにまつわる概念をもれなく表現したい」という思想がありそう。 ↩︎

Discussion