こんにちは寝る

古い記事の情報は参考程度にお願いします

GithubとJiraをUnitoを使って連携する

Unitoとは?

https://unito.io/

UnitoとはJiraとGithub、WrikeとJira、JiraとTrelloなどの組み合わせで
相互同期(または一方同期)が簡単にできるWebサービスです。

組み合わせについてこちらのページをご確認ください。
https://unito.io/upcoming-integrations/

例えばJiraとGithubではJiraの特定の課題タイプとGithubのissueが同期することができます(条件設定可能)
つまりGithubに存在するissueは、詳細情報含めて自動的にJiraと同期され、逆にJiraに存在する課題もissueに存在します。

www.youtube.com

メリット

  • 課題の管理を一元化することができる(情報も同期されるので内容の違いも無く管理コストが下がる)
  • 様々なサービスの連携処理を自社で管理する必要が無い

デメリット

  • 料金は高め *1
  • 自由度は低い。最高の効率でやりたい場合は自社で用意して上げる必要があると思います。ただし普段遣いレベルであれば全然問題ない範囲です。
  • 課金対象ユーザーの検出方法がわかりにくい *2

主観

Unitoで事前に同期に対応しているサービス確認する必要はあるが
同期に対応しているサービスだけ使っていて、それぞれのサービスで課題を管理しているという状況であれば管理コストの削減が期待できる。

Jiraを普段使っていて、Github、Trelloを使っていてJiraの状況に合わせて手動でこれらのサービスの状態も変えている
または厳密なルールを設けてGithubとJiraを連携している(ラベルとか付けたり、Jiraだと設定次第では同期のような事も可能なので)

こういった事はUnitoを使えばものすごく単純なフローになり、ヒューマンエラーの防止と
情報が常に新しいことを保証することができるようになる。

ただ、使い始め1ヶ月ぐらいは慣れる + 同期の設定のため、一時的に管理者に負荷がかかる可能性があるので
導入するときはある程度時間が取れる時に導入をしたほうが良い。

Unitoを使ってみる

動画の通りですが何をしているのかこちらでも簡単に紹介します。

1. 同期の作成を行い、連携先を設定する

www.youtube.com

最初に行うのはどのサービスとどのサービスを同期させるのかという設定が必要です
事前にUnitoと連携していおいたサービスが利用可能です。

双方同期も出来ますし一方同期も可能ですので矢印でそれを設定してください。

Tips.

Unitoと連携する時の注意
ここで連携したユーザーが同期された課題やissueの投稿者やbotの管理者になるので注意。

Jiraに普段使ってるアカウントを連携すると、そのアカウントが報告者の同期された課題がたくさん作成されたりしますので
お金に余裕があるならばBotユーザーを作りこちらで連携させておきたいところです。

参照

https://guide.unito.io/en/articles/3478467-how-to-set-up-a-sync

2. フィルターの設定をする

www.youtube.com

デフォルトの状態だとすべてのissueや課題を同期してしまうので
条件を設けて同期するissueや課題を絞り込むことができます。

例えばJiraであれば以下のような条件で同期する課題を絞り込むことができます
どんな事ができるのか一度見てみるといいと思います。

  • 案件タイプが「タスク」の課題
  • ラベルに「同期」がついている課題

参照

https://guide.unito.io/en/articles/3478467-how-to-set-up-a-sync#which-tasks-are-allowed-to-sync

3. 同期するフィールドの設定

www.youtube.com

基本、いじらなくても問題ないですが
この情報は一方同期で良いとか細かい同期項目をしたい場合はここで調整してください。

Tips.

JiraとGithubを同期する場合、LabelsをGithubからJiraへの一方同期にした方が良いです。

Jira側とGithub側でラベルの設定数が違うと基本 多い方のラベル設定に同期されてしまうようで最終的にUnitoの同期ログにエラーが出てきてしまいました
(もしかすると設定が悪いだけかもしれませんが留意しておくといいかも)

参照

https://guide.unito.io/en/articles/3478488-how-to-choose-which-fields-sync-and-how-they-re-mapped-between-tools

4. オプションの設定

ヘルプが見つからなかったのですが、以下の2つが設定可能だと思います。

  • 同期をする以前のissueとか課題を同期するか?
  • 自動同期設定をするか?

※ 作成後に編集画面を開くとオプション項目が増えていたりするので見てみると良いです。

5. ユーザーの連携

今のままだと、JiraのユーザーAとGithubのユーザーAを判断することができず
Jira側の課題の担当者のユーザーAのとGithubのissueの担当者で同期することができません。
(Unitoから見ると同期するべき課題はわかるが、Jiraの担当者がGithubのどのアカウントと連携するかわからない)

なので、JiraとGithubのこのアカウントはユーザーAであると定義する必要があります。

Tips.

参照を見てほしいですが、設定する画面の更新頻度が1日に1回とかだと思います
それかUnitoと連携をしたタイミングで連携先からユーザー情報を取るのか…

なので、新しくチームに入った人が同期されるようになるには管理者側で設定が必要で
なおかつ1~2日後じゃないと同期されない点について注意してください。

参照

https://guide.unito.io/en/articles/3478523-how-to-map-users-and-assignees-in-your-sync#mapping-users-at-the-workspace-level

最後に

ここまで設定ができればあとは設定項目やヘルプを見ればなんとなくUnitoを使うことができるかと思います。

最初は課金対象ユーザーの算出方法だったり、余計な課題まで同期されてしまったり
エラーが出てるけど詳細がわからなかったりしますが、使いこなせるようになると管理コストを大幅に削減できる
サービスなので是非使いこなせるようになりましょう。

困った時に参考にしたい

*1:プラン別の料金についてはこちら

*2:ヘルプを参照