Atlassian製品のアドバンテージ「Application Link」

Application Linkとは

アプリケーションリンクとは、Atlassian製品にデフォルトで含まれている、Jira, Confluence, Stash, FishEye, Crucible, Bambooの各製品を相互に連携させるための機能です。
アプリケーションリンクを設定すると、リンクさせた製品同士が相互に情報をやりとりしたり、お互いの機能を利用することが出来ます。
例えば、JiraとConfluenceをリンクさせた場合、JiraのチケットをConfluenceのマクロを利用してリンクさせたり、
Confluenceで任意の文字列を選択した状態で右クリックからJiraのチケットを作成するなど、お互いの利便性を向上させることが出来る機能です。

Atlassian以外の製品でも、CIツールと、リポジトリ管理ツールの連携や、課題管理ツールとCIツールの連携などが用意されている場合もありますが、
違うプロダクトを連携させる場合とくらべてAtlassianのアプリケーションリンクはより密接な連携ができるというメリットがあります。
また、設定も簡単にできるため、「サクッと連携できると思っていたけのに意外とハマった。」ということが起こらない点もメリットといえると思います。

Bamboo + Stash をリンクすると

では、具体的にはどうなるのでしょうか。
Bambooの公式ドキュメント によると、
リンクをすることにより以下のことができるようになります。

  1. Stashのリポジトリに新しいコードがpushされると自動的にビルドを実行させることが出来ます。(Stash以外のリポジトリの場合はBambooが定期的に更新を確認する必要があります)
  2. Stashの指定したリポジトリに新しいブランチが作成された場合、Bambooが自動的にそれを検知し、ブランチのビルドプランを作成します。
    また、ブランチが削除された場合はBamboo上のブランチに対するビルドプランを自動的に削除することも可能です。
  3. Bambooのビルド結果から、そのビルドに含まれているコミットの変更差分確認画面へダイレクトにジャンプ出来ます。
  4. Bambooのビルドに含まれているStashのコミットのリストをBambooのビルド結果から確認出来ます。
  5. コミットやプルリクエストに対するビルド結果をStash側で確認することが出来ます。

ブランチの自動作成

アプリケーションリンクの機能は業務でも使用していますが、今回はその中でも便利だと感じているブランチの自動作成機能を紹介します。

  • Bambooのビルドプラン設定からブランチの自動作成設定が出来ます、すべてのブランチを作成することもできますし、正規表現にマッチするブランチだけを自動作成することも出来ます。
    GitFlowで開発している場合に、featureブランチのみ自動作成するという設定も可能です。

20150904_0936_myproject_-_myplan__Edit_plan_configuration_-_Atlassian_Bamboo_01

  • Stashで(もしくはGitコマンド経由で)ブランチを作成すると。

20150904_0939_ブランチの作成_-_Stash_01

  • Bambooが自動的にブランチをビルドプランに追加してくれます。

20150904_0948_myproject_-_myplan__Edit_plan_configuration_-_Atlassian_Bamboo_01

ビルド対象のリポジトリが少ないうちは、Bambooの管理画面から手動でブランチを追加する作業も苦になりませんが、
リポジトリが増えてくるに連れて徐々に便利さが実感できるようになってきます。

その他の製品のApplication Linkについて

さて、こんなに便利なApplicationLinkですが、今回例に上げたBambooとStashの組み合わせ以外にも様々な組み合わせが存在します。
ApplicationLinkを設定することでどんなメリットがあるかは下記リンク先のドキュメントをご参照ください。

Stash
https://confluence.atlassian.com/stash/integrating-stash-with-atlassian-applications-414812190.html

Jira+Confluence
https://confluence.atlassian.com/doc/use-jira-and-confluence-together-427623543.html

Bamboo+Confluence
https://confluence.atlassian.com/bamboo/integrating-bamboo-with-confluence-289276944.html

RedmineなどのAtlassian製品以外のツールでも、CIサーバーや、リポジトリ管理ツールなどとの連携は可能ですが、
簡単で設定でハマりにくいという点でAtlassian製品ツールが完結させられるというメリットは大きいです。

もし、Atlassian製品をお使いなら、非常に便利ですので、是非アプリケーションリンクを活用してみてください。