How to restrict users from changing the status of issues with fields

Daniel Kendall December 12, 2017

I want to be able to stop moving an issue along a workflow if they haven't performed certain actions on it. I intended on creating a custom field check list, and the issue wouldn't be able to change status until all boxes were checked. Is there a way to do this/is there a different way I could do this?

2 answers

0 votes
Johnson Wang December 18, 2017

Hey @Daniel Kendall,

I agree with Alexey that the better way of implementing this restriction is to do so using sub-tasks.

I'd also recommend using the Power Scripts add-on that he mentioned. There's a short video tutorial that walks through a very similar situation as the one you describe.

Here's a slight modification to the sample code used; feel free to customize to your needs:

/*Use this script as a workflow transition validator to allow transition only ifa field in the subtask is populated*/ string [] subtasks = subtasks(key);boolean hasInput = false;
string errorMsg = "This field is required";
for(string st in subtasks) {    if(isNotNull(%st%.fruit)) {        hasInput = true;    }}
if(hasInput(customfield_1234) == false) {

    return false, customfield_1234, errorMsg;
}

Hope this helps!

Thanks,

Johnson

0 votes
Alexey Matveev
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.
December 12, 2017

Hello,

I think it would be better, if you created a subtask for each option. I mean you do not need the custom field. On the creation of a task you would automatically create subtasks which have to be closed before the main issue could be transitioned to the next status. 

You can achieve this functionality with additional add-on like Adaptivist Script Runner, Power Script etc.

I think it would be a more transparent process. Because you can easily control who must do what and when it was done.

Suggest an answer

Log in or Sign up to answer