NTTドコモR&Dの技術ブログです。

Jiraで自分に割り当てられたPBIをSlackリストに自動追加させてみた

■ この記事を読むとわかること

  • 開発業務と社内業務を合わせたおすすめのタスク管理方法
  • JiraとSlackリストの連携方法

この記事でやりたいこと

■ 目次


■ はじめに

自己紹介

こんにちは。第一プロダクトデザイン部に所属している新入社員の村山です。普段はアジャイル開発を行っており、スクラムチームの開発チームでコーディングなどの開発業務を行っています。一方、新入社員に多い人事課題、研修後課題などの社内業務にも並行して取り組んでおります。

やりたいこと

「開発業務と社内業務の双方を把握したうえで各タスクの優先順位をつけたい。しかし、タスク管理自体に時間をかけたくない。」
開発メンバーであれば、このような悩みを持っている方も多いのでしょうか。私も同じ悩みを抱えていました。

そこで、Slackリスト上に開発業務と社内業務の双方のタスクをまとめることで、全タスク状況を可視化しました。社内業務は Slackリストに手動追加し、開発業務はJiraからSlackリストに自動追加させてます。

この記事では、Jiraのスクラムボードにて自分に割り当てられたPBIを、Slackリストに自動追加させる方法をご紹介します。Jiraのスクラムボードを利用している多くのアジャイル開発者にとって、少しでも参考になれば幸いです。

Jira→Slackの連携

Jiraと連携されたSlackリスト


■ 各サービスの基本機能

Jira Automation

Jira Automationは、Jira の課題(Issue)やプロジェクトイベントをトリガーに、条件分岐・アクションを組み合わせてノーコード/ローコードでワークフローを自動化できる機能です。代表的なユースケースは、ステータス遷移時の通知・フィールド更新、サブタスクの一括生成、Slack/Teams通知、時間ベースの定期処理などです。開発現場では更新漏れや情報連携の遅延が生じがちですが、Jira Automationで自動化するとそれらを予防できます。

Automationは以下の構成要素でワークフローを記述します。

  • トリガー:課題作成、ステータス遷移、コメント追加、フィールド変更、スケジュールなど。
  • 条件:JQLやフィールド値で絞り込み(例:優先度Critical、課題タイプBug)など。
  • アクション:課題更新、コメント投稿、リンク作成、通知(Slack/Teams/メール)、Webhook送信など。
  • ブランチ:関連課題(親子・リンク)や現在ユーザーなどに対する分岐処理。

Jira Automationの設定例

今回はこのJira Automationを使って、JiraでPBIが私に割り当てられた場合に、Slackリストに自動追加させるように設定します。

Slackリスト

Slackの「リスト機能」は、複数のメッセージやタスクを整理・管理するための機能で、以下の特徴を持ちます。

  • スレッドへのリンク、担当者、メモ、期限をリストに追加可能。
  • 状態(未対応、対応中、完了など)を設定できる。

社内業務を簡単にSlackリストに追加する方法は、Slackのスレッドでタスクを依頼された際に、スレッドの詳細を開く→「その他」から「リストに追加」を選択→モーダルウィンドウにて追加先のリストを指定し、Slackリストにタスクを追加する方法です。 スレッドを関連付けた状態でリストにタスクを追加することができます。Slackの似た機能としてブックマーク機能もありますが、リストでは緊急度や期限などの情報も付与できる点が特徴的です。私の場合は今日中に対処が必要ならブックマークに追加、不要ならリストに追加のように使い分けています。

詳細な使い方については、画像付きで分かりやすく説明されている下記の記事を参照してください!

nttdocomo-developers.jp


■ JiraからSlackリストの自動追加設定

それでは、本題のJiraとSlackリストの設定作業に入ります。 設定手順は次の通りです。

  1. Slackワークフローを作成
  2. Jira Automationを作成
  3. 動作確認

SlackでWebhookトリガーのワークフローを作成し、チャンネルへの通知とリストへの自動追加を設定します。 Jiraの自動化で「割り当て時」をトリガーにSlackのWebhookへPOSTし、課題情報を送信するルールを作成します。


