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

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet

Swagger V3 tracker item 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

To standardise the way how you can interact with the tracker item related endpoints. We had to change some models, input and output parameters. Each change is described below.


The following endpoints will accept TrackerItem model instead of the action specific ones:

  • POST /tracker/{trackerId}/item
  • POST /tracker/{trackerId}/item/{parentItemId}
  • PUT /item/{itemId}

The following endpoints are interacting with tracker item fields, so internal changes were introduced in the input model:

  • PUT /item/{itemId}/field
  • PUT /item/{itemId}/field/table/{tableFieldId}

The following endpoints are producing TrackerItem model, therefore the response model will change:

  • POST /tracker/{trackerId}/item
  • GET /item/{itemId}
  • PUT /item/{itemId}
  • DELETE /item/{itemId}
  • GET /item
  • POST /item
  • POST /items
  • PUT /item/{itemId}/field
  • PUT /item/{itemId}/field/table/{tableFieldId}

New valueModel attribute was added to the AbstractField model, so the return values of the following endpoints will change:

  • GET /tracker/{trackerId}/field
  • GET /tracker/{trackerId}/field/{fieldId}

The following endpoints have been removed:

  • POST /tracker/{trackerId}/item/{parentItemId}

Model changes

Reference models

In V2 there were inconsistent usages of ReferenceField and Reference models. In V3 only Reference models are use for referencing a tracker item, repository, user, etc.

Three models were deleted:

  • GroupReferenceField - use GroupReference instead
  • RoleReferenceField - use RoleReference instead
  • UserReferenceField - use UserReference instead

Field value models

In V2 there were 3 concepts regarding to a tracker field:

  • Field model: for getting the metadata of a field (type, id, hidden, etc.)
  • FieldReference model: for getting value information of a field on a tracker item (value, uri, etc.)
  • FieldValue model: for updating a value of a field on a tracker item

In V3 we combined the field value related models:

  • Field model: for getting the metadata of a field (type, id, hidden, etc.) + FieldValue model information
  • FieldValue model: for getting and updating a value of a field on a tracker item

Now the FieldValue model has the combined properties:

  • fieldId - id of the field (required)
  • type - type of the FieldValue model (required)
  • uri - uri of the retrieved reference
  • name - name of the field
  • value or values based on the type - the value or reference contained by the field

Choice field models

Value model

Choice field models have been standardized in a way that all of them accepts and produces a ChoiceFieldValueModel which should be populated with the proper reference values.

For example:

    "assignedTo": {
        "fieldId": 5,
        "values": [
            {
                "id": 2469,
                "type": "UserReference"
            }
        ],
        "type": "ChoiceFieldValue"
    }

The "assigned to" field is a choice field which contains user references.

Field reference

To identify which type of reference you should provide, all the choice Field models contain a referenceType attribute.

For example:

  {
    "id": 5,
    "name": "Assigned to",
    "type": "UserChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<UserReference>",
    "multipleValues": true,
    "referenceType": "UserReference"
  }

As you can see, this is a user choice field which will produce and accept a ChoiceFieldValue with UserReference.

Table field models

All table field models have been standardised to use a simple array of arrays of FieldValue model structure.

Eg.: PUT /v2/item/{itemId}/field/table/{tableFieldId} is now able to consume the FieldValues coming from the TrackerItem model, you don't have to construct a TrackerItemTableRowFieldValue.

Old update payload New update payload
{
    "rows": [
        {
            "fieldValues": [
                {
                    "fieldId": 1000001,
                    "uri": "/tracker/160275/field/1000001",
                    "name": "cal",
                    "value": "calibrate",
                    "type": "TextFieldValue"
                }
            ]
        }
    ]
}
{
    "rows": [
        [
            {
                "fieldId": 1000001,
                "name": "cal",
                "value": "calibrate",
                "type": "TextFieldValue"
            }
        ]
    ]
}

Endpoint changes

Create/Move tracker item into a specific position in the tracker outline

In Swagger V3 we have introduced a new BELOW keyword as position parameter in the following endpoints:

  • POST /v3/trackers/{trackerId}/items
  • PUT /v3/items/{itemId}}}

