Description
Issue Summary
API can be used to search or filter results of work item by specific attribute. One of them is the Owner of the item, seen as ownerID
It appears that there is a discrepancy in the handling of the ownerID in the API, where it requires integer of string depending of the item schema
Steps to Reproduce
Test purpose : Search a work item based on the ownerID (=UID)
- Search a Goal based on a specific user ID
ex: https://alignsupport.jiraalign.com/rest/align/api/2/Goals?filter= ownerId eq 661692
notice that the search is using an integer - Same search and query, but for Stories
https://alignsupport.jiraalign.com/rest/align/api/2/Stories?filter= ownerId eq 661692
an error 400 is thrown.
Cannot find stories. A binary operator with incompatible types was detected. Found operand types 'Edm.String' and 'Edm.Int32' for operator kind 'Equal'.
To fix the issue the attribute must be changed to a string
https://alignsupport.jiraalign.com/rest/align/api/2/Stories?filter= ownerId eq '661692'
Expected Results
- All fields for ownerID should have the same requirements
- ownerID should be using UID (string) as some existing customer do have their user's UID as alphanumerical character instead of integer
Actual Results
According to the schemas, the following discrepancy could be found
Here is the list I could retrieve (which could be non exhaustive)
Owner ID | ||||||||
---|---|---|---|---|---|---|---|---|
Integer | SnapshotDto | GoalDto | ||||||
String | TeamDto | EpicDto | CapabilityDto | VehicleDto | FeatureDto | MilestoneDto | StoryDto | TaskDto |
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available