Use Slack and Jira Data Center applications together

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

How do I install the Jira Data Center for Slack app in Jira?

Head to the Atlassian Marketplace to download the Jira Data Center for Slack app. 


How do I connect the Jira Data Center for Slack app to my Jira site?

Slack を使用するには、Jira インスタンスに安全な接続 (HTTPS) によってインターネット経由でアクセスできる必要があります。したがって、セキュリティで保護されたポートを開いて、サーバーに有効な証明書があることを確認する必要があります。

このオプションでない場合でも、Jira から Slack への通知を提供するカスタム Slack アプリを作成して、Slack との制限付きの接続を設定できます。アプリの作成方法については、以下のページをご覧ください。

管理者は [管理] > [アプリケーション] で [Slack] ナビゲーション アイテムを確認できます。

ここから、[Set up integration (統合を設定する)] を選択します

統合画面にアクセスしたら [Slack に移動] をクリックします


You'll then be taken to Slack's App Directory to install the Jira Data Center Slack app. Click the green "Add to Slack" button for the Slack App and complete Slack's OAuth Process:

(warning) Make sure that you are logged as Slack Admin on that workspace, otherwise the button "Add to Slack" will not work, and you will be redirected to Atlassian Marketplace Jira Data Center for Slack app instead.


Once you complete the OAuth Process in Slack, you'll then see a new configuration page for your integration. Scroll to the bottom to see the two fields you need to complete. First, add your Jira Data Center web address. Please do not include a trailing / after your web address. Second, you'll want to copy the contents of box #2 back into your Jira setup. 

Paste the credentials into the Jira configuration on the Jira Data Center side. Click save here, and be sure to click "Submit" in your Slack window (screenshot above).

Once the connection has been setup, you'll receive a success notification from Jira Data Center in your direct message with Slackbot.

Slack に通知を投稿するためのプロジェクトのセットアップ方法

Slack チャンネルに接続するには、最初に Slack アカウントへのアクセスを確認する必要があります。この設定が未完了の場合は、(プロジェクト/グローバル管理者を問わず) Jira の Slack インテグレーション画面の [接続状態] に設定のためのリンクが表示されます。リンクをクリックすると Slack の認証リンクに転送されて、自身のチャンネルをアプリが参照できるようになります。

この手順を完了すると、"You're accessing Slack as [Your Name]" というメッセージが表示され、ドロップダウンからプライベート チャンネルを選択できるようになります。Slack 連携に自身のプライベート チャンネルを接続したいすべてのユーザーがこの手順を実行する必要があります。

Jira 管理者として

管理画面の [アプリケーション] セクションで、[統合] 配下に [Slack] が表示されます。ここで、Jira プロジェクトをさまざまな Slack チャンネルに接続できます。

 

チャンネルを選択すると、Slack への接続が次のように一覧表示されます。また、Slack では、Jira 通知がセットアップされた旨を示す通知が対象のチャンネルに送信されます。

Jira の設定メニューでは、対象のチャンネルに送信する通知を細かく絞り込めます。より詳細に制御する場合は、[詳細設定] をクリックしてカスタム JQL によりフィルタリングを設定できます。「基本的」冗長性により通知テキストが 1 行になって、「拡張」冗長性を有効にすると、担当者、ステータス、優先順位などの詳細を含む課題カードが表示されます。また、制限されたコメント通知をここで制御できます。

プラグインでは、課題に適用される課題セキュリティ レベルは反映されません。課題セキュリティ レベルが適用された課題の通知は接続した Slack チャンネルに送信されるため、機密情報が公開される可能性があります。


プロジェクト管理者として

プロジェクト管理者は自身の Slack 通知をセットアップおよび設定できます。Jira の [プロジェクト設定] に、Slack 連携用のリンクが表示されます。プロジェクト管理者はこのページで、対象のプロジェクトで現在接続されている Slack チャンネルを確認したり、新しい接続のセットアップを行ったりすることができます。 

どのように個人通知を設定しますか?

