3
3

More than 5 years have passed since last update.

GithubでのアクティビティをMastodonへとTootする

Last updated at Posted at 2018-02-09

はじめに

本記事は、IFTTTを使用してGitHubの特定リポジトリでのアクティビティ(issueやcommitなど)をMastodonへとTootする方法をまとめたものです。

事の発端は、「GitHubでの commit や issue を Mastodon へ Tootできないか?」という単なる好奇心でした。

基本的には、以下の通りにすることで Mastodon へと Toot することができるようになります。

  • ⑴ IFTTT で Maker WebHooks を有効化。key と url をメモ

  • ⑵ Mastodonインスタンスのアクセストークンを取得

  • ⑶ IFTTT で取得したアクセストークンを使い、Tootできる環境を構築

  • ⑷ アクティビティを Toot したいリポジトリにWebHook を設定

あと、僕は今回初めて WebHooks を弄りました。ですので、間違っているところなどありましたらご指摘いただけますと幸いです。

実際の手順

必要なもの

  • IFTTT アカウント
  • Mastodon アカウント
  • GitHub アカウント

上記の三つが必要になります。

IFTTT での Maker WebHooks の有効化

まず、https://ifttt.com/maker_webhooks にアクセスして
Maker WebHooks を有効化します。

toot1.png

画面の Connect を押すと有効化されます。

toot2.png

その後、documentation を押すと発行されたアクセスキーとURLが表示されます。
此方をメモしておいてください。
ちなみに、黒塗りの部分になります。

一旦、これで IFTTT での作業は終了です。

Masotodonインスタンスへのアクセストークン取得

次に、Mastodonインスタンスのユーザー設定を開きます。

toot3.png

その中に、「開発」という項目がありますので、そこをクリックしてください。

toot4.png

すると以下の画面に切り替わりますので、新規アプリというボタンを押します。

toot5.png

以下の画面に切り替わったのち、「アプリの名前」に「GitHub」、「アプリのウェブサイト」に「https://github.com」と入力してください。

toot6.png

入力が終わったら、送信ボタンを押してください。

すると、アクセストークンが画面に表示されますので、それをメモしてください。

toot7.png

アクセストークンを取得したら、Mastodonインスタンスでの作業は終了です。

IFTTT で Mastodon への Toot 設定

再び、IFTTT に戻って Mastodon へ Toot する設定を行います。

「New Applet」を押し、アプリを作成します。

toot8.png

以下のような画面に切り替わります。画面内の「this」というところを押して、「WebHooks」を選択します。

toot9.png

toot10.png

toot11.png

「Event Name」には「Github」と入力します。
入力後、「Create Trigger」をクリックします。

toot12.png

すると下記のような画面に切り替わります。
次に、「that」をクリックし、再び 「WebHooks」を選択します。

toot13.png

toot10.png

toot14.png

以下のような画面が表示されたら、各項目に必要な情報を入力していきます。

toot15.png

項目 内容
URL https://mastodon.example.com/api/v1/statuses
Method POST
Content Type application/x-www-form-urlencoded
Body access_token=[Mastodonアクセストークン]&status= New Activity for [GithubのリポジトリのURL] &visibility=public

なお、未収載とする場合は、public の部分を unlisted に変更します。

入力後、「Create Action」 を押すことでアプリが作成されます。

アクティビティを Toot したい GitHub リポジトリへの設定

Mastodon へ アクティビティを Toot したいリポジトリの「Setting」をクリックし、「Webhooks」の項目をクリックします。

「add Webhook」というボタンがありますので、それをクリックします。

toot16.png

すると、以下の画面が表示されますので、必要な情報を入力していきます。

toot17.png

項目 内容
Payload URL https://maker.ifttt.com/trigger/Github/with/key/<IFTTTで取得したWebHooksのシークレットキー>
Content Type application/x-www-form-urlencoded
Secret <IFTTTで取得したWebHooksのシークレットキー>
Which events would you like to trigger this webhook? Send me everything.

最後に、
これで リポジトリで issue などが作成されるたびに Mastodon へと Toot されます。

おわりに

とりあえず、これで Mastodon へと Toot することができるようになりました。

本当は、commit のハッシュとかを投げたかったんですが、その辺どうなっているかよく分からなかったので放置。

どなたか詳しい方、ツッコミいただけますと助かります……。

謝辞

今回、wakin氏から助言をいただきました。
この場を借りて感謝申し上げます。

参考記事

また、下記の記事を参考にさせていただきました。
誠にありがとうございます。

Twitter の投稿を IFTTT で Mastodon へ転送する。

Swarm のチェックインを IFTTT で Mastodon へ転送する

Raspberry PiでIFTTTのMaker WebhooksにPOSTする

3
3
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
3
3