Restricting issue types at creation - no conditions

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

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

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>"

Suggest an answer

Log in or Join to answer
Community showcase
Teodora [Botron]
Published Feb 15, 2018 in Marketplace Apps

Jira Inferno: The Nine Circles of Jira Administration Hell

If you spend enough time as a Jira admin - whether you are managing a single, mid-sized instance, a large enterprise one or juggling multiple instances at once - you will eventually find yourself in ...

1,143 views 6 19
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot