Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Using Power Actions Actions™ and the power of SILSIL™, 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:

...

Image Removed Image Removed

See also

Example 1 - Choose your assignee

...