Hi,
I recently migrated from Jira Cloud to Jira Server (Data Center 10.4). After the migration, I'm seeing the following error when trying to view issue details:
Attribute "ruleKey" must be declared for element type "validator".
According to this Atlassian article, the issue seems to be caused by attributes introduced by the new workflow editor in Jira Cloud:
https://support.atlassian.com/jira/kb/attribute-rulekey-must-be-declared-for-element-type-validator/
To fix this, I switched the workflows back to the old editor in Jira Cloud, re-saved them, and exported the XML again. However, the `ruleKey` attribute is still present in the exported XML.
Is there a reason why switching to the old editor doesn't remove attributes like `ruleKey`?
Shouldn't those attributes be removed when using the old editor?
Is there any way to automatically clean or strip these attributes out before importing into Jira Server, or do I have to manually remove them from the XML?
Any advice or suggestions would be really appreciated!
Thanks in advance.
Hi @yj_seong
Sorry to hear about this problem. I want to first make sure that you are creating a backup for server, and not a backup for cloud. If you are doing that, but still seeing this error, it could be that there is still a Jira Service Management project on the site that has not yet been updated to revert to the old workflow editor. You could try to check that all such JSM projects have been updated to use the old editor once more and then create a new backup.
If that also fails to resolve this problem, there is another workaround possible here. I found a recent support case with the same reported behavior
For the new export or any future export you can follow the below workaround mentioned earlier.
Workaround:
Step 1: This portion in the xml should be replaced
<validator name="" type="class" ruleKey="PermissionValidator">
<arg name="class.name">com.atlassian.jira.workflow.validator.PermissionValidator</arg>
<arg name="permissionKey">CREATE_ISSUES</arg>
</validator>with
<validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.PermissionValidator</arg>
<arg name="permission">CREATE_ISSUES</arg>
</validator>Please note that lines 1 and 3 of each validator that has this ruleKey parameter will need to be changed in order for this workflow to be imported correctly into Jira Data Center.
Step 2:
- Remove all lines <meta name="jira.nextgen.transition.id"></meta> from the xml.
- Save the xml
- Then import the workflow.xml into Jira Data Center
In your case, as you are trying to import the complete backup,
You can try to unzip the backup file and open the entities.xml and make the modifications as suggested above
Then, use the new entities.xml and active objects and zip them to create a new backup file, and then perform the backup restore of the new file.
I understand that following these steps could involve lot of effort, as the Step 1 part has to be repeated for every instance where you find the "ruleKey" parameter. However these steps could be used to fix the entities.xml file so that it can be imported.
I hope this helps.
Andy
Hi,
I created and downloaded a backup for Server.
Even after I reverted to the old workflow editor and exported only that workflow from Cloud, some options from the new editor still remained.
I tried the manual workaround you mentioned, and it worked. However, I’m not sure if this is the correct approach because I found the following metadata in the workflow
<meta name="jira.description">Generated by JIRA Software version 1001.0.0-SNAPSHOT. 이 워크플로는 Jira 내부에서 관리합니다. 이 워크플로를 수작업으로 수정하지 마십시오.</meta>
It says, “This workflow is managed internally by Jira. Do not modify it manually.”So, is it still okay to proceed this way?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
That message is generated when the workflow is first created. For the sake of completing the import it should be ok to make this change. However you might find the workflow is showing as read-only within Jira. If that happens, you might need to copy that workflow and make changes to the copy instead of the original.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.