Adding fixed watcher to a new issue using a post function

Michael Albiez July 20, 2016

Hello,

we recently updated our JIRA to version 7.1.8.

Unfortunately one of our scripts doesn´t work any more.

The upcoming error is:

 /secure/CreateIssueDetails.jspa [c.a.j.issue.watchers.DefaultWatcherManager] You must specify a user.

This is the code:

import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Category
 
 
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def watcherManager = ComponentAccessor.getWatcherManager()
def userManager = ComponentAccessor.getUserManager()
 
def watchUsers = {usernames ->
    usernames.each {
        def user = userManager.getUserByKey(it.toString())
        watcherManager.startWatching(user, issue)
        }
    }
def users = ["<username>", "<username>", "<username>", "<username>"]
 
def Category log = Category.getInstance("com.onresolve.jira.groovy.PostFunction")
log.setLevel(org.apache.log4j.Level.DEBUG)
log.debug "--------------- ADD WATCHER/S --------------"
 
watchUsers(users)

I tried some things but I unfortunately can´t find the error.

It seems like the users are defined wrong.

Can anyone see the error?

Best regards,

Michael

2 answers

1 vote
Michael Albiez July 24, 2016

Hi Thanos,

thanks for your answer.

I found the error. JIRA compares the lower case usernames.

So I just had to write the usernames in loser case and the csript worked fine.

0 votes
Thanos Batagiannis _Adaptavist_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 22, 2016

hi Michael,

I think your script is right, so as you already noticed the problem should be with the user names, try to add a debug message for the user, and check the user for null before the watcherManager.startWatching(user, issue)

regards

Suggest an answer

Log in or Sign up to answer