How do I stop project admins from creating issue statuses?

MattS
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 31, 2015

JIRA Agile seems to allow project administrators with JIRA Agile boards and a Simplified Workflow to create new statuses. Does anyone know how I can only allow JIRA admins to create issue statuses?

Alternatively, how can I prevent Simplified Workflows from being used in enterprise-scale JIRA instances in a simple way?

4 answers

2 votes
MattS
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.
August 13, 2015

I guess in the end I have to do something to stop the conditions listed at https://confluence.atlassian.com/display/AGILE/Using+JIRA+Agile+Simplified+Workflow#UsingJIRAAgileSimplifiedWorkflow-Whycan'tIswitchtoSimplifiedWorkflow? from being valid. This is currently:

You will only be able to switch to Simplified Workflow if:

  • There is only one project being viewed by your board (to check this, look at the board's filter); and
  • That project uses a JIRA workflow scheme which only has one workflow for all issue types; and
  • Your workflow only uses Post Functions, Validators, and Conditions which are provided by Atlassian (not any which are provided by add-ons); and
  • You have the 'JIRA Administrators' global permission; and
  • The existing workflow has at least one outgoing transition for each status; and
  • You are using JIRA version 5.0.4 or later (please see Supported Platforms).

However that seems to say that only JIRA admins can use simplified workflow, which is not what I think I've seen. I may be mistaken though 

1 vote
Jason Byers August 2, 2018

I know this is really old but I'd like to add some input.

We use the announcement banner to hide certain elements from JIRA users...then it's not that hard to use a script (javascript/AJS) to check if the current user is member of a certain group...if so then update the css display of the elements, like addStatus. This can be done in the announcement banner, and limits certain options like add column or status via the board config.

1 vote
Daniel Wester
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.
August 1, 2015

Hammer approach:

If you've got nginx or apache (urk) in front of JIRA, you could maybe identify the rest end point that GH calls when it creates statuses and just return back some static son. JIRA Agile will say that things are broken... Then just tell the JIRA Admins to create the statuses properly.

MattS
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.
August 13, 2015

ow!

1 vote
William Crighton _CCC_
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 31, 2015

Matt,

Change the workflow on the project - just create one that has the same states, etc, as the simplified but create it by hand, not as a copy. Then JIRA shouldn't allow project admins to switch their project's workflow to the simplified and since it isn't simplified they won't be able to add statuses.

There are some 'dark' flags set on the simplified workflow - much like how JIRA Agile custom fields are 'locked' - that JIRA Agile checks before allowing statuses to be added (we found this out when our Transition Reorder Addon would fail when handling the simplified workflows). I don't know more specifics unfortunately but can ask a developer for more details on the Fix he did.

-wc

Daniel Wester
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 31, 2015

Project admins shouldn't be able to switch the project workflows to simplified. You need to be an admin to do it (or at least you used to).

MattS
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 31, 2015

That would work true. But I have hundreds of workflows, projects, thousands of boards etc so I'd really like a way to only allow JIRA admins to create statuses.

William Crighton _CCC_
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 31, 2015

yea, that's a different kinda problem - sry, should have realized the twist here... I've had a couple of other thoughts, let me noodle them about a bit and I'll post what shakes out. The first (evil) thought I had was implementing a listener that would first disable/delete status objects created by non-jira-admins and then create an issue humbly requesting forgiveness from the JIRA Admin group (via new issue created in project X) for overstepping their authority, etc etc...something embarrassing, anyway, as that sort of manipulation tends to displace all but the most determined. I don't know if you can detect when one is created, though, so it'd get complicated if you couldn't squish it instantly. Anyway, interesting question, so thanks! cheers -wc

Daniel Wester
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.
August 3, 2015

Looking at the source code - it's interacting directly with the status service (through a couple of layers of abstraction). The only way to block it would be at the rest level. Now you could intercept the javascript call that the button and just override it.

Suggest an answer

Log in or Sign up to answer