Restricting issue types at creation - no conditions

Amy Biasella
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.
October 25, 2017

My end goal is to restrict a project's issue creation to only a handful of issues, let's call them Document, Story, and Epic. I'm also very new to this add-on and scripting in general so apologies for any egregious errors; I hope it's an easy fix.

I think the following is syntactically correct but I can't get it to work. I have it set as an Initializer function and I've triple checked that my mapping is correct:

 

import static com.atlassian.jira.issue.IssueFieldConstants.ISSUE_TYPE
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.*

def allowedTypes = ConstantsManager.getAllIssueTypeObjects().findAll{
it.name in ["Document","Story","Epic"]}

getFieldById(ISSUE_TYPE).setFieldOptions(allowedTypes)

 

The logs say "Returning map: [:]" which makes me think I'm not using the right method to return issue types in the first place. Many of the current documentation/forum questions I do find are using deprecated methods like getIssueTypeObject. Does anyone have a working script or ideas?

We are using JIRA Server v 7.4.1, ScriptRunner 5.1.6.

 

 

3 answers

Suggest an answer

Log in or Sign up to answer
0 votes
Amy Biasella
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.
October 26, 2017

This suggests it isn't doable. Oh well...

https://productsupport.adaptavist.com/browse/SRJIRA-1010

0 votes
Amy Biasella
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.
October 26, 2017

Hi Daniel, thanks for your help. Still not seeing the list of issues. I get the same result of  "Returning map: [:]", and I also see

"Script function failed on issue: (create issue) project/issuetype: DEV/Other, user: biasella, fieldId: __init__, file: <inline script>"
0 votes
Daniel Yelamos [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.
October 26, 2017

If I may: you could try to change your approach. When with an issue like this, I always say, "try to simplify the problem, and make it work in it's simplest form"

Try this:

import static com.atlassian.jira.issue.IssueFieldConstants.ISSUE_TYPE
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.*

def allowedTypes = ConstantsManager.getAllIssueTypeObjects()

getFieldById(ISSUE_TYPE).setFieldOptions(allowedTypes)

 If that loads anything, you know that your closure is the one that's failing, then, I would suggest that you google uses of findAll() closures in groovy and try to find the one that would suit you the most.

If you are still struggling after this, come back and I'll send you the proper code.

Cheers!

Dyelamos

TAGS
AUG Leaders

Atlassian Community Events