2024/07/01
アプリ同士の連携方法

コーディング不要でBacklogに課題が追加されたら即時にGithubにも登録する方法

k.hieda

目次

Backlogは個人的に好きなツールのひとつです。

ガントチャート機能が便利で、プロジェクト内の課題単位で納期が可視化されるので、オンスケかどうか判断しやすいんです。今回は、そんなBacklogとGitHubの組み合わせによる効率化をご紹介します。

BacklogとGitHubを連携することでどのようなメリットがあるか

Backlogでは、プロジェクトごとにGitとの連携が可能です。

作業後にプッシュを行うと、課題にコメントで変更点のログを自動で残してくれます。これにより、共同作業する人は更新されたことにいち早く気づくことができます。

デフォルトではこういった機能が充実していますが、さらに連携を充実させることで課題進行の手間が省けます。

Yoomを利用してBacklogとGitHubの連携を試してみる

(1)GitHubからBacklogへ連絡事項・指示内容の通達が自動化できると、状況把握時間の短縮につながります。また、転記ミスがなくなるため確認事項のやりとりも少なくなるでしょう。

(2)共同作業者がどちらかにしか閲覧権限がない場合があります。GitHubは開発者・進行管理担当者以外は権限が限定されていることがあります。そのため、内容の転記までタイムラグが発生しがちです。通達事項の行き来を自動化を行うことで、GitHubの閲覧権限がないメンバーも、プロジェクト全体の状況を把握しやすくなります。

(3)YoomではBacklog×GitHubだけでなく、さらにアプリやフローを連携させることが可能です。もっと作業を自動化することでミスを減らし、生産性をあげる思考時間の確保にも繋がります。

「この2つの指示を両方見えるようになったところでそんなに作業効率がよくなると思えない。」

そうですよね!BacklogとGitHubの転記作業自体は難しい作業ではないと思います。

とはいえ、案件数が多い時は双方のアプリを行ったり来たりするだけで結構時間を消費しているんです。③の生産性をあげる思考時間を確保できることや、動作確認の時間を十分に設けられることでクオリティーアップを狙えるのではないでしょうか。


まずBacklogで課題を登録したらGitHubのIssueに転記されるフローを試してみます!こちらのテンプレートを使用します。

事前に準備するもの


・Backlogのアカウント、プロジェクト、テスト用課題(ドメインとプロジェクトID)
・GitHubのアカウント、プロジェクト(アカウント、オーナー、リポジトリ名)

テストプロジェクトをたてました。

まず、Yoomのテンプレートをマイプロジェクトにコピーします。テンプレ名の先頭に【コピー】と表示されますが、任意で変更できますので、一旦そのままで進めます。

コピーされたてのフローボットはトリガースイッチが【OFF】になっています。

アプリ連携の設定が進むと【ON】に切り替えできるので、最初は【OFF】のまま進めましょう。

まずはYoomとBacklogの連携。事前に準備しておいたアカウントを設定します。

次にプロジェクトの連携に進みます。

連携アカウントとアクションを設定。アクションはテンプレのデフォルトで設定されています。

トリガーの起動間隔はデフォルトで5分になっていますが、もっと間隔を空けることができます。


ドメイン、プロジェクトIDを設定します。
ドメイン→Backlog URL内「https://(ここ)/ 」の文字列を入力
プロジェクト→課題一覧ページのURL内「projectId=(ここ)」の文字列を入力

すぐ下のテストボタンを押下します。
テスト→成功

次にGitHub連携の設定に進みます。GitHubも同じように連携アカウントを設定し、API接続設定へ進みます。

アクションを設定。テンプレートはデフォルトで「Issueの作成」になっていますので、このまま進めてOKです。

連携するアカウントを選択します。

登録しているメールアドレスとパスワードでログインするんですが、2段階認証になっているのでメールを閲覧できる環境で進めてくださいね。

API設定に進みます。ここではオーナー名とリポジトリ名を設定します。

テストに進む→成功

失敗した場合はエラー項目が表示されます。エラーメッセージは英語ですが、翻訳を使って原因を特定してください。

連携に成功したら、フローボットを起動してみましょう!トリガーを【ON】にし、Backlogの課題を追加します。