To create a child item you have two options in V3 using the POST /v3/trackers/{trackerId}/items endpoint:

  • ?parentItemId={parent item id} - to define the parent in the tracker outline
  • ?referenceItemId={parent item id}&position=BELOW - this way you can define a reference item and create an item below that in the outline. The difference is that here you can use different positions like BEFORE and AFTER related to the reference item.

To move an item you have also two options:

  • PUT /v3/items/{itemId}?referenceItemId={parent item id}&position=BELOW - using the referenceItemId and position parameters similarly as described in the create section.
  • PUT /v3/items/{itemId}/fields - to update the parent reference on an item

The POST /tracker/{trackerId}/item/{parentItemId} has been removed to decrease the redundancy of the API.

In details

Reference changes

Old model New model
TrackerItemReference TrackerItemReference
ChoiceOptionReference ChoiceOptionReference
CommentReference CommentReference
GroupReferenceField GroupReferencel
ParticipantReference deleted
ProjectReference ProjectReference
RepositoryReference RepositoryReference
RoleReferenceField deleted
RoleReference RoleReference
TrackerItemChildReference TrackerItemChildReference
TrackerItemChildReference TrackerItemChildReference
TrackerItemRelationsResult TrackerItemRelationsResult
TrackerReference TrackerReference
UserGroupReference UserGroupReference
UserReferenceField deleted
UserReference UserReference

Field value changes

Old FieldReferences New FieldValues
BoolCustomFieldReference BoolFieldValueModel
ChoiceCustomFieldReference ChoiceFieldValueModel
ColorCustomFieldReference ColorFieldValueModel
CountryCustomFieldReference CountryFieldValueModel
DateCustomFieldReference DateFieldValueModel
DecimalCustomFieldReference DecimalFieldValueModel
DurationCustomFieldReference DurationFieldValueModel
IntegerCustomFieldReference IntegerFieldValueModel
LanguageCustomFieldReference LanguageFieldValueModel
MemberCustomFieldReference ChoiceFieldValueModel
TableCustomFieldReference TableFieldValueModel
TextCustomFieldReference TextFieldValueModel
TrackerItemCustomFieldReference ChoiceFieldValueModel
UrlCustomFieldReference UrlFieldValueModel
WikiTextCustomFieldReference WikiTextFieldValueModel
- NotSupportedFieldValueModel

Choice field value changes

Old choice FieldReference New choice FieldValueModel
ChoiceFieldReference ChoiceFieldValueModel<ChoiceOptionReference>
ProjectFieldReference ChoiceFieldValueModel<ProjectReference>
ScmFieldReference ChoiceFieldValueModel<RepositoryReference>
TrackerFieldReference ChoiceFieldValueModel<TrackerReference>
TrackerItemFieldReference ChoiceFieldValueModel<TrackerItemReference>
UserFieldReference ChoiceFieldValueModel<UserReference>

Tracker field list model example

