Using Power Actions™ Actions™ and the power of SIL™SIL™, you can do a lot of things with your Jira. For example, you can log work on behalf of another user.
...
The button contains a confirmation question and on its action screen we save the selected value:
screen script:
Code Block
...
use "poweraction"; setActionTitle("Are you sure?");
...
createRadioGroup("Sure?", {"yes", "no"}, "yes", false, true, "You are about to log work on behalf of another user. This may have certain consequences. Are you sure you want to do this?");
...
setExecuteButtonText("Submit");
action script:
Code Block use "poweraction"; string option =
...
getSingleValue(argv, "Sure?");
...
setBlitzAttribute("option", option);
The condition script for the action would look like this:
Code Block |
---|
use "poweraction"; number ENABLED = 1; number DISABLED = 2; number HIDDEN = 3; string option = BA_getBlitzAttribute("option"); return option == "yes" ? ENABLED : HIDDEN; |
In the screen script we configure the fields that we need to log the work:
Code Block |
---|
BA_use "poweraction"; setActionTitle("Log work as user"); BA_createUserPicker("User", currentUser(), false, true, ""); BA_createInput("Time Spent", "", false, true, "(eg 3w 4d 12h)"); BA_createDateTimePicker("Date Started", currentDate(), false, false, ""); BA_createRadioGroup("Remaining Estimate", {"Adjust automatically", "Use existing estimate"},"Adjust automatically", false); BA_createTextArea("Work Description", "", false); BA_setExecuteButtonText("Done"); |
In the action script we retrieve the values from the screen and add the worklog:
Code Block |
---|
use "poweraction"; string user = BA_getSingleValue(argv, "User"); interval timeSpent = BA_getSingleValue(argv, "Time Spent"); date startDate = BA_getDateValue(argv, "Date Started"); string estimate = BA_getSingleValue(argv, "Remaining Estimate"); string comment = BA_getSingleValue(argv, "Work Description"); if (estimate == "Adjust automatically") { addWorklogAdjustEstimate(key, user, timeSpent, startDate, comment); } else { addWorklogExistingEstimate(key, user, timeSpent, startDate, comment); } |
That's it!
That's how the implementation looks like in the ticket:
...
See also
Example 1 - Choose your assignee
...