すると、GitHubのIsuueに課題の内容が反映されます。

私が成功するまで、何回か試していたのですが課題を設定するときに担当者の名前を入れるとエラーになってしまいました。これはBacklogとGitHubの両方でアカウント名の紐付けができていないため発生したエラーでした。

データマッピングを行えば解決できますが、これはまた別の機会に。

GithubでIssueが作成されたらBacklogにタスクを追加する

逆にGitHubのIssueに追加した内容をBacklogの課題に反映させるフローボットを連携させてみます。こちらのテンプレートを使用します。

事前に準備するものは先ほどと同じです。

基本は先ほどの連携と順番が逆になっただけなので、サクサクできました。

トリガーの設定。

今回もデフォルトの設定のまま進めますね。

トリガーアクションはデフォルトで「Issueが新しく作成されたら」になってまいますので、そのままで次へに進んでください。

アプリトリガーのAPI設定に進みます。先ほどと同じくオーナー名、リポジトリ名を取得し入力します。

リポジトリまで入力できたらテストします。

次にBacklogの設定に進みます。課題を作成するアウトプットの内容はこちらで設定します。

まず、連携するアカウントを設定します。今回は先ほどの連携と同じプロジェクトでテストしました。

次にアウトプットの内容を設定します。

選べるオペレーションがたくさんありますが、デフォルトの「課題の追加」で進めてみます。

課題に吐き出す内容の詳細を決めていきます。

課題の開始日など一定のルールがあればいいんですが、課題ごとに始めるタイミングが違う場合は直接Backlogを操作することもありそうです。

テストしてみて成功になったら起動させてみましょう。

フローボットのトリガーを【ON】にします。

フローボットのトリガーを【ON】にして起動!GitHubのIssueにコメントを登録します。

今回は先ほどと同じプロジェクトでテストしたため、Backlogに追加した課題とIIssueのコメントが無限ループ状態になりました。永遠に課題が増えていってる!!

ちょっとびっくりしましたが、この辺の設定は間にデータマッピングを設定することで解決できまそうです。‍

BacklogにIssueからのコメントで課題がたっていたことが確認できましたので連携大成功です!

まとめ

今回テンプレートを使って、デフォルトの設定通りにアプリ連携を実現できました。

連携を行ってみて見えてきた課題としては、下記がわかりました。

・BacklogとGitHubで担当者の名前が一致していないとエラーになってしまう

・同じプロジェクトにGitHub→Backlog、Backlog→GitHubのコメント転記を行うと無限ループになる

Backlogでの担当者の名前をIssueに反映する場合はBacklogとGitHub間で名前の紐付けを行う必要があります。今回のフローボット作成ではBacklogの担当者は漢字記名で、GitHubはローマ字だと値が一致しなかったためエラーになってしまいました。こういった精度をあげるには双方のアプリ間にデータベースのプロセスを置き、双方の名前が一致するようにデータマッピングを定義すると解決できます。

同じプロジェクトでコメントが無限ループしてしまう件は、どちらか一方のフローのみ採用するか、投稿ルールにBacklog→GitHubとGitHub→BacklogのコメントをYoomフローボットが判別できるように設定することで解決できます。

今回、GitHubがテーマということで、プログラムを記述する人と進行管理する人の作業に着目しました。BacklogとGitHubBacklogの課題設定→GitHubに転記の後に、スプレットシートにかかった工数をアウトプットすることができると便利だなぁと思いました。

では、また〜!

この記事を書いた人
k.hieda
九州からYoomのサービスを発信しています。Yoomのサービスを使った、クリエイティビティを高める時間確保のお手伝いします!
タグ
連携
自動化
タスク管理
関連アプリ
お役立ち資料
Yoomがわかる!資料3点セット
資料ダウンロード
3分でわかる!Yoomサービス紹介資料
資料ダウンロード
Before Afterでわかる!Yoom導入事例集
資料ダウンロード
お役立ち資料一覧を見る
会社概要
利用規約(JaEn
プライバシーポリシー(JaEn
セキュリティポリシー(JaEn
特定商取引法に基づく表記
©️ Yoom Inc.