Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,361,319
Community Members
 
Community Events
168
Community Groups

Add Project roles as watchers in issue

Hi , 

I have a project role called developers, Once an issue created I want that the user of this project role te be watchers for this issues.

 

@Kristian Walker (Adaptavist) Kindly advice.

 

 

 

6 answers

1 accepted

1 vote
Answer accepted

Hey Rita

You can create a custom listener, assign it to listen for issue create events and in the inline script 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.security.roles.ProjectRoleManager

Issue issue = event.issue
def watcherManager = ComponentAccessor.getWatcherManager()
def projectRoleManager =ComponentAccessor.getComponent(ProjectRoleManager)
def developersProjectRole = projectRoleManager.getProjectRole("Developers")
def actorsInRole = projectRoleManager.getProjectRoleActors(developersProjectRole, issue.getProjectObject())

actorsInRole.getApplicationUsers().each {user ->
    watcherManager.startWatching(user, issue)
}

For more information have a look in WatcherManager and ProjectRoleManager

PS. Is tested in a JIRA v7.1 , I don't expect to be different in a 6.* JIRA version. 

is there any syntax change required as of today ?

image.png

Hi Rita,

Apologies for not getting back to you sooner but I have been busy with other items this week.

I have tested the code that my colleague Thanos has provided below and can confirm that this is the solution that you should use.

I have enclosed some steps below on how you can add this as listener into JIRA.

  1. Click the Administration cog in the top right hand corner of JIRA and select Add Ons from the drop down menu.
  2. On the page that is displayed locate and click on the Script Listeners link on the left hand side of the page.
  3. On the page that is displayed click on the Custom Listener link.
  4. In the Project Key box select the projects that this listener is supposed to work on.
  5. In the events box select Issue Created
  6. In the Inline Script box paste the code provided by Thanos Below.
  7. Your screen should look similar to the screenshot below.
    image2016-4-7 10:35:3.png
  8. Click the Add button to save the listener.

I hope this helps.

Kristian

@Jamie Echlin (Adaptavist) I want to write a script that only some groups have this features.

 do you have any idea on how to do it  through script runner?

0 votes

This is a build-in feature. No plugin needed. Just add a new role in System Administration in section Security - Roles, add a new role, e.g. "Global Watcher". Then in your project's Notification Scheme add this role to all notifications you need.

Sorry, this does not make them "issue-watchers" (not added to issue field value Watchers for each issue), they just receive all email, which may be what you want or not.

Hi Rita,

I think you may find the Add Watcher listener provided by ScriptRunner will be useful to resolve this requirement.

The official documentation on the Add Watcher listener can be viewed here.

I hope this helps

Thanks

Kristian

Hi @Kristian Walker (Adaptavist) in fact I want to use the project role instead of the current user. I dont know how to do it using the listener

 

awaiting your advise.

Thanks

Rita

0 votes
JamieA Rising Star Apr 05, 2016

What have you got so far?

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Apps & Integrations

Apps for Confluence you won't want to miss: RSVP for September's Appy Hours

Calling all collaborators and Confluence users! Our Appy Hours event on September 29th features 4 presenters demoing functionality to superpower Confluence. Don't miss learning about these apps i...

122 views 0 9
Read article

Atlassian Community Events