V2 V3
[
  {
    "id": 0,
    "name": "ID",
    "type": "IntegerField",
    "hidden": false
  },
  {
    "id": 2,
    "name": "Priority",
    "type": "OptionChoiceField",
    "hidden": false,
    "title": "P",
    "multipleValues": false,
    "options": [
      {
        "id": 1,
        "uri": "/tracker/160275/field/2/option/1",
        "name": "Highest",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "uri": "/tracker/160275/field/2/option/2",
        "name": "High",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "uri": "/tracker/160275/field/2/option/3",
        "name": "Normal",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "uri": "/tracker/160275/field/2/option/4",
        "name": "Low",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 5,
        "uri": "/tracker/160275/field/2/option/5",
        "name": "Lowest",
        "type": "ChoiceOptionReference"
      }
    ]
  },
  {
    "id": 3,
    "name": "Summary",
    "type": "TextField",
    "hidden": false
  },
  {
    "id": 4,
    "name": "Submitted at",
    "type": "DateField",
    "hidden": false
  },
  {
    "id": 5,
    "name": "Assigned to",
    "type": "UserField",
    "hidden": false,
    "multipleValues": true
  },
  {
    "id": 6,
    "name": "Submitted by",
    "type": "UserField",
    "hidden": false,
    "multipleValues": false
  },
  {
    "id": 7,
    "name": "Status",
    "type": "OptionChoiceField",
    "hidden": false,
    "multipleValues": false,
    "options": [
      {
        "id": 1,
        "uri": "/tracker/160275/field/7/option/1",
        "name": "New",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "uri": "/tracker/160275/field/7/option/2",
        "name": "Suspended",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "uri": "/tracker/160275/field/7/option/3",
        "name": "In progress",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "uri": "/tracker/160275/field/7/option/4",
        "name": "Partly completed",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 5,
        "uri": "/tracker/160275/field/7/option/5",
        "name": "Completed",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 6,
        "uri": "/tracker/160275/field/7/option/6",
        "name": "To Verify",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 7,
        "uri": "/tracker/160275/field/7/option/7",
        "name": "InQA",
        "type": "ChoiceOptionReference"
      }
    ]
  },
  {
    "id": 10,
    "name": "Planned Effort",
    "type": "DurationField",
    "hidden": false,
    "title": "Planned<br>Effort"
  },
  {
    "id": 11,
    "name": "Spent Effort",
    "type": "DurationField",
    "hidden": false,
    "title": "Spent<br>Effort"
  },
  {
    "id": 12,
    "name": "% Spent / Plan",
    "type": "DecimalField",
    "hidden": false
  },
  {
    "id": 14,
    "name": "Severity",
    "type": "OptionChoiceField",
    "hidden": false,
    "multipleValues": false,
    "options": [
      {
        "id": 1,
        "uri": "/tracker/160275/field/14/option/1",
        "name": "Blocker",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "uri": "/tracker/160275/field/14/option/2",
        "name": "Critical",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "uri": "/tracker/160275/field/14/option/3",
        "name": "Minor",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "uri": "/tracker/160275/field/14/option/4",
        "name": "Trivial",
        "type": "ChoiceOptionReference"
      }
    ]
  },
  {
    "id": 15,
    "name": "Resolution",
    "type": "OptionChoiceField",
    "hidden": false,
    "multipleValues": false,
    "options": [
      {
        "id": 1,
        "uri": "/tracker/160275/field/15/option/1",
        "name": "Successful",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "uri": "/tracker/160275/field/15/option/2",
        "name": "Invalid",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "uri": "/tracker/160275/field/15/option/3",
        "name": "Duplicate",
        "type": "ChoiceOptionReference"
      }
    ]
  },
  {
    "id": 18,
    "name": "Accrued Effort",
    "type": "DurationField",
    "hidden": false,
    "title": "Accrued<br>Effort"
  },
  {
    "id": 19,
    "name": "Story Points",
    "type": "IntegerField",
    "hidden": false,
    "title": "Points"
  },
  {
    "id": 74,
    "name": "Modified at",
    "type": "DateField",
    "hidden": false
  },
  {
    "id": 75,
    "name": "Modified by",
    "type": "UserField",
    "hidden": false,
    "multipleValues": false
  },
  {
    "id": 80,
    "name": "Description",
    "type": "WikiTextField",
    "hidden": false
  },
  {
    "id": 84,
    "name": "Description Format",
    "type": "TextField",
    "hidden": false
  },
  {
    "id": 10000,
    "name": "Color",
    "type": "ColorField",
    "hidden": false
  },
  {
    "id": 1000000,
    "name": "table",
    "type": "TableField",
    "hidden": false,
    "columns": [
      {
        "id": 1000001,
        "name": "cal",
        "type": "TextField",
        "hidden": false
      },
      {
        "id": 1000002,
        "name": "col",
        "type": "DurationField",
        "hidden": false
      }
    ]
  }
]
[
  {
    "id": 0,
    "name": "ID",
    "type": "IntegerField",
    "hidden": false,
    "valueModel": "IntegerFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "id",
    "trackerItemField": "id"
  },
  {
    "id": 2,
    "name": "Priority",
    "type": "OptionChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<ChoiceOptionReference>",
    "title": "P",
    "mandatoryInStatuses": [],
    "multipleValues": false,
    "options": [
      {
        "id": 0,
        "name": "Unset",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 1,
        "name": "Highest",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "name": "High",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "name": "Normal",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "name": "Low",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 5,
        "name": "Lowest",
        "type": "ChoiceOptionReference"
      }
    ],
    "legacyRestName": "priority",
    "trackerItemField": "priority",
    "referenceType": "ChoiceOptionReference"
  },
  {
    "id": 3,
    "name": "Summary",
    "type": "TextField",
    "hidden": false,
    "valueModel": "TextFieldValue",
    "mandatoryInStatuses": [
      {
        "id": 0,
        "name": "Unset",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 1,
        "name": "To Do",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "name": "Rejected",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "name": "In Progress",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "name": "Implemented",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 7,
        "name": "Done",
        "type": "ChoiceOptionReference"
      }
    ],
    "legacyRestName": "name",
    "trackerItemField": "name"
  },
  {
    "id": 4,
    "name": "Submitted at",
    "type": "DateField",
    "hidden": false,
    "valueModel": "DateFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "submittedAt",
    "trackerItemField": "createdAt"
  },
  {
    "id": 5,
    "name": "Assigned to",
    "type": "UserChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<UserReference>",
    "mandatoryInStatuses": [],
    "multipleValues": true,
    "legacyRestName": "assignedTo",
    "trackerItemField": "assignedTo",
    "referenceType": "UserReference"
  },
  {
    "id": 6,
    "name": "Submitted by",
    "type": "UserChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<UserReference>",
    "mandatoryInStatuses": [],
    "multipleValues": false,
    "legacyRestName": "submitter",
    "trackerItemField": "createdBy",
    "referenceType": "UserReference"
  },
  {
    "id": 7,
    "name": "Status",
    "type": "OptionChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<ChoiceOptionReference>",
    "mandatoryInStatuses": [],
    "multipleValues": false,
    "options": [
      {
        "id": 0,
        "name": "Unset",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 1,
        "name": "To Do",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "name": "Rejected",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "name": "In Progress",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "name": "Implemented",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 7,
        "name": "Done",
        "type": "ChoiceOptionReference"
      }
    ],
    "legacyRestName": "status",
    "trackerItemField": "status",
    "referenceType": "ChoiceOptionReference"
  },
  {
    "id": 8,
    "name": "Start Date",
    "type": "DateField",
    "hidden": true,
    "valueModel": "DateFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "startDate",
    "trackerItemField": "startDate"
  },
  {
    "id": 9,
    "name": "End Date",
    "type": "DateField",
    "hidden": true,
    "valueModel": "DateFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "endDate",
    "trackerItemField": "endDate"
  },
  {
    "id": 10,
    "name": "Planned Effort",
    "type": "DurationField",
    "hidden": false,
    "valueModel": "DurationFieldValue",
    "title": "Planned<br>Effort",
    "mandatoryInStatuses": [],
    "legacyRestName": "estimatedMillis",
    "trackerItemField": "estimatedMillis"
  },
  {
    "id": 11,
    "name": "Spent Effort",
    "type": "DurationField",
    "hidden": false,
    "valueModel": "DurationFieldValue",
    "title": "Spent<br>Effort",
    "mandatoryInStatuses": [],
    "legacyRestName": "spentMillis",
    "trackerItemField": "spentMillis"
  },
  {
    "id": 12,
    "name": "% Spent / Plan",
    "type": "DecimalField",
    "hidden": false,
    "valueModel": "DecimalFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "spentEstimatedHours"
  },
  {
    "id": 13,
    "name": "Category",
    "type": "OptionChoiceField",
    "hidden": true,
    "valueModel": "ChoiceFieldValue<ChoiceOptionReference>",
    "mandatoryInStatuses": [],
    "multipleValues": false,
    "options": [
      {
        "id": 0,
        "name": "Unset",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 1,
        "name": "Folder",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "name": "Information",
        "type": "ChoiceOptionReference"
      }
    ],
    "legacyRestName": "category",
    "trackerItemField": "categories",
    "referenceType": "ChoiceOptionReference"
  },
  {
    "id": 14,
    "name": "Severity",
    "type": "OptionChoiceField",
    "hidden": true,
    "valueModel": "ChoiceFieldValue<ChoiceOptionReference>",
    "mandatoryInStatuses": [],
    "multipleValues": false,
    "options": [
      {
        "id": 0,
        "name": "Unset",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 1,
        "name": "Blocker",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "name": "Critical",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "name": "Major",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "name": "Minor",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 5,
        "name": "Trivial",
        "type": "ChoiceOptionReference"
      }
    ],
    "legacyRestName": "severity",
    "trackerItemField": "severities",
    "referenceType": "ChoiceOptionReference"
  },
  {
    "id": 15,
    "name": "Resolution",
    "type": "OptionChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<ChoiceOptionReference>",
    "mandatoryInStatuses": [
      {
        "id": 2,
        "name": "Rejected",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 7,
        "name": "Done",
        "type": "ChoiceOptionReference"
      }
    ],
    "multipleValues": false,
    "options": [
      {
        "id": 0,
        "name": "Unset",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "name": "Invalid",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "name": "Duplicate",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "name": "Implemented",
        "type": "ChoiceOptionReference"
      }
    ],
    "legacyRestName": "resolution",
    "trackerItemField": "resolutions",
    "referenceType": "ChoiceOptionReference"
  },
  {
    "id": 16,
    "name": "Platform",
    "type": "TrackerItemChoiceField",
    "hidden": true,
    "valueModel": "ChoiceFieldValue<TrackerItemReference>",
    "mandatoryInStatuses": [],
    "multipleValues": true,
    "legacyRestName": "platform",
    "trackerItemField": "platforms",
    "referenceType": "TrackerItemReference"
  },
  {
    "id": 17,
    "name": "Backlog Item",
    "type": "TrackerItemChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<TrackerItemReference>",
    "mandatoryInStatuses": [
      {
        "id": 0,
        "name": "Unset",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 1,
        "name": "To Do",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 2,
        "name": "Rejected",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 3,
        "name": "In Progress",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 4,
        "name": "Implemented",
        "type": "ChoiceOptionReference"
      },
      {
        "id": 7,
        "name": "Done",
        "type": "ChoiceOptionReference"
      }
    ],
    "multipleValues": false,
    "legacyRestName": "backlogItem",
    "trackerItemField": "subjects",
    "referenceType": "TrackerItemReference"
  },
  {
    "id": 18,
    "name": "Accrued Effort",
    "type": "DurationField",
    "hidden": false,
    "valueModel": "DurationFieldValue",
    "title": "Accrued<br>Effort",
    "mandatoryInStatuses": [],
    "legacyRestName": "accruedMillis",
    "trackerItemField": "accruedMillis"
  },
  {
    "id": 19,
    "name": "Story Points",
    "type": "IntegerField",
    "hidden": true,
    "valueModel": "IntegerFieldValue",
    "title": "Points",
    "mandatoryInStatuses": [],
    "legacyRestName": "storyPoints",
    "trackerItemField": "storyPoints"
  },
  {
    "id": 21,
    "name": "Team",
    "type": "TrackerItemChoiceField",
    "hidden": true,
    "valueModel": "ChoiceFieldValue<TrackerItemReference>",
    "mandatoryInStatuses": [],
    "multipleValues": true,
    "legacyRestName": "team",
    "trackerItemField": "teams",
    "referenceType": "TrackerItemReference"
  },
  {
    "id": 29,
    "name": "Assigned at",
    "type": "DateField",
    "hidden": false,
    "valueModel": "DateFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "assignedAt",
    "trackerItemField": "assignedAt"
  },
  {
    "id": 31,
    "name": "Release",
    "type": "TrackerItemChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<TrackerItemReference>",
    "mandatoryInStatuses": [],
    "multipleValues": true,
    "legacyRestName": "versions",
    "trackerItemField": "versions",
    "referenceType": "TrackerItemReference"
  },
  {
    "id": 32,
    "name": "Owner",
    "type": "UserChoiceField",
    "hidden": true,
    "valueModel": "ChoiceFieldValue<UserReference>",
    "mandatoryInStatuses": [],
    "multipleValues": true,
    "legacyRestName": "supervisors",
    "trackerItemField": "owners",
    "referenceType": "UserReference"
  },
  {
    "id": 74,
    "name": "Modified at",
    "type": "DateField",
    "hidden": false,
    "valueModel": "DateFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "modifiedAt",
    "trackerItemField": "modifiedAt"
  },
  {
    "id": 75,
    "name": "Modified by",
    "type": "UserChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<UserReference>",
    "mandatoryInStatuses": [],
    "multipleValues": false,
    "legacyRestName": "modifier",
    "trackerItemField": "modifiedBy",
    "referenceType": "UserReference"
  },
  {
    "id": 76,
    "name": "Parent",
    "type": "ReferenceField",
    "hidden": true,
    "valueModel": "NotSupportedFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "parent",
    "trackerItemField": "parent"
  },
  {
    "id": 79,
    "name": "Children",
    "type": "ReferenceField",
    "hidden": false,
    "valueModel": "NotSupportedFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "children",
    "trackerItemField": "children"
  },
  {
    "id": 80,
    "name": "Description",
    "type": "WikiTextField",
    "hidden": false,
    "valueModel": "WikiTextFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "description",
    "trackerItemField": "description"
  },
  {
    "id": 83,
    "name": "Staff",
    "type": "UserChoiceField",
    "hidden": false,
    "valueModel": "ChoiceFieldValue<UserReference>",
    "mandatoryInStatuses": [],
    "multipleValues": true,
    "legacyRestName": "staff",
    "referenceType": "UserReference"
  },
  {
    "id": 84,
    "name": "Description Format",
    "type": "TextField",
    "hidden": false,
    "valueModel": "TextFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "descFormat",
    "trackerItemField": "descriptionFormat"
  },
  {
    "id": 85,
    "name": "Flags",
    "type": "IntegerField",
    "hidden": false,
    "valueModel": "IntegerFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "flags"
  },
  {
    "id": 88,
    "name": "Attachments",
    "type": "ReferenceField",
    "hidden": false,
    "valueModel": "NotSupportedFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "comments",
    "trackerItemField": "comments"
  },
  {
    "id": 10000,
    "name": "Color",
    "type": "ColorField",
    "hidden": false,
    "valueModel": "ColorFieldValue",
    "mandatoryInStatuses": [],
    "legacyRestName": "color"
  },
  {
    "id": 1000000,
    "name": "table",
    "type": "TableField",
    "hidden": false,
    "valueModel": "TableFieldValue",
    "mandatoryInStatuses": [],
    "columns": [
      {
        "id": 1000001,
        "name": "cal",
        "type": "TextField",
        "hidden": false,
        "valueModel": "TextFieldValue",
        "mandatoryInStatuses": [],
        "legacyRestName": "cal"
      },
      {
        "id": 1000002,
        "name": "col",
        "type": "DurationField",
        "hidden": false,
        "valueModel": "DurationFieldValue",
        "mandatoryInStatuses": [],
        "legacyRestName": "col"
      }
    ],
    "legacyRestName": "table"
  }
]

