Uploaded image for project: 'Jira Align'
  1. Jira Align
  2. JIRAALIGN-3575

API: Seeing inconsistent behaviour between API and GUI when adding additional Programs to an Epic.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 10.100.2
    • 10.99.2
    • REST API
    • 1
    • Severity 2 - Major
    • No

    Description

      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

      1. Go to Epics https://alignsupport.jiraalign.com/EpicGrid?FirstTime=True&Programs=252
      2. Click on an Epic with a Release (PI) assigned.
      3. In the Details Panel
      4. Click on the "+" plus sign next to "Primary Program"
      5. Add 1st additional Program
      6. Save
      7. Add 2nd additional Program 
      8. 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

      1. Send GET command
        https://alignsupport.jiraalign.com/rest/align/api/2/epics/2518
      1. Notice that additionalProgramIds is an empty array and that points has 1 entry.
      2. 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.

      Attachments

        1. 400-bad-request.png
          400-bad-request.png
          36 kB
        2. first-patch.png
          first-patch.png
          29 kB
        3. first-patch-results.png
          first-patch-results.png
          18 kB
        4. get-epic.png
          get-epic.png
          47 kB
        5. no-pi-selected.png
          no-pi-selected.png
          363 kB
        6. result-api-patch.png
          result-api-patch.png
          97 kB
        7. when-pi-selected.png
          when-pi-selected.png
          406 kB

        Issue Links

          Activity

            People

              kforeman@atlassian.com Kyle Foreman
              81fb6d9e7236 Heidi Hendry (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Backbone Issue Sync