統合によって、bot からのダイレクト メッセージを介して Slack で特定の個人通知を受信できます。

  1. Jira ユーザー プロファイル ページに移動します。
  2. ページの右上隅にある [ツール] ドロップダウンをクリックします。
  3. 項目 [Slack 通知] をクリックします。


  4. 次のページで、通知を受信するタイミングと希望する Slack ワークスペースに関するオプションを選択します。

どのように Slack事後操作通知を設定しますか?

事後操作は、課題が特定のワークフロー ステータスに移行したときにトリガーされるカスタム アクションです。

ステータスに事後操作を追加するには、[プロジェクト設定] に移動してワークフローを編集します。

新しいワークフロー ドラフトで、IN PROGRESS (進行中) を示しているトランジション (矢印付きのグレーの線) を選択して、[事後操作] をクリックします。

ブラウザで新しいタブが開きます。その後、次の手順に従います。

  1. [事後操作の追加] リンクをクリックします。
  2. [Slack に通知] オプションを選択します。
  3. [追加] ボタンをクリックします。
  4. これで、必要な通知を設定できる設定ページが表示されます。
  5. 必要な内容を編集したら、[追加] をクリックします。
  6. 最後に、ワークフローを公開します。

Slack事後操作の設定ページの画像を以下に示します。

利用可能なオプションは次のとおりです。

  • JQL:事後操作通知を生成する課題をフィルタリングします。
  • チーム: チャンネル フィールド オートコンプリートを入力するワークスペースを選択します。これは通知に直接影響しません、チャンネルの選択のみに影響します。
  • チャンネル: 通知が送信されるチャンネルのリスト。チーム フィールドを切り替えて希望するチャンネルを選択することで、複数のワークスペースのチャンネルに通知できます。
  • メッセージ: 通知テンプレート メッセージをカスタマイズします。これは、ベロシティ エンジンを使用しています。
  • プレビュー: ダミー データを使用して生成されるメッセージの簡易バージョンをレンダリングします。

メッセージ エディターのボタンには、テンプレートを設定する方法に関するさまざまな例が表示されます。テンプレートのスコープで利用可能なすべての変数は次のとおりです。

フィールド/説明

user

トランジションをトリガーしたユーザーのユーザー オブジェクト

$user -> John Smith
$user.name -> jsmith

課題

課題オブジェクト

$issue -> KEY-1
$issue.summary -> An important issue

プロジェクト

プロジェクト オブジェクト

$project -> My Project
$project.key -> MP
$project.description -> A project description

ステータス

新規ステータス オブジェクト

$status -> Done

優先度

優先順位オブジェクト

$priority -> low

issueType

課題タイプ オブジェクト

$issueType -> Task

creator

課題の作成者のユーザー オブジェクト

$creator -> John Smith
$creator.name -> jsmith

担当者

課題に割り当てられたユーザーのユーザー オブジェクト

$assignee -> John Smith
$assignee.name -> jsmith

reporter

課題の報告者に関するユーザー オブジェクト

$reporter -> John Smith
$reporter.name -> jsmith

操作

操作名

$action -> Transition

firstStep

以前のステータス名

$firstStep -> In Progress
$user.name -> jsmith

endStep

新しいステータス名

$endStep -> Done

カスタム フィールド

カスタム フィールド オブジェクトのマップ。

これは Java Map のインスタンスであるため、カスタム フィールド名と ID をキーとして使用できます。ただし、Jira ではすべてのカスタム フィールド ID に customfield_ の接頭語が付けられます。

フィールド名が互いに競合することがあります。この場合は、ID を使用することをお勧めします。

フィールドの値は、カスタム フィールドのタイプによって異なります。たとえば、複数値を持つフィールドは Jira の Option インスタンスを返す可能性があるため、 を 2 回呼び出す必要がある場合があります。ベロシティ エンジンの柔軟性を利用して、複数値を持つフィールドや必要な書式設定を処理できます。