Tracker item model example

V2 V3
{
  "id": 1869,
  "uri": "/item/1869",
  "name": "Define Test Cases",
  "type": "TrackerItem",
  "version": 4,
  "description": "Define Test Cases",
  "descriptionFormat": "Wiki",
  "submittedAt": "2019-09-22T19:48:48",
  "submitter": {
    "id": 1,
    "uri": "/user/1",
    "name": "bond",
    "type": "UserReference"
  },
  "modifiedAt": "2019-09-27T09:26:06",
  "modifier": {
    "id": 1,
    "uri": "/user/1",
    "name": "bond",
    "type": "UserReference"
  },
  "storyPoints": 4,
  "tracker": {
    "id": 160275,
    "uri": "/tracker/160275",
    "name": "Tasks",
    "type": "TrackerReference"
  },
  "customFields": [
    {
      "fieldId": 1000000,
      "uri": "/tracker/160275/field/1000000",
      "name": "table",
      "type": "TableCustomFieldReference",
      "values": [
        [
          {
            "fieldId": 1000001,
            "uri": "/tracker/160275/field/1000001",
            "name": "cal",
            "type": "TextCustomFieldReference",
            "value": "calculate"
          },
          {
            "fieldId": 1000002,
            "uri": "/tracker/160275/field/1000002",
            "name": "col",
            "type": "DurationCustomFieldReference",
            "value": 835200000
          }
        ],
        [
          {
            "fieldId": 1000001,
            "uri": "/tracker/160275/field/1000001",
            "name": "cal",
            "type": "TextCustomFieldReference",
            "value": "calibrate"
          },
          {
            "fieldId": 1000002,
            "uri": "/tracker/160275/field/1000002",
            "name": "col",
            "type": "DurationCustomFieldReference",
            "value": 1558800000
          }
        ]
      ]
    }
  ],
  "priority": {
    "uri": "/tracker/160275/field/2",
    "values": [
      {
        "id": 3,
        "uri": "/tracker/160275/field/2/option/3",
        "name": "Normal",
        "type": "ChoiceOptionReference"
      }
    ],
    "fieldId": 2,
    "trackerId": 160275,
    "type": "ChoiceFieldReference"
  },
  "estimatedMillis": 82800000,
  "status": {
    "uri": "/tracker/160275/field/7",
    "values": [
      {
        "id": 1,
        "uri": "/tracker/160275/field/7/option/1",
        "name": "New",
        "type": "ChoiceOptionReference"
      }
    ],
    "fieldId": 7,
    "trackerId": 160275,
    "type": "ChoiceFieldReference"
  },
  "teams": {
    "uri": "/tracker/160275/field/21",
    "values": [
      {
        "id": 1940,
        "uri": "/item/1940",
        "name": "Test Team",
        "type": "TrackerItemReference"
      }
    ],
    "fieldId": 21,
    "trackerId": 160275,
    "type": "TrackerItemFieldReference"
  },
  "versions": {
    "uri": "/tracker/160275/field/31",
    "values": [
      {
        "id": 1815,
        "uri": "/item/1815",
        "name": "Sprint 1.1",
        "type": "TrackerItemReference"
      }
    ],
    "fieldId": 31,
    "trackerId": 160275,
    "type": "TrackerItemFieldReference"
  },
  "ordinal": 13,
  "typeName": "Task"
}
{
  "id": 1869,
  "name": "Define Test Cases",
  "description": "Define Test Cases",
  "descriptionFormat": "Wiki",
  "createdAt": "2020-10-28T15:03:39.004",
  "createdBy": {
    "id": 1,
    "name": "bond",
    "type": "UserReference"
  },
  "modifiedAt": "2020-10-28T15:03:39.004",
  "modifiedBy": {
    "id": 1,
    "name": "bond",
    "type": "UserReference"
  },
  "version": 1,
  "assignedTo": [],
  "storyPoints": 4,
  "tracker": {
    "id": 2351,
    "name": "Tasks",
    "type": "TrackerReference"
  },
  "children": [],
  "customFields": [
    {
      "fieldId": 1000000,
      "name": "table",
      "values": [
        [
          {
            "fieldId": 1000001,
            "name": "cal",
            "value": "calculate",
            "type": "TextFieldValue"
          },
          {
            "fieldId": 1000002,
            "name": "col",
            "value": 835200000,
            "type": "DurationFieldValue"
          }
        ],
        [
          {
            "fieldId": 1000001,
            "name": "cal",
            "value": "calibrate",
            "type": "TextFieldValue"
          },
          {
            "fieldId": 1000002,
            "name": "col",
            "value": 1558800000,
            "type": "DurationFieldValue"
          }
        ]
      ],
      "type": "TableFieldValue"
    }
  ],
  "priority": {
    "id": 3,
    "name": "Normal",
    "type": "ChoiceOptionReference"
  },
  "estimatedMillis": 82800000,
  "status": {
    "id": 1,
    "name": "To Do",
    "type": "ChoiceOptionReference"
  },
  "resolutions": [],
  "teams": [],
  "versions": [],
  "ordinal": 22,
  "typeName": "Task",
  "comments": []
}