process-migrator
process-migrator copied to clipboard
Rules import fails when a field picklist has a new value
I'm importing a process to a target organisation that already has an old version of my process. This normally works fine (so long as the process name is different) but, in this case, my source organisation Process has had a new value added to one of the picklist fields on the User Story work item type and rules have been defined for the User Story that apply when that new picklist value is used. When process-migrator imports the updated process it fails when importing the rule saying that the new picklist value is not one of the valid values and then lists the valid values, which do not include the new one that has been added....
[VERBOSE] [2021-01-07T16:25:17.471Z] Begin step 'Create rule '139afccb-54e6-4d27-9d07-4a5f216af1cf' in work item type 'PowerObjectsAgile0.7.UserStory''.
[VERBOSE] [2021-01-07T16:25:17.746Z] Exception message:VS403221: The value 'Fit with technical configuration' is not an allowed value for field 'HCL_FitGap'. Valid values are Fit, Gap, Partial, TBC.
Call stack:Error: VS403221: The value 'Fit with technical configuration' is not an allowed value for field 'HCL_FitGap'. Valid values are Fit, Gap, Partial, TBC.
at RestClient.
I can see that early in the process-migrator log the picklist field gets created successfully...
[VERBOSE] [2021-01-07T16:21:20.741Z] Begin step 'Create picklist for field Custom.HCL.PowerObjectsAgile.FitGap'. [VERBOSE] [2021-01-07T16:21:21.387Z] Finished step 'Create picklist for field Custom.HCL.PowerObjectsAgile.FitGap'.
So why can't the rule be created successfully? It seems like the rule creation isn't aware that the list of values on the field has changed.
If I manually add the new picklist value to the field in the target organisation for the old version of the process and then re-run the import to bring in the new version, the updated process loads just fine.
Note that I've tried resolving the problem by setting the "overwritePicklist" option to true but that made no difference.