23
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Github上のメンションをSlackメンションに変換するGithub Actionsを作った

Posted at

これです。

使い方などはREADMEなどをご参照ください。

できること

基本的にはPull Reminderの下位互換的な機能を提供しています

  • github上のissue, pull requestなどでメンションされた場合にslackに通知する
  • pull requestのレビューリクエストを受けた場合にslackに通知する

Pull Reminderを使いたいけど使えない人へ

Pull Reminderを既に使っている方にとっては、このActionsは基本的には不要だと思います。

Pull Reminderは非常に便利で私も愛用しているのですが、現在は新規アカウント発行を停止しており、これから新しく使おうと思っても使えない状態になっています。

Can new users and organizations still sign up?
Pull Panda is no longer accepting new sign ups.

Pull PandaはGithubに買収されており、今後はGithubの標準機能として組み込まれていくようです。
しかし、その機能がリリースされるまでの間はPull Reminderが使えないという状態になっています。

これは「今!おれは!Pull Reminderみたいなやつを使いたいんだ!」という人のためのActionです。

Pull Reminderに比べて良い点

  • admin権限が不要
    • pull reminderは連携アプリとして提供されているため、slack, githubそれぞれのadmin権限が必要になります
    • github-actionsならリポジトリへのpush権限さえあれば良いので、いち開発者でも導入しやすいです
  • 通知を強制できる (悪い点でもあります...)
    • pull reminderは各個人がgithub連携することで通知が飛ぶようになります(たぶん)
    • このactionsではymlにアカウント情報を書けば通知が飛びます

工夫ポイント

  • javascriptを使って早く処理完了するように
    • github actionsは Docker Image or javascript として提供する必要があります
    • Dockerだとactionsの起動に時間がかかってしまう傾向があります
    • このactionsはissueコメント, pull requestコメントなどの度に起動するので起動回数が多そう
    • 課金ポイントでもあるので、極力早く完了したい :money_with_wings:

感想

github公式からPull Reminder機能がリリースされるのが待ち遠しいですね! :octocat:
それまではこういった自作のツールなどで凌ぐことになりそうです。

過去に似たようなものをAWS lambdaとかGoogle Apps Script上で作ってたりしましたが、github-actionsとして作ると他の方にも提供しやすく、とても相性良いなと思いました。

機能的にはもっとやれることもあると思うので、このActionsを使ってみて要望があればissue, pull requestなどを送って頂ければと思います!

23
14
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
23
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?