public void updateWorkflow(final JiraServiceContext jiraServiceContext, final JiraWorkflow workflow) { if (!hasAdminPermission(jiraServiceContext)) { addError(jiraServiceContext, "admin.workflows.service.error.no.admin.permission", Reason.FORBIDDEN); return; } if ((workflow == null) || (workflow.getDescriptor() == null)) { addError(jiraServiceContext, "admin.workflows.service.error.update.no.workflow", Reason.VALIDATION_FAILED); return; } if (!workflow.isEditable()) { addError(jiraServiceContext, "admin.workflows.service.error.not.editable", Reason.VALIDATION_FAILED); return; } // This lock ensures that the overwriteWorkflow action above allows for an atomic validation and overwrite // of the workflow. overwriteWorkflowLock.lock(); try { workflowManager.updateWorkflow(jiraServiceContext.getLoggedInApplicationUser(), workflow); } finally { overwriteWorkflowLock.unlock(); } }
workflowManager.updateWorkflow(ctx.getUser().getName(), workflow);