Issue Summary
Seeing inconsistent behaviour between API and GUI when adding additional Programs to an Epic.
Steps to Reproduce
(Video in Atlassian-only comments)
GUI
- Go to Epics https://alignsupport.jiraalign.com/EpicGrid?FirstTime=True&Programs=252
- Click on an Epic with a Release (PI) assigned.
- In the Details Panel
- Click on the "+" plus sign next to "Primary Program"
- Add 1st additional Program
- Save
- Add 2nd additional Program
- Save
GUI Expected Results
Epic is assigned to 3 Programs. There are no Errors.
(Reset the Epic to no additional programs before testing the API)
API
- Send GET command
https://alignsupport.jiraalign.com/rest/align/api/2/epics/2518
- Notice that additionalProgramIds is an empty array and that points has 1 entry.
- Send PATCH command https://alignsupport.jiraalign.com/rest/align/api/2/epics/2518
[{ op: 'add', path: '/additionalProgramIds/0', value: 219, }, { op: "replace", path: "/themeId", value: 0 }]
Then command for 2nd Additional Program (Note that customer says any additional PATCH request, not necessarily adding a Program)
4. Send PATCH command https://alignsupport.jiraalign.com/rest/align/api/2/epics/2518
[{ op: 'add', path: '/additionalProgramIds/1', value: 220, }, { op: "replace", path: "/themeId", value: 0 }]
Expected Results
For 1st Additional Program:
Response code 204
GET command
https://alignsupport.jiraalign.com/rest/align/api/2/epics/2518
"additionalProgramIds": [ 219 ] ..... "points": [ { "releaseId": 241, "estimationSystem": "T-Shirt", "estimationValue": null } ],
For 2nd Additional Program
Response code 204
GET command
https://alignsupport.jiraalign.com/rest/align/api/2/epics/2518
"additionalProgramIds": [ 219, 220 ] ..... "points": [ { "releaseId": 241, "estimationSystem": "T-Shirt", "estimationValue": null } ],
Actual Results
Results from 1st Additional Program
204 No Content
"additionalProgramIds": [ 219 ], "additionalDevelopmentalStepIds": [], "additionalOperationalStepIds": [], "points": [ { "releaseId": 241, "estimationSystem": "T-Shirt", "estimationValue": null }, { "estimationSystem": "T-Shirt", "estimationValue": null } ],
Results from 2nd Additional Program
Cannot update epic with id 2518. Cannot update Estimate Points for Epic with id 2518 while there are linked Releases with id: 241
Workaround
Workaround is to use the GUI, but that belies the point of using the API, which was working before v10.99.2
Another workaround is to save the item in the GUI once, as it removes the
{ "estimationSystem": "Tshirt", "estimationValue": null }
and then can patch the Epic again. But again, belies the point of using the API.
Notes:
1. Reported that this started occurring after 10.99.2 upgrade
2. if I remove the Release via the GUI and repeat all of this, then the API commands work as expected.
3. Note that this applies to BOTH Tshirt and Points Estimation Systems.