LoginSignup
0
1

More than 5 years have passed since last update.

Bitbucketのコミットメッセージを他のWebサービスに送る

Last updated at Posted at 2018-06-02

Bitbucketのコミットメッセージを他のWebサービスに送る

Bitbucketは無料でプライベートリポジトリが使えるので非常に助かっています.
ただ無料だと課題管理が若干弱いので課題の管理は他のサービスで実施してみたくなります.
しかしコミットログを課題に紐づける機能を結構使っている関係でこの機能がなくなるととても不便!になります
ということでWebサービス連携ツールを使ってコミットメッセージを課題の管理しているサービスに送ればよいのでは?と思い実施してみました.

やりたいこと

Bitbucketのコミットメッセージ/アドレスをAsanaの課題に自動反映したい.
ただし無料で(有料で自動反映するなら機能がそろっているプライベートリポジトリに課金すればよい)

※Bitbucket, Asanaの選定理由は本件とは関係ないため割愛

Webサービス連携ツール選定

基本ローカルサーバでしか作業をしないのでjenkinsでいいじゃんと思っていたのであまり知りません.
最終的に見つかったのは以下の4つ.今回はIntegromatにしました.

Integromatで中継する

Integromatのスペック(無料状態)は

  • 1000 タスク/月
  • 100 MBの転送量/月
  • 15 min/interval

とのこと
変わるかもしれないので利用を検討する人は
Pricing | Integromat
で確認してください

今回作ったものは

  • Bitbucketで更新されたissueメッセージをAsanaに転記する(3Task)
  • Bitbucketの新たなissueをAsanaにも作る(2Task)

なので月に50個issue作って300コミットできる(トリガーを手動にした場合の話なので実際はもうちょっと少ない).
休日プログラマーには充分ですね.
issueが負担の場合はそれだけ別サービスとかでも無料で行ける気はする.

登録とかScenarioとかの詳しい説明はほかの人が説明しているのでさぼります.

Bitbucketで更新されたissueメッセージをAsanaに転記する

全体像
integromat01.png

1タスクずつ説明していきます.

まずトリガーとなるタスクを作成します.
integromat02.png
BitbucketのWatch commentsを使います.設定は流れで実施できます.

次にAsanaのEdit Taskを実施したいのですが,残念なことにBitbucketのissue名とAsanaのTask名を一緒にしても見つけられないのでまずAsanaのTaskIDを探します.ここで若干はまったのが番号が飛んでいる原因.

そのためにまずAsanaの該当プロジェクトのタスク一覧を取得します.これがちょっと通信量が多いのでいや.
integromat03.png

次にタスク一覧に対してフィルタをかけます
integromat04.png
これを通すと次で使うAsana(この図では19番)が絞られて使えるようになります.

最後にAsanaのタスクをアップデートします
integromat05.png
アップデート形式なので追加したいところには以前の状態も入れておかないと消されます.


追記部分ここから
実際に使ってみたところリンクが張られませんでした.(気が付かなかった)
ということでリンクの生成をします.非常に見づらいのですが,プログラマならまあわかるでしょうということでご容赦ください.
14文字引いているのはbitbucketではコミットIDの表示が12文字分っぽいのでその分です.無理のある状態なのでいつ使えなくなるのかが不安.
integromat05-2.png

追記部分ここまで


22. Comment user display name
22. Comment content
--------
19. Notes ←これ

あとは更新周期を適当に決めて終わり.
integromat06.png

土日以外にまともに管理しないので土日だけにしておきました.
画像では時間を指定していませんが,指定しないと15分に一回トリガー判断で1タスク消費してしまうため,判断だけで1日96タスク消費してしまいます.発生しそうな時間帯にセットしましょう.即時性なんてほぼいらない運用なので問題なし.
1時間に一回にして1日中監視していてもいいかもしれません.気が向いた感じにします.

これで完了.Bitbucketにコミットする際のコミットメッセージでrefs ticket [課題番号]としておけばBitbucketの機能で課題にリンクを張ってくれるのでそれを検知してAsanaに転記してくれます.
無料でできた.うれしい.

Bitbucketの新たなissueをAsanaにも作る

私が作ったかのように書いていますが,以下のテンプレートです.
タスク量が余ったので採用しておきました.余るって素晴らしい.

Create Asana tasks from new Bitbucket issues

番外編

没になった者たちの紹介

IFTTT

Qiitaで見る中継サービスとしてイメージが強い.
残念なことにAsanaのTaskアップデートには対応していなかった

Zapier

中継サービス業界では機能的に最強らしい
実際すぐにできたのだが,無料だと月100タスクしか実施できない.
今回の連携は1コミット当たり3タスクとなり月33コミットしかできないため泣く泣く没

作り終えてから気が付くという悲しみ.
悲しいので設定例を載せます.

全体像
zapier01.png

2番のタスク名抽出
zapier02.png

3番のタスク名からタスクID検索
zapier03.png

4番の3番で見つけたタスクIDに対しての1番のコミットメッセージ足しこみ
zapier04.png

MicrosoftFlow

BitbucketはPremiumらしくしようできない.
使うまでもなく没

0
1
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
0
1