Swagger V3 트래커 항목 API 변경 내용
Codebeamer 10.0부터 Swagger Documented API의 새 v3 버전이 제공됩니다. 이 페이지는 변경 내용에 대해 설명하고 마이그레이션에 도움이 되는 내용을 담고 있습니다.
변경된 API 
일부 모델, 입력 매개 변수 및 출력 매개 변수는 트래커 항목 관련 엔드포인트와의 상호 작용을 표준화하도록 변경되었습니다. API에 대한 변경 내용은 다음과 같습니다.
API
변경 내용
POST /tracker/{trackerId}/item
POST /tracker/{trackerId}/item/{parentItemId}
PUT /item/{itemId}
작업 관련 모델 대신에 TrackerItem 모델을 허용합니다.
PUT /item/{itemId}/field
PUT /item/{itemId}/field/table/{tableFieldId}
엔드포인트가 트래커 항목 필드와 상호 작용합니다. 따라서 내부 변경 사항이 입력 모델에 도입됩니다.
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}
엔드포인트가 TrackerItem 모델을 생성함에 따라 응답 모델이 변경됩니다.
GET /tracker/{trackerId}/field
GET /tracker/{trackerId}/field/{fieldId}
valueModel 속성이 AbstractField 모델에 추가되었습니다. 따라서 다음 엔드포인트의 반환 값이 변경됩니다.
사용하지 않는 API 
다음 엔드포인트는 더 이상 사용되지 않습니다.
POST /tracker/{trackerId}/item/{parentItemId}
모델 변경 내용 
참조 모델
Swagger v2에는 ReferenceFieldReference 모델의 일관되지 않은 사용이 포함되었습니다. v3에서는 트래커 항목, 저장소, 사용자 등을 참조하는 데 Reference 모델만 사용됩니다.
다음 세 가지 모델이 삭제됩니다.
GroupReferenceField 대신 GroupReference를 사용합니다.
RoleReferenceField 대신 RoleReference를 사용합니다.
UserReferenceField 대신 UserReference를 사용합니다.
필드 값 모델
Swagger v2에는 트래커 필드에 대한 3가지 개념이 포함되어 있습니다.
Field 모델: 필드의 메타데이터(예: 유형, ID, 숨김 등)를 가져옵니다.
FieldReference 모델: 트래커 항목에서 필드의 값 정보(예: 값, URI 등)를 가져옵니다.
FieldValue 모델: 트래커 항목에 대한 필드의 값을 업데이트합니다.
v3에서는 필드 값 관련 모델을 결합했습니다.
Field 모델: 필드의 메타데이터(예: 유형, id, 숨김 등)를 가져오고 FieldValue 모델 정보를 가져옵니다.
FieldValue 모델: 트래커 항목에 대한 필드의 값을 가져오고 업데이트합니다.
FieldValue 모델에는 다음과 같은 결합된 등록 정보가 포함되어 있습니다.
fieldId - 필드의 ID입니다(필수).
type - FieldValue 모델의 유형입니다(필수).
uri - 검색된 참조의 URI입니다.
name - 필드의 이름입니다.
유형 기반 value 또는 values - 필드에 포함된 값 또는 참조입니다.
선택 항목 필드 모델
값 모델
선택 항목 필드 모델은 ChoiceFieldValueModel을 수용하고 생성하도록 표준화되어 있으며, 이 모델은 적절한 참조 값으로 채워져야 합니다.
예:
"assignedTo": {
"fieldId": 5,
"values": [
{
"id": 2469,
"type": "UserReference"
}
],
"type": "ChoiceFieldValue"
}
지정 대상 필드는 사용자 참조를 포함하는 선택 항목 필드입니다.
필드 참조
어떤 참조 유형을 제공해야 할지 식별하기 위해 모든 선택 항목 필드 모델에는 referenceType 속성이 포함되어 있습니다.
예:
{
"id": 5,
"name": "Assigned to",
"type": "UserChoiceField",
"hidden": false,
"valueModel": "ChoiceFieldValue",
"multipleValues": true,
"referenceType": "UserReference"
}
UserReference와 함께 ChoiceFieldValue를 생성하고 수락하는 사용자 선택 필드입니다.
테이블 필드 모델
모든 테이블 필드 모델은 FieldValue 모델 구조의 단순 배열을 사용하도록 표준화되었습니다.
예를 들어, PUT /v2/item/{itemId}/field/table/{tableFieldId}TrackerItemTableRowFieldValue를 구성하지 않아도 이제 TrackerItem 모델에서 가져오는 FieldValues를 사용할 수 있습니다.
이전 업데이트 페이로드
새 업데이트 페이로드
{
"rows": [
{
"fieldValues": [
{
"fieldId": 1000001,
"uri": "/tracker/160275/field/1000001",
"name": "cal",
"value": "calibrate",
"type": "TextFieldValue"
}
]
}
]
}
{
"rows": [
[
{
"fieldId": 1000001,
"name": "cal",
"value": "calibrate",
"type": "TextFieldValue"
}
]
]
}
엔드포인트 변경 내용
트래커 항목을 작성하거나 트래커 아웃라인의 특정 위치로 이동
Swagger v3에서는 다음 엔드포인트에서 새 키워드인 BELOW를 위치 매개 변수로 도입했습니다.
POST /v3/trackers/{trackerId}/items
PUT /v3/items/{itemId}
하위 항목을 작성하기 위해 v3에서 POST /v3/trackers/{trackerId}/items 엔드포인트를 사용하는 두 가지 옵션을 사용할 수 있습니다.
?parentItemId={parent item id} - 트래커 아웃라인에서 상위를 정의합니다.
?referenceItemId={parent item id}&position=BELOW - 참조 항목을 정의하고 아웃라인에서 그 아래에 항목을 작성합니다. 차이점은 참조 항목과 관련하여 BEFOREAFTER 등과 같은 여러 위치를 사용할 수 있다는 것입니다.
참조 변경 내용 
이전 모델
새 모델
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
필드 값 변경 내용 
이전 FieldReferences
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
선택 항목 필드 값 변경 내용 
이전 선택 항목 FieldReference
새 선택 항목 FieldValueModel
ChoiceFieldReference
ChoiceFieldValueModel<ChoiceOptionReference>
ProjectFieldReference
ChoiceFieldValueModel<ProjectReference>
ScmFieldReference
ChoiceFieldValueModel<RepositoryReference>
TrackerFieldReference
ChoiceFieldValueModel<TrackerReference>
TrackerItemFieldReference
ChoiceFieldValueModel<TrackerItemReference>
UserFieldReference
ChoiceFieldValueModel<UserReference>
트래커 필드 목록 모델의 예 
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": "PlannedEffort"
},
{
"id": 11,
"name": "Spent Effort",
"type": "DurationField",
"hidden": false,
"title": "SpentEffort"
},
{
"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": "AccruedEffort"
},
{
"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"
}
]
트래커 항목 모델의 예 
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": []
}
도움이 되셨나요?