Swagger API Changes - Codebeamer 20.11-LTS
New APIs
The following new endpoints are added:
• /v3/projects/{projectId}/members
◦ Returns the user references and group references assigned to the project.
◦ Needs Members - View project role permission.
• /v3/users/groups/{groupId}/members
◦ Returns the user references assigned to a specific user group.
◦ Needs Accounts - Administrate user group permission.
• GET /v3/items/{itemId}/fields: Gets all tracker item fields in customField format grouped by read/write permissions.
• GET /v3/items/{itemId}/lock: Gets locking information regarding to a tracker item.
• PUT /v3/items/{itemId}/lock: Sets lock on a tracker item.
• DELETE /v3/items/{itemId}/lock: REmoves lock from a tracker item.
• GET /v3/trackers/{trackerId}/children: Gets all root level items for a tracker in an array like format.
• PUT /v3/trackers/{trackerId}/children: Updates the order of all root level items for a tracker in an array like format.
• POST /v3/trackers/{trackerId}/children: Moves an item in a tracker into root level.
• GET /v3/trackers/{trackerId}/baselines: Gets all baselines defined for a tracker.
Changed APIs
The following changes are done in the Codebeamer 20.11-LTS compared to the previous version.
|
API
|
Changes
|
|
POST /v3/items/{itemId}/fields
|
The users were able to update the Parent field of the item using the API this caused inconsistent tracker outline in case when the parent item was from an incompatible tracker.
From 20.11 the Parent cannot be set to tracker item from another tracker.
|
|
GET /v3/trackers/{trackerId}/outline
|
Bug fixes and performance optimizations are made in the following form:
• A new, optional resultDepthFilter parameter is introduced which enables query optimization via defining the depth of the returned outline.
• To be able to decide if an item has more children in the outline,introduced a new hasChildren boolean property in the OutlineItem model.
• Using these two new attributes you are able to implement a level-by-level discovery on the tracker outline. You can initially return the first level of items and then only expand on specific children using the already existing parentItemId parameter.
|
Miscellaneous changes: User data
Permissions
User data access has been revised and from 20.11. User data can only be accessed with the proper permissions.
These permissions can configured on user group level:
{Codebeamer url}/sysadmin/userGroups.spr?groupId={groupId}
For example, in case the API user does not haveAccount - View Email Address permissions, the email property will not be populated in the User and UserReference models.
Extended UserReference model
Codebeamer has extended the UserReference model to contain the email address of the referenced account. This only happens if the Account - View Email Address permission is granted for the API user. For details, see the previous section.
{
"id": 123,
"name": "user_name",
"type": "UserReference",
"email": "[email protected]"
},
Accounts - Admin permission checks
As a result of the proper user data permission checks, Codebeamer has removed the restrictions on every user related endpoint.
From Codebeamer 20.11, the following endpoints will not need Accounts - Administrate user group permissions.
◦ /v3/users
◦ /v3/users/{userId}
Work Item modification request
When a field has default value and user does not have permission to write this field, during a Swagger Work Item modification request Codebeamer will set the field value to default when field value was null in Swagger request.