・
「GitHubでIssueの作成やクローズがあった際に、Mastodonでチームやコミュニティに素早く共有したい!」
「でも、毎回手作業でURLをコピーして投稿するのは手間がかかるし、重要な更新を共有し忘れることもある…」
このように、GitHubとMastodon間での手作業による情報共有に、非効率さや煩わしさを感じていませんか?
もし、<span class="mark-yellow">GitHubで特定のイベントが発生した際に、その内容を自動的にMastodonに投稿する仕組み</span>があれば、情報共有の漏れや遅延といった課題から解放され、開発業務そのものにより多くの時間を割くことができます。
今回ご紹介する自動化は、プログラミングの知識がなくても簡単に設定可能です。
ぜひこの機会に導入して、日々の情報共有をもっとスムーズにしましょう!
Yoomには<span class="mark-yellow">GitHubとMastodonを連携するためのテンプレート</span>が用意されているので、今すぐ試したい方は以下よりバナーをクリックしてスタートしましょう!
GitHubとMastodonのAPIを連携させることで、GitHub上での特定のアクションをトリガーとして、Mastodonへ自動的に投稿(Statusを作成)することが可能になります。
これにより、開発の進捗や重要な更新情報を、関係者へスムーズかつ自動で共有できるようになり、手作業による共有漏れやずれを防ぎます。
ここでは具体的な自動化の例を複数ご紹介しますので、気になる内容があれば、ぜひクリックしてみてください!
GitHubで新しいIssueが作成された際に、その情報を自動的にMastodonに投稿する連携です。
この仕組みにより、<span class="mark-yellow">新しいタスクやバグ報告が発生したことを素早く関係者に周知できるため、対応の初動を早めることができます。</span>
この連携は、GitHubのデータをMastodonに直接連携するシンプルな構成のため、設定が簡単な自動化です。
GitHubで特定のIssueがクローズされたことをトリガーに、対応完了の旨をMastodonへ自動投稿する連携です。
この自動化によって、<span class="mark-yellow">タスクの完了報告を自動化し、プロジェクトの進捗状況をスムーズに共有できるため、チーム全体の状況把握が容易になります。</span>
このフローには、特定の条件に合致した場合のみアクションを実行する分岐処理を含むため、業務にあわせた柔軟な自動化フローを構築したいときにおすすめです。
それでは、さっそく実際にGitHubとMastodonを連携したフローを作成してみましょう!
今回はYoomを使用して、ノーコードでGitHubとMastodonの連携を進めていきますので、もしまだYoomのアカウントをお持ちでない場合は、こちらの登録フォームからアカウントを発行しておきましょう。
※今回連携するアプリの公式サイト:GitHub/Mastodon
[Yoomとは]
今回は「GitHubでIssueが作成されたら、MastodonでStatusを作成する」フローを作成していきます!
作成の流れは大きく分けて以下です。
ここでは、Yoomとそれぞれのアプリを連携して、操作が行えるようにしていきます。
まずは基本的な設定方法を解説しているナビをご覧ください!
それでは、ここから今回のフローで使用するアプリのマイアプリ登録方法を解説します。
GitHubの場合
以下の手順をご参照ください。
Mastodonの場合
アプリ一覧の検索窓からMastodonを検索し、クリックします。
「Domain」に、Mastodonのサーバードメインを設定してください。
サーバードメインはMastodonのURLにある、「https://mastodon.●●●/~」の「●●●」にあたる部分です。
設定が完了したら「追加」を押してください。
ログイン画面に移行するので、メールアドレスとパスワードを入力し、ログインを行ってください。
マイアプリにMastodonが表示されていれば、連携完了です。
次にYoomのテンプレートサイトから使用するテンプレートをコピーします。
テンプレートを活用すれば、あらかじめ大枠が作成されており、それに沿って設定するだけで完成します。
下のバナーの「試してみる」をクリックしてください。
コピーすると以下のようにテンプレートがお使いのYoom管理画面にコピーされるので、OKを押して設定を進めていきましょう。
ここからはフローボットの設定を進めていきます。
まず、「Issueが新しく作成されたら」をクリックしてください。
クリックすると以下の画面に切り替わります。
「タイトル」は任意で変更も可能です。
GitHubと連携するアカウントに間違いがないかを確認し、「次へ」をクリックしてください。
ここで、テスト操作の準備を行います。
実際にIssueを用意する必要があるので、GitHubで作成してみましょう。
今回はこのようなテスト用Issueを作成しました。
作成後、Yoomに戻り設定を進めていきましょう。
「トリガーの起動間隔」は5分、10分、15分、30分、60分の間隔で選択可能です。
※ご利用プランに関する詳細はこちらをご確認ください。
「オーナー名」と「リポジトリ名」を注釈に沿って、GitHubのURLから設定してください。
設定が完了したら、「テスト」ボタンを押しましょう。
テストが成功すると、下記のような取得した値が表示されます。
取得した値はこのあとの設定でも使用します。
詳しく知りたい方は以下のリンク先をご覧ください。
Issueの内容が反映していればOKです。
「保存する」を押して次に進みましょう!
「Create Status」をクリックしてください。
クリックすると以下の画面に切り替わります。
Mastodonと連携するアカウントに間違いがないかを確認し、「次へ」をクリックしましょう。
必須項目となっている「Status」を、取得した値を活用して設定しましょう。
取得した値を活用すると、固定値ではなく、トリガーが実行されるたびに作成したIssue情報が反映されます。
用途に合わせて、使用したい値や内容を変更してください。
他の項目は必須ではないため、必要に応じて設定してください。
必要な設定ができたら「テスト」ボタンを押してください。
テストに成功すると、実際にMastodonでStatusが作成されるので確認してみましょう。
確認ができたら、Yoomに戻り「保存する」をクリックしてください。
これですべての設定が完了です。
設定が完了すると以下のようなメニューが表示されるので、トリガーをONにします。
作成したフローボットが正常に動作するか確認しておきましょう!
設定、お疲れさまでした。
以上が、GitHubでIssueが作成されたら、MastodonでStatusを作成する連携手順になります!
GitHubやMastodonのAPIを使用することで、さまざまな業務を自動化することができます。
ここでは、複数のテンプレートをご紹介するので、気になるものがあればぜひ試してみてくださいね!
フォームツールと連携することで、送信された回答をGitHubのIssueに自動登録できます。
これにより、Issueの作成ミスを防げるため、人為的ミスを削減したいときは、以下のテンプレートを試してみてください!
他のアプリでのアクションをきっかけにMastodonでStatusを自動で作成できます。
テンプレートを設定するだけで手作業による転記を省けるため、業務を効率化したいときにおすすめです。
GitHubとMastodonの連携を自動化することで、<span class="mark-yellow">これまで手作業で行っていたIssueの更新に関する情報共有の手間を削減し、伝達漏れやずれといったヒューマンエラーを防ぐことができます。</span>
これにより、開発チームやコミュニティメンバーは新しい情報をスムーズに共有しながら連携でき、本来注力すべき開発業務に集中できる環境が整うはずです。
今回ご紹介したような業務自動化を実現できるノーコードツール「Yoom」を使えば、プログラミングの知識がない方でも、直感的な操作で簡単に業務フローを構築可能です。
もし自動化に少しでも興味を持っていただけたなら、ぜひこちらから無料登録して、Yoomによる業務効率化を体験してみてください!
Q:Mastodonへの投稿内容は自由に編集できますか?
A:はい、可能です。
Mastodonのアクションで投稿するStatusを設定する際、取得した値を活用し自由に投稿内容を設定することができます。
トリガーで取得した値を自由に組み合わせて設定してみてくださいね。
Q:プライベートリポジトリでも安全に連携できますか?
A:Yoomは情報セキュリティマネジメントシステム(ISMS)の国際規格である「ISO/IEC 27001:2022」認証を取得しております。
GitHubをはじめとする様々なアプリと外部連携を行うためのセキュリティ基準を満たしていますので、安心してお使い頂けます。
詳細は以下のページをご参照ください。
Q:連携が失敗した場合、どうなりますか?
A:自動化が失敗した場合、Yoomに登録したメールアドレスに通知が届きます。
また、Yoom画面上に「認証に失敗しました」「権限が無い」「設定内容に誤りがある」などのエラーメッセージが表示されます。
エラーが起きた際の対応方法については下記のページをご参照ください。
ヘルプページで解決しない場合は、サポート窓口を利用することもできます。