Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Workflows stop working after renaming with scriptrunner script.

Chris Dunne {Raledo}
Atlassian Partner
February 21, 2018

Hi

We have a lot of workflows and wanted to rename them to a new naming convention. We used a scriptrunner script to rename the workflows. The rename was successful and no errors were reported.

But after the rename none of the existing issues could be transitioned - there were no actions available on the issue detail screen. However the status is correctly displayed, and the View Workflow link next to the status works and shows the correct workflow diagram and name. There are no conditions on the workflow transitions that would prevent the action buttons from showing.

When we view the project settings all the issue type to workflow mappings are correct, and workflow scheme seems to be correctly setup.

I've run the integrity checker, and re-indexed all issues.

I understand that you do not support ScriptRunner, but I don't think this is an issue with the add-on. I think it may be an issue with how we are using the APIs of the various classes used.

If we create a new issue, the workflows are working correctly.

The relevant section of code is as follows:

for(int i = 0; i < issueTypes.size(); i++)
{
def issueTypeName = issueTypes[i].name;
log.warn("Processing Issue Type ${issueTypeName}");
workflow = workflowManager.getWorkflow(projectId, issueTypes[i].id);
workflowName = workflow.getName();
def hyphenpos = 0;
def newName
for(int w=0; w< actionWords.size(); w++)
{
hyphenpos = issueTypeName.lastIndexOf(actionWords[w]);
if(hyphenpos>0)
{
StringBuilder builder = new StringBuilder();
builder.append(issueTypeName.substring(0,hyphenpos));
builder.append(":");
builder.append(issueTypeName.substring(hyphenpos + 2));
newName = "(${projectKey}) ${builder.toString()}"
if(forPreview) {
log.warn("Dry run - no updates will be performed --- Renaming Workflow from [${workflowName}] to {${newName}}"); }
if(!forPreview) {
wfService.updateWorkflowNameAndDescription(ctx,workflow,newName,workflow.getDescription())
log.warn("Renamed Workflow from [${workflowName}] to {${newName}}");
}
break;
}
}
 

I suspect that although the rename was successful, the link between the issues and the workflow is somehow corrupted and the issue is still somehow referencing the old workflow name.

In the logs I see errors like the following when viewing an issue

com.opensymphony.workflow.FactoryException: Unknown workflow name

 

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Deeksha
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 22, 2018

Hi Taras,

We currently do not expose due date information from our SLA endpoints.

You can get the start time and remaining time for goals from this endpoint. However this will not be the same as due date because it does not take into account calendar and working hours.

You can raise a suggestion with our support team. We triage suggestions based on our policy.

 

- Jira Service Desk Team

TAGS
AUG Leaders

Atlassian Community Events