Changes to REST in Jama 8.10

By Kristina posted 11-21-2016 14:53


8.10 REST announcements

URL enforcement

A recent library upgrade provides tougher enforcement of valid URLs.

Prior to 8.10, the system would ignore multiple successive “/“ within a URL that may be the result of concatenation. If you have any existing integrations with this error you will receive a 404. For example, will return a 404.

Access to Relationship Versions

Relationship versions has long been a requested feature for Jama, and it has been released in stages over the past year. The storing of the versions was introduced in the 8.0 release of Jama followed by viewing relationships in Review Center. Now, beginning with 8.10, you can pull the data via REST.

Please note, storing of relationship versions is a relatively new feature to the system. You will be alerted to any requests made referencing a period prior to the information being available in your system. This will present itself as "The requested resource predates relationship history tracking."

To address the fact that relationships can be added or removed at anytime without affecting an item's version, the relationship versions are retrieved by timestamp or baseline. 

get /abstractitems/{id}/versionedrelationships - Get all versioned relationships that were associated to the item at the specified time.

get /baselines/{baselineId}/versioneditems/{itemId}/versionedrelationships - Get all versioned relationships for the item in the baseline. 

get /relationshiptypes/{id}?timestamp={timestamp} - Get the relationship type with the specified ID.

The relationship types pick list will be versioned as well to ensure history is preserved.


Fixed and issue where createdDate, modifiedDate, and lastActivityDate return 400 with PUT on item

Admins may configure item types to have createdDate, modifiedDate, and lastActivityDate as part of the fields in an item type. These fields are included in all items at the root level of the model, with full date and time information. However, when it is configured to be included in the fields area, it only displays the date.

GET item/id
data : {
  createdDate: "2016-10-26T23:17:52.034+0000",
  fields : {
     createdDate: "2016-10-26"

If you use the same payload to update the item with PUT /items/id, you will always get an error because the createdDate in the fields area is never precise enough to match the actual createdDate down to the millisecond.


REST Management of User Groups - Groups can now be created, updated and removed via REST.

post /usergroups

put /usergroups/{id}

delete /usergroups/{id}