Getting the history of issue changes
Use this request to get the history of changes to issues. If there are more than 50 records in the response, use the perPage
parameter.
GET
https://api.tracker.yandex.net/v3/issues/<issue_ID>/changelog
Query format
Before making a request, get permission to access the API.
To get a list of issue changes, use an HTTP GET
request.
GET /v3/issues/<issue_ID>/changelog
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth_token>
X-Org-ID or X-Cloud-Org-ID: <organization_ID>
Headers
-
Host
: Address of the node that provides the API. -
Authorization
: Authorization token about these formats:-
OAuth <OAuth_token>
: For authorization using the OAuth 2.0 protocol. Learn more -
Bearer <IAM_token>
: For authorization using an IAM token, if a Yandex Cloud Organization organization is linked to Tracker. Learn more
-
-
X-Org-ID
orX-Cloud-Org-ID
: Organization ID.-
Use the
X-Org-ID
header if a Tracker organization is linked to Yandex 360 for Business. -
Use the
X-Cloud-Org-ID
header if a Tracker organization is linked to Yandex Cloud Organization.
To get the organization ID, go to Administration → Organizations and copy the value from the ID field.
-
Resource
Parameter | Description | Data type |
---|---|---|
<issue_key_or_ID> | ID or key of the current issue. | String |
Request parameters
Additional parameters
Parameter | Description | Data type |
---|---|---|
id | ID of the change followed by the requested changes. | String |
perPage | Number of changes per page. If this parameter is omitted, each page will display 50 changes by default. | Number |
field | ID of the change parameter. For example, checklistItems for viewing changes to the checklist or status for viewing all issue status updates. |
String |
type | Key of the change type. | String |
Response format
If the request is successful, the API returns a response with code 200 OK
.
The response body contains a JSON array with the history of issue changes.
Response headers
The Link
headers contain links to the first (rel="first"
) and subsequent (rel="next"
) pages of the response. By default, each page contains 50 changes.
...
Link: <api.tracker.yandex.net/v3/issues/SCR-8/changelog?perPage=50>; rel="first"
Link: <api.tracker.yandex.net/v3/issues/SCR-8/changelog?id=5b9a1a88f7c60500********&perPage=50>; rel="next"
...
[
{
"id": "6033f986bd6c4a04********",
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27/changelog/6033f986bd6c4a04********",
"issue": {
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:35:50.157+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
},
"type": "IssueCreated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v3/fields/status",
"id": "status",
"display": "Status"
},
"from": null,
"to": {
"self": "https://api.tracker.yandex.net/v3/statuses/1",
"id": "1",
"key": "open",
"display": "Open"
}
}
]
},
{
"id": "6033f98d4417c101********",
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27/changelog/6033f98d4417c101********",
"issue": {
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:35:57.359+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
},
"type": "IssueUpdated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v3/fields/followers",
"id": "followers",
"display": "Followers"
},
"from": null,
"to": [
{
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
}
]
}
]
},
{
"id": "6033f9954417c101********",
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27/changelog/6033f9954417c101********",
"issue": {
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:36:05.553+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
},
"type": "IssueUpdated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v3/fields/tags",
"id": "tags",
"display": "Tags"
},
"from": null,
"to": [
"New tag"
]
}
],
},
{
"id": "62bab52ca16f631e********",
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27/changelog/62bab52ca16f631e********",
"issue": {
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27",
"id": "5fbc929b5b28572f********",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2022-06-28T08:00:44.155+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
},
"type": "IssueWorkflow",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v3/fields/status",
"id": "status",
"display": "Status"
},
"from": {
"self": "https://api.tracker.yandex.net/v3/statuses/3",
"id": "3",
"key": "inProgress",
"display": "In progress"
},
"to": {
"self": "https://api.tracker.yandex.net/v3/statuses/2",
"id": "2",
"key": "needInfo",
"display": "Need info"
}
},
{
"field": {
"self": "https://api.tracker.yandex.net/v3/fields/statusStartTime",
"id": "statusStartTime",
"display": "Status updated"
},
"from": "2022-06-28T07:29:45.753+0000",
"to": "2022-06-28T08:00:44.156+0000"
},
{
"field": {
"self": "https://api.tracker.yandex.net/v3/fields/followers",
"id": "followers",
"display": "Followers"
},
"from": [
{
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
},
{
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
}
],
"to": [
{
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
},
{
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
},
{
"self": "https://api.tracker.yandex.net/v3/users/71********",
"id": "71********",
"display": "First and Last Name"
}
]
}
],
"comments": {
"added": [
{
"self": "https://api.tracker.yandex.net/v3/issues/TEST-27/comments/10",
"id": "10",
"display": "Comment text"
}
]
},
"executedTriggers": [
{
"trigger": {
"self": "https://api.tracker.yandex.net/v3/queues/TEST/triggers/29",
"id": "29",
"display": "Trigger-42"
},
"success": true,
"message": "Success"
}
]
}
]
Response parameters
Parameter | Description | Data type |
---|---|---|
id | Change ID. | String |
self | Address of the API resource with information about the change. | String |
issue | Block with issue details. | Map item |
updatedAt | Issue update date and time in YYYY-MM-DDThh:mm:ss.sss±hhmm format. |
String |
updatedBy | Object with information about the user who edited the issue. | Map item |
transport | Service parameter | String |
type | Type of change. | String |
fields | Array of objects with information about updated issue parameters. | Array of objects |
comments | Section with information about the comment to the issue. | Object |
executedTriggers | Section with information about the trigger that ran in the issue. | Object |
issue
object fields
Parameter | Description | Data type |
---|---|---|
self | Address of the API resource with information about the issue. | String |
id | Issue ID. | String |
key | Issue key. | String |
display | Issue name displayed. | String |
updatedBy
object fields
Parameter | Description | Data type |
---|---|---|
self | Address of the API resource with information about the user | String |
id | User ID. | String |
display | Displayed user name | String |
passportUid | Unique ID of the user account in the Yandex 360 for Business organization and Yandex ID. | Number |
cloudUid | Unique user ID in Yandex Cloud Organization | String |
fields
array object fields
Parameter | Description | Data type |
---|---|---|
field | Block with information about the updated issue parameter. | Map item |
from | Information about the parameter value before the change.
|
String / object |
to | Information about the parameter value after the change.
|
String / object |
field
object fields
Parameter | Description | Data type |
---|---|---|
self | Link to the updated issue parameter. | String |
id | Issue parameter ID. | String |
display | Issue parameter name displayed. | String |
from
and to
object fields
Parameter | Description | Data type |
---|---|---|
self | Link to the issue parameter value. | String |
id | Issue parameter value ID. | String |
key | Parameter value key. | String |
display | Value parameter name displayed. | String |
comments
object fields
Parameter | Description | Data type |
---|---|---|
added | Block with information about comment. | Object |
added
object fields
Parameter | Description | Data type |
---|---|---|
self | Link to the comment object. | String |
id | Comment ID. | Number |
display | Text of the comment. | String |
executedTriggers
object fields
Parameter | Description | Data type |
---|---|---|
trigger | Block with information about trigger. | Map item |
success | Trigger action status. Acceptable values include:
|
Boolean |
message | Action that was executed by the trigger. | String |
trigger
object fields
Parameter | Description | Data type |
---|---|---|
self | Link to the trigger object. | String |
id | Trigger ID | Number |
display | Trigger name displayed | String |
type
type of change
Type of change. | Description |
---|---|
IssueUpdated | The issue was edited. |
IssueCreated | The issue was created. |
IssueMoved | The issue was moved to another queue. |
IssueCloned | The issue was copied. |
IssueCommentAdded | A comment was added to the issue. |
IssueCommentUpdated | An issue comment is edited. |
IssueCommentRemoved | An issue comment is deleted. |
IssueWorklogAdded | A record of time spent was added. |
IssueWorklogUpdated | A record of time spent was edited. |
IssueWorklogRemoved | A record of time spent was deleted. |
IssueCommentReactionAdded | The comment was voted for. |
IssueCommentReactionRemoved | A vote for the comment was removed. |
IssueVoteAdded | The issue was voted for. |
IssueVoteRemoved | A vote for the issue was removed. |
IssueLinked | A link to another issue was created. |
IssueLinkChanged | Type of link to another issue was changed. |
IssueUnlinked | A link to another issue was deleted. |
RelatedIssueResolutionChanged | Resolution of the linked issue was changed. |
IssueAttachmentAdded | A file is attached to the issue. |
IssueAttachmentRemoved | A file attached to the issue was removed. |
IssueWorkflow | The issue status changed. |
If the request is processed incorrectly, the API returns a response with an error code:
- 401
- The user is not authorized. Make sure that actions described in the API access section are performed.
- 403
- You are not authorized to perform this action. You can check what rights you have in the Tracker interface. The same rights are required to perform an action via the API and interface.
- 404
- The requested object was not found. You may have specified an invalid object ID or key.
- 422
- JSON validation error, the request is rejected.
- 500
- Internal service error. Try again later.
- 503
- The API service is temporarily unavailable.