無料プランがあるということでなんとなくTypetalkを使い始めてみた。 Slackなんかと同じようにAPIやWebhookなどがありカスタマイズが可能で、GitHubとの連携もサポートされている。

GitHubと連携することで、ブランチのプッシュ、Issueやプルリクエストの作成・変更が起きる度に通知がTypetalkのトピック(Slackのチャネルに相当)に届くようになる。

しかし、リリースなどどうやらサポートされていないイベントが一部あり、またメッセージをカスタマイズしたいことがある。 ということで、GitHub Actionsを作ってみた。

github.com

使い方

オプションについてはREADMEを参照してほしい。 同じREADMEに記載されているworkflowファイルの記述例を載せる。

name: Release announce

on:
  release:
    types: [published]

jobs:
  steps:
    - uses: satoryu/typetalk-notify@v0.0.1
      with:
        token: $
        topic_id: 165952  # Replace your topic's id
        message: "$ $ has been released :tada: :white_flower:"

この設定ファイルをリポジトリ.github/workflows/ ディレクトリ以下にrelease_announce.yml などのようにして保存する。 その後に、release tagを作ると、以下のような通知がTypetalkのトピックに投稿されるようになる。

f:id:satoryu:20200331104506p:plain

上に書いた設定を変更すれば、push時やissue作成時など別のGitHub上のイベントが発生した時に好みのメッセージを投稿することができる。

おまけ: GitHub Hackathon にエントリー

ちなみに、3/31までGitHub Hackathonが開催されていて、GitHub Actionsがテーマになっている。 ちょうど良かったので今回作成したActionでエントリーしてみた。

githubhackathon.com