本記事では、Slackリストはすでに作られている想定で、ワークフローの作成方法から紹介します。

1. Slackワークフローを作成

まず、チャンネルの右上に表示されている三本線(その他)→「ワークフローを追加」→「ワークフローを作成する」を押下し、ワークフローを新規作成します。

ワークフローの新規作成

続いて、ワークフローを設定します。最初にトリガーの設定を行います。トリガー設定では、「Webhookから」を選び、JiraからのWebリクエストを受信するとワークフローがトリガーされるように設定します。データ変数の追加ではキーにurl, body, titleの3つを設定します。データタイプはすべてテキストとして設定します。

Slackワークフローのトリガー設定

次に、ステップを設定します。ステップ1としてJiraでPBIが自分に割り当てられたことをチャンネルに通知する設定を行います。メッセージ内容は先ほどのurl, body, titleのデータ変数を利用して自由に設計することができます。 私の例を載せておきます(データ変数はモーダルウィンドウ右下の「{}変数を挿入する」を押下し、挿入してください)

@お名前
JiraでPBIが割り当てられました。
【PBI】{}title
{}url

Slackワークフローのチャンネル通知設定

ワークフローのステップ2として、Slackリストへの追加設定を行います。設定の際は「ステップのみを追加」を選択、追加したいリストを選択、リストアイテム追加の詳細設定を行います。画像の例では、名前に「【PBI】{}title」、担当者に自分、詳細では「{}body, {}url」を設定しています(データ変数は右横の「{}」を押下し、挿入してください)

Slackワークフローのリスト追加設定

これでワークフローの設定は完了です。ワークフローを保存し、公開しましょう。

2. Jira Automationを作成

続いてJiraの自動化設定を行います。まず、Jiraを開き画面右上の雷マークから「自動化を作成」を押下します。

Jira Automationの新規作成

続いて、トリガーを設定します。今回はPBIが自分に割り当てられたときにSlackへリクエストを投げたいので、「作業項目の割り当て時」をトリガーに設定します。

Jira Automationのトリガー設定

次に条件を設定します。上記のトリガーでは単に「作業項目の割り当て時」と設定されているので、自分に割り当てられたのか?をフィルタリングする必要があります。そこで、条件では次のように設定します。

  • 最初の値:{{assignee.displayName}}
  • 条件:と等しい
  • 第2の値:自分のJiraアカウント名

Jira Automationの条件設定

最後に、アクションを設定します。Slackワークフローにwebリクエストを送れるように、「Webリクエストを送信」をアクションに設定します。リクエストURLには、Slackワークフローのトリガーに設定されたWebhook用のURLを利用します。先ほど保存したワークフローのトリガーの詳細を開くとWebhook用のURLが発行されているので、そちらをコピペしましょう。

  • WebリクエストURL:Slackワークフローのトリガーに設定されたWebhook用のURLからコピペ
  • HTTPメソッド:POST
  • Webリクエスト本文:カスタムデータ
  • カスタムデータ:下記の通り(Slackワークフローで設定したデータ変数を持たせています)
{
    "url": "{{issue.url}}",
    "body": "{{issue.description}}",
    "title": "{{issue.summary}}"
}

Jira Automationのアクション設定

これで設定は完了です。自動化ルールを保存しましょう。 保存&公開ができたら、早速テストしていきます。

3. 動作確認

Jiraの画面にてバックログを開き、PBIを私に割り当ててみます。すると...

動作確認結果

TodoリストにPBIが自動追加されましたね!これで社内業務と開発業務の両方を考慮したタスク管理ができそうです。

*Slack→Jira方向への連携も同様の方法でできますが、ご使用のSlack環境にてOutgoing Webhookがご利用できる点をご確認ください。


■ さいごに

ご紹介した方法を使えば、Jiraで割り当てられたPBIをSlackリストに自動追加でき、開発業務と社内業務の管理が楽になります。本機能を実装する前までは漏れがないか不安でしたが、Slackで開発業務と社内業務を時間をかけず管理することで、安心して日々の業務に取り組めるようになりました!


もしこの記事が役に立ったと感じたら、ぜひチーム内で共有し、実際に設定を試してみてください!