// accessing fields
$customFields.fieldName
$customFields.customField_123456
$customFields.get('fieldName')
$customFields.get('customField_123456')
-> My Field: Field Value

// accessing field attributes
$!customFields.fieldName.name 
$!customFields.customField_123456.name
-> My Field
$!customFields.fieldName.value
-> Text field value, or empty if null


// multivalued custom fields
$customFields.fieldName.value.value 
-> Selected field value
$customFields.fieldName.value.toString() 
-> Multivalued field value as string

How do I connect Jira Data Center to a direct message or multi party direct message?

Unfortunately, it's not possible to set up Jira Data Center notifications into Slack's direct messages or multi party direct messages.
Alternatively we suggest setting up a private channel and configuring notifications to route there.

異なる Slack ワークスペースへの接続方法

The Jira Data Center for Slack app supports the ability to connect to multiple Slack Workspaces, such as in a Slack Enterprise Grid. To do so, on any of the Slack integration pages in Jira, you should see a dropdown of workspaces at the top. To connect to a new workspace, click this and click "Connect to a new team." Please follow the steps from above (How do I connect  the Jira Data Center app to my Jira site?) to connect your new workspace to this Jira Data Center instance.

I use multiple Jira Data Center instances or my instances are behind a firewall. How do I connect them to Slack?

The process for setting up additional Jira Data Center instances with Slack takes some manual configuration to setup. Please ensure that you follow the below steps perfectly to ensure proper connectivity between your Jira Data Center instance and Slack. You can repeat this process multiple times for each additional Jira Data Center instance you have.

始めるには、まず https://api.slack.com/apps?new_classic_app=1 をご確認ください。Slack では、現時点でこのアプリと互換性のない新しい権限モデルがリリースされているため、クラシック スコープでアプリを作成するようにしてください。

 

スラッシュ コマンド

Jira インスタンスがファイアウォールに保護されていている場合は Slack がアクセスできないので、このセクションをスキップできます。

スラッシュ コマンドを使用すると、ユーザーは Slack のメッセージ ボックスからアプリとのインタラクションを直接トリガーできます。

  1. アプリの設定で [スラッシュ コマンド] に移動します。

  2. [新しいコマンドを作成] をクリックします。

  3. Copy the details of this command over, replacing {{url}} with your Jira Data Center's URL:
    Command name/jira_server
    Request URLhttps://{{url}}/slack/command
    Usage hintaccount, ISSUEKEY-123, help

    コマンド名が、ワークスペース内の別の Slack アプリで使用されていないことを確認します。

    保存すると、新しいスラッシュ コマンドが一覧に表示されます。

[機能] の [OAuth と権限] に進みます。

OAuth と権限

First, we'll click Add New Redirect URL. Set this to http://{{url}}/slack/oauth. Again, replace {{url}} with your Jira Data Center's URL. Make sure to click Save URLs.

次に、[範囲] セクションまで下にスクロールします。次のスコープを追加します。

channels:read

channels:write

links:read

groups:read

groups:write

links:write

im:read

mpim:read

chat:write:bot

すべてのスコープを追加したことを再確認したら、[保存] をクリックします。

bot はこれらのスコープがすべて設定されている場合にのみ、適切に動作します。bot の動作であとから問題があった場合は、すべての必要な権限が設定されているかどうかをここで確認します。

Bot ユーザー

[機能] ナビゲーション バーで [Bot ユーザー]、[Bot ユーザーを追加] の順にクリックします。

表示名と既定のユーザー名には任意の値を設定できます (例: Finance Jira)。下部にある [Bot ユーザーを追加] ボタンをクリックします。

イベント サブスクリプション

Jira インスタンスがファイアウォールに保護されていている場合は Slack がアクセスできないので、このセクションをスキップできます。

[イベント サブスクリプション] ナビゲーション メニュー アイテムをクリックして、[イベントを有効化] を [オン] に切り替えます。

Add your Request URL https://{{url}}/slack/event and click Change. Please validate that it says "Verified" to ensure your connection between Slack and your Jira Data Center instance

