1 回答
- 210
質問をしっかり理解できているか心配ですが…
背景
JIRA内にある1プロジェクトがありその中には複数の課題が存在する。
その課題の報告者としてAさんが設定されているものもあれば、BさんやCさんのものもある。
実現したいこと
そのプロジェクトでは、「課題の作業がログに記録されました」という通知イベントでは
Aさんが報告者になっている課題のみAさんに通知されてほしい。
BさんやCさんが報告者になっている課題に関しては通知しないでほしい。
検討したこと
そのプロジェクトで設定している通知スキームで「課題の作業がログに記録されました」の通知を
報告者にすれば報告者にのみ通知できるようになる。
しかしながら、これはBさんやCさんが報告者になっている課題についても適用されるため、その課題についてはBさんやCさんに通知されてしまう。この通知は必要ない。
通知スキームで、単一のユーザーで、Aさんにのみ通知するようにすると、今度は報告者がBさんやCさんの課題までAさんに通知されてしまう。
といったところでしょうか…
たぶん標準で実現できないと思いますが…
サブタスクが全て完了になったら連動して親タスクを完了したい でやり取りさせて頂いた環境と同じであれば
ScriptRunnerが導入されているのでそのアドオンを使えば実現できるかもしれません。
実際に試してないので…なんともいえませんが
Script Fieldsというスクリプトで以下のようなユーザーピッカーフィールドを作成して
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.user.util.UserManager; import com.atlassian.jira.user.ApplicationUser; UserManager userManager = ComponentAccessor.getUserManager(); // Aさん ApplicationUser userA = userManager.getUserByName("Aさんのユーザー名"); // 課題の報告者 ApplicationUser reporter = issue.getReporter(); // 報告者 = Aさん if (reporter != null && reporter.equals(userA)) { return reporter; } else { return null; }
通知スキーム「課題の作業がログに記録されました」のユーザーピッカーのカスタムフィールドに、作成したカスタムフィールドを設定すればできるかもしれません…
あとは、Script Listenersで任意のイベントでメールを送る機能もあるのでこれでもできるかもしれません…
https://scriptrunner.adaptavist.com/4.3.5/jira/builtin-scripts.html#_send_a_custom_email
そのほかのアドオンでも実現方法はあるかもしれませんが、まずは導入されているアドオンで回答してみました。
参考になりましたら幸いです。
- mio.kitagawa
ご記載いただいたものがまさにやりたいことそのものですー!
そしてScriptRunnnerのフィールド追加でできました!
ありがとうございました。
- Kengo Ohsaki
mio.kitagawa-san,
できましたかー良かったです!
ScriptRunnerはJIRAのJavaAPIを使ってスクリプト書けるため使いこなすのが大変ですが
使いこなせると面白いアドオンですのでご活用いただければと思います!
(独自アドオン開発するのと同じくらいのことができます)
コメントを追加...
プロジェクトごとに通知スキームを設定できるかと思いますが、
同一プロジェクト内でも特定の人にのみ、その人が報告者になっている課題のステータスの変更をとばしたい
という場合いい方法はないでしょうか。
具体的には「課題の作業がログに記録されました」というイベントが発生したときに通知と設定すると、
同一プロジェクト内に複数の報告者がいた場合にはどの報告者にもイベント通知メールが飛んでくるかとおもいますが、これを特定のAさんにのみ、Aさんが報告者になっている課題のイベント通知がくるようにしたいのですが・・・。
標準機能ではできなそうです。