Use case
In many workflows, issues in the Done status are locked for editing using the workflow property jira.issue.editable = false, ensuring that completed issues remain unchanged. However, there are scenarios where updates are still needed after completion - for example, marking a billable task as billed once it has been invoiced.
This is where the Jira Workflow Toolbox app user becomes useful. Even if the issue is otherwise locked, updates can still be performed using the App user. In this case, a dedicated transition (e.g. "Billed") is created, and a post function updates a custom field to reflect the billing status - without altering the issue’s resolved state.
🗒️ Prerequisite
To prevent changes after completion, the Done status must include the workflow property jira.issue.editable = false, which blocks both manual and automated edits.
To allow a controlled update for billing purposes:
-
A custom field (e.g. Billed) must be available in the field context beforehand.
-
A workflow transition (e.g. Billed) must exist.
-
A post function must be configured on this transition to update the Billed field accordingly.
⚒️ Configuration
In the workflow editor, select the transition (e.g. Billed) and add a Update fields post function to set the desired field value.
Target issue*
Choose Current issue
Fields*
Select the field that you are using as the billed flag. In our use case it's is a basic text field called Billed
Expression*
Set the expression editor to General mode and enter the following expression:
Yes
Run as*
Choose Jira Workflow Toolbox app user .
It’s important to run this post function as the App user, since the issue is not editable under normal permissions. The App user has the necessary rights to perform the update even when the issue is locked.
📚 Related Examples