これで、[Workspace Events] で次のイベントをサブスクライブできます。

channel_archivechannel_deletedchannel_unarchivegroup_archive
group_deletedgroup_unarchivelink_shared

[Bot Events] にスクロールすると、次のイベントを追加できます。

app_uninstalled

member_joined_channel

message.channels

message.groups

message.im

message.mpim

tokens_revoked


Scroll down to App Unfurl Domains and add your Jira Data Center domain.

すべてのイベントが追加されたことを確認したら [Save Changes] をクリックします。

アプリのインストール

設定の [Install App] > [Install App to Workspace] をクリックすることで、ワークスペースにアプリをインストールできます。

In the Jira config screen, click the "Connect to a new Team" menu item. Then click on "advanced" for connection type. You'll need to copy each of the settings from your Slack app configuration into this screen. Once completed, you'll be able to start using your Jira Data Center integration.

Jira インスタンスを複数のワークスペースに接続するために作成した Slack アプリを配布できますか?

上記の手順に従ってカスタム アプリを作成した場合は可能です。

まず、インスタンスには、アプリの認証情報を使用するワークスペースとの接続が 1 つ以上必要です。これが必要なのは、統合がアプリのクライアントとシークレットを認識するためです。

次に、Slack でインストール URL を見つけます。

  1. アプリを Slack API ページで探します。
  2. [設定] から [配布を管理] に移動します。
  3. 他のワークスペースで配布を有効化します。そのためには、Slack の要件を満たす必要があります。
  4. 共有可能な URL をコピーします。
  5. ブラウザで共有可能な URL に移動します。それによって、インストール フローがトリガーされます。 
  6. ターゲット ワークスペースを選択して続行します。
  7. この時点で、アプリと統合が正しくセットアップされている場合は、Jira の統合設定ページにリダイレクトされて新しい接続はすでにセットアップされているはずです。

Data Center 製品での連携の使用可否について

この連携のすべての機能を Jira Data Center でお使いいただけます。

Which Slash commands does the Jira Data Center integration support? 

統合とのやり取りでは、以下のスラッシュ コマンドを使用できます。

スラッシュ コマンド操作
/jira_server HD-1

特定の Jira Server 課題についての情報を取得します。この情報は、管理者 (またはコマンドを使用するユーザー) のみに表示されることにご注意ください。

/jira_server help

スラッシュ コマンドのヘルプ情報を表示します。

/jira_server accountJira アカウントを Slack アカウントに接続している場合は、Jira アカウントが表示されます。Slack で課題にアクセスしたり Jira でチャンネルを設定したりする場合は、アカウントを接続する必要があります。

Can the Jira Data Center bot provide my team a preview of Jira issues (aka unfurling)?

Of course! When someone writes a message with one or more Jira issue keys (in upper or lower case, so both DEV-36 or dev-36 will work) and the Jira Data Center bot is present in the conversation, the Jira Data Center bot will unfurl the message and show a preview of the issues. 

スラッシュ コマンドを使用し、「/jira_server TICKET-ID」と入力してプレビューを表示することもできます。

課題の専用チャンネルの作成方法

チケットの右側のサイド バーに、Slack 用の新しいラベルが表示されます。ここで、専用チャンネルが作成されているかどうかを確認し、新しいものを割り当てることができます。

ドロップダウンでは、特定のワークスペースとチャンネルを選択できます。この画面で新しいチャンネルを作成することもできます。Slack では、チケットがチャンネルにリンクされたことを示す通知が送信されます。

これで、すべてのステータス アップデートがこのチャンネルに投稿されるようになります。Jira が設定されている公開または非公開チャンネルでユーザーがこのチケットをメンションすると、Jira の課題ビューに表示されます。

どのように統合を微調整できますか?

We can add Jira system properties to tune specific parts of the integration, as described in the table below:

システム プロパティ名説明 プラグインのデフォルト値
slack.notification.include.images

