はじめに
前回紹介しましたが、アトラシアン製品には「HipChat」というチャットツールがあります。HipChatを利用すると、同じくアトラシアン製品である「JIRA Software」「Confluence」「Bitbucket」との連携が簡単に行えますが、プリセールスでいろいろなお客さまとお話していると、「『Slack』を使っています」ということをよく聞きます。実はアトラシアン製品とSlackは連携が可能ですが、それが意外と知られていないようで、もったいないと感じています。今回はそんな方のために、JIRA/ConfluenceとSlackを連携する方法をご紹介します。
チャットツールとJIRA/Confluenceとの連携
HipChatでもSlackでも同様ですが、チャットツールとJIRA/Confluenceを連携することで、大きなメリットが生まれます。
業務の改善や新しいサービスのアイデアは1人で考えていてもなかなかまとまらず、また具現化も難しいものです。そこで、チャットツールやFace to Faceの会話などからヒントを得ようとする方も多いのではないでしょうか。しかし、チャットの中でアイデアを出し合うことはできても、それだけでは「良いですね」で終わってしまいます。そのため、アイデアをまとめて、計画を立てることが必要です。
その際、アイデアをまとめるのにはConfluenceを、そして、計画を立てて推進するためにはJIRAを利用することができます。
これらをチャットツールと連携しておくと、「アイデアをまとめたのでご確認ください」といったタイミングで、チャットにConfluenceのページが追加された情報が挿入されます。また、「こんな作業が必要ですね」「はい、JIRAの課題を追加しました」といったタイミングではJIRAの課題情報がチャットに入ります。このようにチャットとJIRA/Confluenceを組み合わせることで、チームの状況を俯瞰的に見ることができます。
そのほかにも、スピーディーな対応が必要な障害対応の場合は、まずJIRAを起票し、問題の一次対応まではチャットでコミュニケーションをして、その結果をJIRAにコピー&ペーストしておくといった使い方など、さまざまなシーンで役に立ちます。
Confluenceとの連携
まず、Confluenceとの連携方法をご紹介します。ConfluenceとSlackを連携するには、サードベンダーのアドオンをConfluenceに追加する必要があります。アドオンはいくつかありますが、今回は「Slack Connector for Confluence Server」をご紹介します。
SlackとConfluenceを連携していると図1のように、Confluenceのページの作成やページの編集、コメントといったイベントをSlackのチャンネルに流すことができます。ユーザー全員に確認をしてほしい資料を共有したい場合、Confluenceに「メンバー全員通知用スペース」、Slackに「メンバー全員通知用」チャンネルを作って連携しておけば、資料を保存したタイミングでSlackのチャンネルで通知して共有するといった使い方もできます。
Slack Connector for Confluence Serverの設定
Slack Connector for Confluence Serverを設定するには、まずはアドオンを通常の方法でConfluenceに追加します。アドオンは最初の1カ月間は無料で試すことが可能で、機能を評価してから購入を検討することができます。アドオンを追加した後は、次の2つの設定が必要です。
- グローバル設定
- スペース設定
グローバル設定
Confluenceの管理画面にて、Slackとの接続設定を実施します。この作業にはConfluenceの管理者権限が必要です。管理画面に「Slack Integration」のメニューが追加されるので、その中の[Slack App]項目を選んで設定を開始します。
Slack Integrationの画面に「Register new Slack App」のリンクが表示されているので、これをクリックします。Slackにログインした状態でこの操作をすると、図4の画面が表示されます。ここにアプリケーションネームを入力後、SlackのWorkspaceを選択して、Appを作成します。
Appを作成後、「Basic Information」の画面が表示されるので、「Client ID」と「Client Secret」をConfluenceの「Slack Integration」に登録します。「Slack Integration」のBot Nameはわかりやすい名前を指定するといいでしょう。
次に、Slackの画面に戻り[OAuth & Permissions]を選択し「Redirect URLs」に、「Slack Integration」に表示されている、Redirect URLsを設定します。
この設定ができたら、Confluenceの管理画面に戻って、「Slack Integration」の[Global configuration]を選んで[CONNECT]ボタンを押します。するとSlackの確認画面が表示されるはずです。[Authorize]ボタンを押せば、SlackとConfluenceの接続は完了です。設定にミスがあると[CONNECT]ボタンを押した時にエラーメッセージが表示されるので、メッセージを確認してください。
スペース設定
グローバル設定でConfluence全体を一括しての設定もできますが、ここからはスペース単位での設定をご紹介します。
Slack Connector for Confluenceをインストールすると、スペース管理画面の[統合]タブにSlackタブが追加されます。この画面で[CONNECT]ボタンを押して、ConfluenceのスペースとSlackのChanelを統合することができます。また、「Notify events」では「ページ作成」や「ページの更新」「コメント追加」などを選択することができるので、用途に合わせて追加してください。
JIRAとの連携
次にJIRAとの連携をご紹介します。
JIRAの場合は、アドオンを利用しなくてもSlackと連携が可能で、JIRAのWebhook機能でSlackにPOSTすることで、JIRAの情報をSlackのチャンネルに流すことができます。ここでは、Confluenceと同様に「Slack Connector for JIRA Server」の照会をします。このアドオンを利用すると、次の大きなメリットがあります。
まず、設定の専用画面が用意されているため、直観的な操作が簡単に行えます。もう一つのメリットは「メンション」や「課題の割り当て」など、個人向けのメッセージを受け取れることです。JIRAの通知はメールで受けることが多いのですが、メールだと他のメールに埋もれてしまう場合があります。Slackでは、SlackbotチャンネルにJIRAからのメッセージが集約されるので、埋もれてしまうことがなくなります。
JIRAとSlackとの接続
SlackとJIRAの接続は、Confluenceの場合とほぼ同じです。管理画面の[システム]タブの「メール」に「Slack Integration」の項目が追加されます。この画面で、Confluenceと同様にSlackとの接続を設定します。
次にプロジェクトごとの設定です。プロジェクト管理画面にも「Slack Integration」の項目が追加されているはずです。この画面でどのイベント(課題作成、編集、コメント追加など)をSlackのどのチャンネルに連携するかを設定できます。また、JQL(JIRA Query Language)を指定して、特定の課題の条件(優先度=最高など)に合致した課題だけをSlackに連携するといった設定もできます。
JIRAの個人設定
Slack Connector for JIRA Serverは、通常のチャンネルにプロジェクトの状況を流す以外に、もう一つ便利な機能があります。ユーザープロファイルの画面に、図8にある[Sign in with Slack]のボタンが追加されます。Slackにログインした状態でこのボタンを押して設定すると、Slackbotで個人宛ての「メンション」や「課題の割り当て」など、個人向けのメッセージを受け取れるようになります。
図9は「担当者割り当て」と「メンション」を受け取った場合の例です。プロジェクト全体の状況を確認するチャンネルとは別に、個人宛てのメッセージが独立したチャンネルに送られるため、他のメッセージに埋もれてしまうことを防げます。
最後に
以上、JIRA/ConfluenceとSlackを連携するアドオンを紹介しました。今回は紹介できませんでしたが、JSoftwareからは「Slack Connector for Bitbucket Server」も提供されているので、興味のある方はお試しください。また、今回のアドオンはリックソフトのブログでも紹介しています。ぜひご覧ください。
リックソフトはアトラシアン製品アジアパシフィック売り上げ第1位(2015~2016年)
リックソフト株式会社は、日本でトップレベルのAtlassian Platinum Solution Partnerです。アトラシアン製品の専任技術者が30人以上在籍しており、手厚いサポートを提供しています。また、豊富なライセンス購入特典もご用意しております。