Reschedule issues
Problem
You want the project lead to reschedule issues in one simple step which includes entering the fix versions, an assignee and an optional comment.
Solution
Create the action
Begin by creating the Reschedule action.
Condition script
Next, enter the following code to set the action as available only for the project lead and applicable only to issues that are not Resolved or Closed.
Condition script
number ENABLED = 1;
number DISABLED = 2;
number HIDDEN = 3;
if(projectPM(project) == currentUser() && status != "Resolved" && status != "Closed"){
return ENABLED;
}
return HIDDEN;
Screen script
Next, enter the below script to prompt the user to select fix versions and a new assignee (the default value is the initial assignee), and enter a comment.
Screen script
string TEXT = "TEXT";
string TEXT_DISABLED = "TEXT_DISABLED";
string [] fields;
// fix versions
fields = addElement(fields, "Fix Versions");
fields = addElement(fields, TEXT);
fields = addElement(fields, "");
// assignee
fields = addElement(fields, "Assignee");
fields = addElement(fields, TEXT);
fields = addElement(fields, assignee);
// comment
fields = addElement(fields, "Comment");
fields = addElement(fields, TEXT);
fields = addElement(fields, "");
return fields;
This code renders the following screen.
Assigning a string value that contains pipes to a string array splits the original string at the position of each pipe. Thus, you can use 1.0|2.0 as a value for Fix Versions to set multiple values.
Action script
Enter the following Action script.
Action script
string [] fvers = getElement(argv, 1);
string newAssignee = getElement(argv, 3);
string comment = getElement(argv, 5);
fixVersions = fvers;
assignee = newAssignee;
if(isNotNull(comment)){
addComment(key, currentUser(), comment);
}
Table of Contents
- 1 Problem
- 2 Solution
- 2.1 Create the action
- 2.2 Condition script
- 2.2.1 Condition script
- 2.3 Screen script
- 2.3.1 Screen script
- 2.4 Action script
- 2.4.1 Action script