「拡張」レイアウトでの通知設定には、プロジェクト アバターが含まれます (Slack との接続が双方向の場合「制限」されません)。しかし、状況によっては、たとえば Slack がサーバー内の画像に到達できない場合、Slack が画像をロードしようとする間に通知の処理に時間がかかり (約 10 秒)、通知が重複することがあります。画像を無効にすると、この状況における遅延や重複した通知が解決されます。

true
slack.client.max.channel.bulk.load
管理ページで使用される、一度に取得される Slack チャンネルの最大数。どのように Slack のレートが統合を制限するかに影響します。50
slack.client.list.all.conversations

有効にすると、設定ページのチャンネル セレクターのドロップダウンに、ユーザー チャンネルではなく選択したワークスペースのすべての Slack チャンネルが表示されます。

(warning) これを大規模なワークスペースでは使用しないようにしてください、小規模なワークスペースには便利です。

false
slack.client.pagination.limit

slack.client.list.all.conversations が有効な場合にロードするチャンネルの最大数です。各ページには 1,000 チャンネルがロードされるため、ページネーション制限が 2 の場合は最大チャンネル数は 2000 になります。

(warning) この値を大きくしすぎるとブラウザが何度もエントリをレンダリングしようとするため、動作が遅くなるかクラッシュします。

Slack system with many archived channels and conversations may need to increase this value to larger than 2 to get all user conversations.  Jira calls Slack API user.conversations with the parameter exclude_archived = true.  For example, when an API call for a user fetches 1000 conversations, with 250 of them are archived. JIra returns only 750.  An active Slack user who has been in the system for a while and has many archived conversations will be required to fetch more pages to get all user's conversations.

2
slack.client.retry.on.connection.failure
接続の確立に失敗した場合に再試行する OkHttp3 ブール型フラグ。製品ドキュメントtrue
slack.client.connect.timeout
新しい接続を確立する際の OkHttp3 タイムアウト。製品ドキュメント。3000
slack.client.read.timeout
データの接続を待機している間の OkHttp 3 タイムアウト。製品ドキュメント。15000 (15 秒)
slack.client.write.timeout
サーバーにデータを送信している間の OkHttp3 のタイムアウト (ミリ秒)。製品ドキュメント。120000 (120 秒)
slack.client.retry.count
Slack クライアントに 5xx レスポンスが返された場合に再試行する回数。バックオフ遅延 (秒) はそれぞれ、1、3、5、8、13、30 秒です。3
slack.client.rate.limit.retry.count
Slack から 429 HTTP レスポンスが返された場合に、Slack クライアントが再試行する回数。製品ドキュメント。デフォルトで、Slack は Retry-After ヘッダーを、クライアントが次の試行を遅らせるために使用する時間間隔で返します。3
slack.client.ping.interval
クライアントによって開始された HTTP/2 と Web ソケットの ping の間の OkHttp3 の間隔。これを使用して、接続が失敗するかクローズするまで ping フレームを自動で送信します。これによって、接続を維持して接続の障害を検出できます製品ドキュメント0 (無効)
slack.client.force.http1
HTTP/1.1 を使用するように OkHttp3 を強制します (Slack を呼び出す場合)。ファイアウォールまたはプロキシで HTTP/2 のサポートに問題がある場合に、このオプションを使用します。製品ドキュメントfalse
slack.client.thread.pool.size
Slack 通知を処理するスレッドの数と、Slack からの受信リクエストの処理能力など、統合のその他の非同期操作にも影響します。5
slack.client.queue.size

統合によって消費されるメモリを制限します。たとえば、イベントの大きなスパイクによって一度に多数の通知がトリガーされてキューの最大サイズに達すると、新しい通知をスケジュールする試行は失敗してそれらの通知が削除されます。

デフォルト値が 1000 の場合は、処理するキューに変更を加えることなく、基本的に同様に発生する 1001 以上のイベントが必要となることにご注意ください。そのコンテキストで Slack 通知が有効になっている場合は、大規模な一括編集を行うとその制限に達する可能性があります。

