Github IssuesとTrelloの連携 - Recursion-Group-C/card-game GitHub Wiki

はじめに

タスク管理にTrelloを使用し、ソースコード管理にGitHubを使用している。GitHubで作成したissueをTrelloに手で登録するのが面倒なため、GitHubのissue作成をトリガーにTrelloのカードを自動作成する仕組みを構築する方法を調査した。

手順

方針:zapierを使用して、GitHubとTrelloを連携する。基本的には、このページのテンプレートに従いワークフローを作成する。

  1. GitHubとTrelloのユーザ名を合わせる

    GitHubのissueからTrelloのcardを作成する際、issueのassigneeをcardのassigneeとして設定するため、GitHubとTrelloのユーザ名を一致させておく必要がある。GitHubのユーザー名を変更するのは、他への影響が大きいと考えられるので、Trelloのユーザ名を変更する。このページを参考に、Trelloのユーザ名を変更し、GitHubのユーザ名と一致させる。

  2. GitHub Issuesのラベル名をTrelloのラベルの色に変更する

    GitHubのissueからTrelloのcardを作成する際、issueのラベルから、cardのラベルが作成されるが、Trelloのcardのラベル名は色の名前になっているため、Trello側で付けたいラベルに合わせて、GitHub Issuesで使用するラベル名を色に変更する必要がある。例えば、Trelloで赤色をBugのラベルとして設定している場合は、GitHubでredという名前のラベルを作成し、issueにラベルを付ける必要がある。GitHub Issues側でラベルの可読性が下がるが、Descriptionでラベルの説明を記述することができる。このDescriptionはラベルにカーソルを合わせたときに表示されるため、ラベルの意味が全く理解できないという事態は避けられる。

  3. GitHubのOrganizationのSettings > OAuth application policy > Third-party application access policyから、Application Access Restrictionsを無効にしておく。これが有効になっていると、zapierとOrganizationのリポジトリとの連携に失敗する。

  4. このページにアクセスし、Connect GitHub + Trelloをクリックする。

    image

  5. "New Issue in GitHub", "Find Member in Trello", "Create Card in Trello"を組み合わせてワークフローを作成する。

    image

  6. New Issue in GitHubを以下の通りに設定する。

    image

  7. Find Member in Trelloを以下の通りに設定する。

    image

  8. Create Card in Trelloを以下の通りに設定する

    image

  9. テストを実行し、Trelloのカードが作成されることを確認する。

Github IssuesとTrelloの運用

  • バグ修正や新機能開発など、コード変更が伴うタスクはGitHub Issuesでissueを作成する。issueからcardへ引き継げる情報は、asignee, labal, milestoneのdue dateである。

  • issueから作成されたcardを使用して、日々のタスク管理を行う

  • 作成されたcardにissueのリンクを追加するには、cardの"Power-Up"からGitHubを選択し、"Issueを作成"から、対象のissueを選択する

    image

  • Trelloでcardのstatusを完了にしたら、Issueをcloseして、developブランチへのプルリクエストを実施する