2 回答
- 210
基本的には
Add watchers in the Issue creation screen - JIRA Knowledge Base - Atlassian Documentation
のナレッジベースの通り以下アドオンを使いましょう。
Watcher Custom Field for Jira 無償
コメントを追加... - 210
関連するKBが用意されています、アドオンを導入することで実現することはできます。
Add watchers in the Issue creation screen - JIRA Knowledge Base - Atlassian Documentation
Script Runnerを推奨するわけではないですが、すでに導入済みのようですので...
トランジション: Create Issue の post-functionで以下のようなスクリプトを参考に実装することで、実現できるかもしれません。
https://justinit.wordpress.com/2010/12/17/jira-add-watchers-at-issue-creation/
前に試したScriptがあったので、ご参考までに...
import java.util.List; import com.atlassian.jira.issue.Issue; com.atlassian.jira.issue.CustomFieldManager customFieldManager = com.atlassian.jira.component.ComponentAccessor.getCustomFieldManager(); com.atlassian.jira.issue.IssueManager issueManager = com.atlassian.jira.component.ComponentAccessor.getIssueManager(); com.atlassian.jira.security.groups.GroupManager groupManager = com.atlassian.jira.component.ComponentAccessor.getGroupManager(); com.atlassian.jira.user.util.UserManager userManager = com.atlassian.jira.component.ComponentAccessor.getUserManager(); com.atlassian.jira.issue.watchers.WatcherManager watcherManager = com.atlassian.jira.component.ComponentAccessor.getWatcherManager(); /* グループ一括登録 */ Collection<com.atlassian.crowd.embedded.api.User> usersInGroup = groupManager.getUsersInGroup("<グループ名>"); for (com.atlassian.crowd.embedded.api.User user : usersInGroup) { watcherManager.startWatching(user, issueObject); } /* ユーザー個別登録 */ watcherManager.startWatching(userManager.getUserByKey("<ユーザ名>"), issueObject);
グループ一括登録が、グループに所属するユーザーをwatcherに追加するイメージ。
ユーザー個別登録はそのままです...
試してないですけど、グループピッカーやユーザーピッカーなど特定のカスタムフィールドを用意しておくのもありかもしれません?
List<com.atlassian.crowd.embedded.api.Group group> groups = issueObject.getCustomFieldValue(customFieldManager.getCustomFieldObject("customfield_XXXX"));
- RYOITO
ありがとうございます。 なるほど、Create Issueトランザクションにもスクリプトを仕込めたんですね。
- Shuzaburo Doba
私も試していたところ、Create トランジション以外に設定したことが原因なのか、
以下の ウォッチャーが削除できない という不具合に直面しました。DB を見てみたところ、ユーザーがウォッチャーに登録された情報はあるものの、
課題自体のウォッチャーの人数が増えておらず不整合がおきていたように感じました。以下のように課題のウォッチャーの人数を追加することでうまく動作している気がします。
import com.atlassian.jira.component.ComponentAccessor def watcherManager = ComponentAccessor.getWatcherManager() def userManager = ComponentAccessor.getUserManager() watcherManager.startWatching(userManager.getUserObject("testuser"), issue) issue.setWatches(issue.getWatches() + 1) // ウォッチャーに追加する人数分足す
- Kengo Ohsaki
Shuzaburo Doba-san,
なんとそんな不具合があるとは…
スクリプトは不具合に遭遇することもあるので危険ですね。
素直に Watcher Custom Field for Jira のアドオンを使うのがいいですね。
コメントを追加...
課題作成画面にウォッチャーを表示できないでしょうか。
または作成された課題について条件でウォッチャーを登録をする手はないでしょうか。