1000
slack.client.cache.expire.seconds
Slack リクエストからキャッシュされた値 (チャンネルやユーザー名など) が失効するまでの時間 (秒)。値は Slack トークンに従ってキャッシュされるため、すべての値はそれぞれの Slack ユーザーに制限されます。900 (15 分)
slack.skip.private.mention
プライベート チャンネルの課題メンションを記録しないでください。false

クラスタ環境の場合は、システム プロパティの一部とこれらのプロパティが表す上限がノードに個別に影響します。そのため、キュー サイズなどの制限は、クラスタで使用可能なノードの数に応じて拡張されます。

どのように統合をトラブルシューティングできますか?

デバッグ ロギング

次のパッケージを使用して、ログとプロファイルの作成設定を通して DEBUG レベル ログを有効化できます。

  • com.atlassian.plugins.slack
  • com.atlassian.jira.plugins.slack

Slack からの接続

インスタンスと Slack の間の接続に問題がある場合は、以下を再確認してください。

  • Slack は、HTTPS でセキュリティ保護された URL を介してインスタンスに到達できる。
  • Slack アプリの設定で、末尾にスラッシュを付けずにベース URL を適切に保存している。
  • <baseUrl>/slack/*<baseUrl>/rest/slack/latest/* のパスが、ファイアウォールとセキュリティ フィルターでホワイトリストに登録されていることを確認する。

  • Slack からの受信リクエストでは異なる認証メカニズムが使用されるため、これらのパスによって「匿名」リクエストが許可されることを確認する。
  • インスタンスを公開できない場合でも、このページ説明に従ってカスタム アプリを作成することで、通知専用モードで統合を利用できる。

検証イベント エンドポイントにリクエストを実行することで、統合が利用可能かどうかを確認できます。bash ターミナルでは、次のコマンドで実行できます。

curl -X POST \
  https://<jira-base-url>/slack/event \
  -H 'Content-Type: application/json' \
  -H "X-Slack-Request-Timestamp: $(date +%s)" \
  -H 'X-Slack-Signature: any-value' \
  -d '{"challenge": "boo","type": "url_verification"}'

Slack でのインスタンス URL の送信失敗

インスタンスの URL を送信する際に、アプリがワークスペースから削除された直後に「Oops」エラーが発生することがあります。これは、Slack がアンインストールを完了する前にインスタンスに到達しようとするためです。

この課題は、15 分以内に自動で修正されるか Slack によってプロセスが終了します。

高度な設定

詳細設定ダイアログにアクセスするには、次の手順に従います。

  1. [Jira 管理] > [アプリケーション] > [Slack] または [プロジェクト設定] > [Slack 統合] から、Slack 設定に移動します。
  2. ... メニューで開きます。
  3. [高度な設定] をクリックします。

ダイアログでは、次の項目を設定できます。

  • 課題プレビュー (展開): 展開をグローバルにまたはプロジェクト単位で有効または無効にします。
  • 外部共有チャンネルの課題プレビュー: チャンネルが別の組織と共有されている場合に展開を有効/無効化します。グローバル レベルでのみ使用できます。
  • Slack 課題パネルを非表示: 課題パネルをグローバルまたはプロジェクトごとに非表示にします。たとえば、外部ユーザーに対してプロジェクトを開いている場合に便利です。
  • 専用チャンネルでの制限付きコメント通知: 専用チャンネルに制限付きコメント通知を送信できます。プロジェクト レベルでのみ使用できます。特定のプロジェクトのコメント制限を上書きする場合に便利です (サポート エージェントが取り組んでいるサポート リクエスト用の専用チャンネルなど)。

これはアトラシアンのサポート対象ですか?

はい、もちろんです。この統合機能は、アトラシアンがビルドして保守しています。サポートが必要な場合は、support.atlassian.com にアクセスしてください。

最終更新日: 2025 年 2 月 12 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.