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

REST API: Inconsistency handling releaseId info when deleting items

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Low Low
    • 10.133.0
    • 10.124.3
    • REST API
    • 2
    • Severity 3 - Minor
    • No

      Issue Summary

      When Epics or features are canceled/deleted, and we fetch the item over API, the releaseId(s) field will be set to 'empty' (for Epic) and '-2' (for Features).

      This makes it impossible to filter items that are deleted
      When accessing the recycle bin on the UI, you can filter the Features/Epics by Program and/or PI (as there is the dropdown there)
      Finally, the fact that Features uses '-2' and Epics uses an 'empty array' is confusing.

      Steps to Reproduce

      Epics

      1. Create an Epic and perform a GET operation on its ID
      2. Notice that the releaseIds field is populated with values.
        {
            "id": 7196,
            "title": "FXPAPIDelete",
            "createDate": "2023-09-18T09:08:21Z",
            "ownerId": "661802",
            "themeId": null,
            "strategicDriver": null,
            "description": "FXPAPIDelete",
            "primaryProgramId": 627,
            "tags": null,
            "state": 1,
            "processStepId": 982,
            "processStepName": "982 - Starting work",
        [...]
            "hypothesis": null,
            "designStage": null,
            "prototype": null,
            "leanUxCanvas": null,
            "workCodeId": null,
            "score": {
                "cost": "",
                "profitPotential": "",
                "timeToMarket": "",
                "developmentRisks": "",
                "score": 0.625
            },
            "releaseIds": [
                403,
                712
            ],
            "additionalProgramIds": [
                450
            ],
            "additionalProcessStepIds": [
                979
            ],
            "points": [
                {
                    "releaseId": 403,
                    "estimationSystem": "Points",
                    "estimationValue": "0"
                },
                {
                    "releaseId": 712,
                    "estimationSystem": "Points",
                    "estimationValue": "0"
                }
            ],
            "externalKey": null,
        [...]
            "links": [],
            "self": "https://<instance-name>.jiraalign.com/rest/align/api/2/epics/7196"
        }
        
      1. On the UI, click on Delete in the Epic grid slide-out.
      2. Perform a GET operation on its ID again, and notice the releaseIds field is set to an empty array.
        {
            "id": 7196,
            "title": "FXPAPIDelete",
            "createDate": "2023-09-18T09:08:21Z",
            "ownerId": "661802",
            "themeId": null,
            "strategicDriver": null,
            "description": "FXPAPIDelete",
            "primaryProgramId": null,
            "tags": null,
            "state": 1,
            "processStepId": 982,
            "processStepName": "982 - Starting work",
        [...]
            "hypothesis": null,
            "designStage": null,
            "prototype": null,
            "leanUxCanvas": null,
            "workCodeId": null,
            "score": {
                "cost": "",
                "profitPotential": "",
                "timeToMarket": "",
                "developmentRisks": "",
                "score": 0.625
            },
            "releaseIds": [],
            "additionalProgramIds": [
                450
            ],
            "additionalProcessStepIds": [
                979
            ],
            "points": [],
            "externalKey": null,
        [...]
            "links": [],
            "self": "https://<instance-name>.jiraalign.com/rest/align/api/2/epics/7196"
        }
        

      Features

      1. Create a Feature and perform a GET operation on its ID
      2. Notice that the releaseId is populated with a value.
        {
            "id": 13740,
            "title": "FxTestAPIDelete",
            "description": "FxTestAPIDelete",
            "releaseId": 594,
            "ownerId": "661802",
            "state": 0,
            "createDate": "2023-04-17T04:14:15Z",
            "type": 1,
            "mmf": 0,
            "isBlocked": 0,
            "priority": null,
            "primaryProgramId": 627,
          [...]
            "vehicleId": null,
            "processStepId": 896,
            "processStepName": "896 - Analysing",
            "additionalProcessStepIds": [],
            "manWeeks": null,
            "isImport": null,
            "externalKey": null,
            "estimateTshirt": null,
            "parentSplitId": null,
            "externalId": null,
            "jiraProjectKey": "FXPONP2",
            "featureSummary": FxTestAPIDelete",
            "externalProject": null,
        [...]
            "releaseVehicleIds": [],
            "additionalProgramIds": [],
            "productObjectiveIds": [],
            "affectedCountryIds": [],
            "testCategoryIds": [],
            "customFields": null,
            "links": [],
            "self": "https://<instance-name>.jiraalign.com/rest/align/api/2/features/13740"
        }
        
      1. On the UI, click on Delete in the Feature grid slide-out.
      2. Perform a GET operation on its ID again, and notice the releaseId is set to -2.
        {
            "id": 13740,
            "title": "FxTestAPIDelete",
            "description": "FxTestAPIDelete",
            "releaseId": -2,
            "ownerId": "661802",
            "state": 0,
            "createDate": "2023-04-17T04:14:15Z",
            "type": 1,
            "mmf": 0,
            "isBlocked": 0,
            "priority": null,
            "primaryProgramId": 627,
          [...]
            "vehicleId": null,
            "processStepId": 896,
            "processStepName": "896 - Analysing",
            "additionalProcessStepIds": [],
            "manWeeks": null,
            "isImport": null,
            "externalKey": null,
            "estimateTshirt": null,
            "parentSplitId": null,
            "externalId": null,
            "jiraProjectKey": "FXPONP2",
            "featureSummary": FxTestAPIDelete",
            "externalProject": null,
        [...]
            "releaseVehicleIds": [],
            "additionalProgramIds": [],
            "productObjectiveIds": [],
            "affectedCountryIds": [],
            "testCategoryIds": [],
            "customFields": null,
            "links": [],
            "self": "https://<instance-name>.jiraalign.com/rest/align/api/2/features/13740"
        }
        

      Expected Results

      • Epics and Features exhibit the same behavior and the releaseId information is kept when performing a GET call on the deleted items

      Actual Results

      • Epics and Features don't have any more release information when performing a GET call on the deleted items

      Workaround

      Currently, there is no known workaround for this behavior. A workaround will be added here when available

            fea1a6ef3355 Yannick Genin
            646db21d89d1 Francois Panaget
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: