You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet

CB:/images/space.gif

Swagger V3 Tracker API changes


From codeBeamer 10.0 we introduced our new V3 version of our Swagger documented API. The purpose of this page to introduce you to the changes we've made and help you with the migration.

Affected URI-s

The following endpoint is listing the fields of tracker, and a new attribute is added to these fields, called trackerItemField

  • GET /tracker/{trackerId}/field

The following endpoints are now merged into this extended (by query parameters) endpoint: GET /trackers/{trackerId}/permissions[?query]

  • GET {trackerURI}/roles/permissions
  • GET {trackerURI}{roleURI}/permissions / GET {roleURI}{trackerURI}/permissions
  • GET {trackerURI}{userURI}/permissions / GET {userURI}{trackerURI}/permissions

Model changes

Tracker field list model (trackerItemField added)

The purpose of the trackerItemField attribute is to show the exact name of a tracker field, which is used during a tracker item's update or creation.

In this example: the priority field is named Business Value, and this can be different in other trackers, but the trackerItemField is solving this.

[
  {
    "id": 0,
    "name": "ID",
    "type": "IntegerField",
    "hidden": false,
    "valueModel": "IntegerFieldValue"
  },
  {
    "id": 2,
    "name": "Business Value",
    "type": "OptionChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<ChoiceOptionReference>",
    "title": "BV",
    "multipleValues": false,
    "options": [
      {
        "id": 1,
        "name": "Must have",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "name": "Should have",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 5,
        "name": "Nice to have",
        "type": "ChoiceOptionReference"
      }
    ],
    "trackerItemField": "priority",
    "referenceType": "ChoiceOptionReference"
  },
  {
    "id": 3,
    "name": "Summary",
    "type": "TextField",
    "hidden": false,
    "valueModel": "TextFieldValue",
    "trackerItemField": "name"
  },

...

]

Permissions listed per role model

The described model is used in the GET /trackers/{trackerId}/permissions[?query] endpoint, which is similar to the GET {trackerURI}/roles/permissions endpoint's result.

[
  {
    "role": {
      "id": 2,
      "name": "Developer",
      "type": "RoleReference"
    },
    "trackerPermissions": [
      {
        "id": 2,
        "varName": "issue_view",
        "name": "Issue - View if Owner",
        "description": "Allows users to view items submitted by or associated with them"
      },
      {
        "id": 3,
        "varName": "issue_add",
        "name": "Issue - Add",
        "description": "Allows users to submit new items to a tracker"
      },
      {
        "id": 4,
        "varName": "issue_edit",
        "name": "Issue - Edit if Owner",
        "description": "Allows users to edit items submitted by or associated with them"
      },
      {
        "id": 10,
        "varName": "issue_attachment_view",
        "name": "Issue - View Comments/Attachments",
        "description": "Allows users to view comments and attachments"
      }
    ]
  },
  {
    "role": {
      "id": 3,
      "name": "Product Owner",
      "type": "RoleReference"
    },
    "trackerPermissions": [
      {
        "id": 0,
        "varName": "issue_view_not_own",
        "name": "Issue - View Any",
        "description": "Allows users to view any items"
      },
      {
        "id": 2,
        "varName": "issue_view",
        "name": "Issue - View if Owner",
        "description": "Allows users to view items submitted by or associated with them"
      }
    ]
  }
...
]