Create new JQL function for Script Runner

DerivcoITServer February 8, 2016

Hi,

I am new writing add-ons/plugins for Jira.

Using Script Runner I can perform the following query that returns issues that where last updated by any user part of the Developer role.

issueFunction in lastUpdated("inRole Developers")

I would like to write a similar function that would return me issues where the assign is part of a specific role. Example:

issueFunction in Assignee("inRole Developers")

The documentation that I have found does not give examples on how to do this. Only a template is available.

https://gist.github.com/jechlin/11153983

Would you be able to provide some sample code or more comprehensive documentation on how to achieve this?

I assume it would be something like this, but Im not sure where to put this in the template.
ComponentManager componentManager = ComponentManager.getInstance()
ProjectRoleManager projectRoleManager = ComponentManager.getComponentInstanceOfType(ProjectRoleManager.class) as ProjectRoleManager
ProjectRole devRole = projectRoleManager.getProjectRole("Developers")
projectRoleManager.isUserInProjectRole(issue.assignee, devRole, issue.projectObject)

 

Thanks.

1 answer

0 votes
JamieA
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.
February 8, 2016

I would not call the function Assignee. You could do it your way but it would be slow as it requires retrieving each issue and calling your code on it.

It would be better, although harder, to write a query that ends up as the following query:

(project = X and assignee in (user1, user2, <all Developers of X>) ||
  (project = Y and assignee in (user1, user2, <all Developers of Y>) || 
	... etc, for all visible projects

That looks complex but that will be fast to execute.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events