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.
Request format
Before making the request, get permission to access the API.
To get a list of issue changes, use an HTTP GET
request.
GET /v2/issues/<issue_id_or_key>/changelog
Host: https://api.tracker.yandex.net
Authorization: OAuth <OAuth_token>
X-Org-ID: <organization ID>
Headers
-
Host
Address of the node that provides the API:
https://api.tracker.yandex.net
-
Authorization
OAuth token in
OAuth <OAuth_token>
format, e.g.:OAuth 0c4181a7c2cf4521964a72ff********
-
X-Org-ID or X-Cloud-Org-ID
Organization ID. You can find it out on the Tracker organizations page
.- If a Yandex 360 for Business organization is the only one linked to Tracker, the
X-Org-ID
header is used. - If a Yandex Cloud Organization organization is the only one linked to Tracker, the
X-Cloud-Org-ID
header is used. - If both Yandex 360 for Business and Yandex Cloud Organization organizations are linked to Tracker at the same time, the
X-Org-ID
header and the Yandex 360 for Business organization ID are used.
- If a Yandex 360 for Business organization is the only one linked to Tracker, the
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: <https://api.tracker.yandex.net/v2/issues/SCR-8/changelog?perPage=50>; rel="first"
Link: <https://api.tracker.yandex.net/v2/issues/SCR-8/changelog?id=5b9a1a88f7c60500********&perPage=50>; rel="next"
...
[
{
"id": "6033f986bd6c4a04********",
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f986bd6c4a04********",
"issue": {
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:35:50.157+0000",
"updatedBy": {
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
},
"type": "IssueCreated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://https://api.tracker.yandex.net/v2/fields/status",
"id": "status",
"display": "Status"
},
"from": null,
"to": {
"self": "https://https://api.tracker.yandex.net/v2/statuses/1",
"id": "1",
"key": "open",
"display": "Open"
}
}
]
},
{
"id": "6033f98d4417c101********",
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f98d4417c101********",
"issue": {
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:35:57.359+0000",
"updatedBy": {
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
},
"type": "IssueUpdated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://https://api.tracker.yandex.net/v2/fields/followers",
"id": "followers",
"display": "Followers"
},
"from": null,
"to": [
{
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
}
]
}
]
},
{
"id": "6033f9954417c101********",
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f9954417c101********",
"issue": {
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:36:05.553+0000",
"updatedBy": {
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
},
"type": "IssueUpdated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://https://api.tracker.yandex.net/v2/fields/tags",
"id": "tags",
"display": "Tags"
},
"from": null,
"to": [
"New tag"
]
}
],
},
{
"id": "62bab52ca16f631e********",
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/62bab52ca16f631e********",
"issue": {
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "5fbc929b5b28572f********",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2022-06-28T08:00:44.155+0000",
"updatedBy": {
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
},
"type": "IssueWorkflow",
"transport": "front",
"fields": [
{
"field": {
"self": "https://https://api.tracker.yandex.net/v2/fields/status",
"id": "status",
"display": "Status"
},
"from": {
"self": "https://https://api.tracker.yandex.net/v2/statuses/3",
"id": "3",
"key": "inProgress",
"display": "In progress"
},
"to": {
"self": "https://https://api.tracker.yandex.net/v2/statuses/2",
"id": "2",
"key": "needInfo",
"display": "Need info"
}
},
{
"field": {
"self": "https://https://api.tracker.yandex.net/v2/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://https://api.tracker.yandex.net/v2/fields/followers",
"id": "followers",
"display": "Followers"
},
"from": [
{
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
},
{
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
}
],
"to": [
{
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
},
{
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
},
{
"self": "https://https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Full Name"
}
]
}
],
"comments": {
"added": [
{
"self": "https://https://api.tracker.yandex.net/v2/issues/TEST-27/comments/10",
"id": "10",
"display": "Comment text"
}
]
},
"executedTriggers": [
{
"trigger": {
"self": "https://https://api.tracker.yandex.net/v2/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 information about the issue. | Object |
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. | Object |
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 | User's name displayed. | String |
fields array object fields
Parameter | Description | Data type |
---|---|---|
field | Block with information about the updated issue parameter. | Object |
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 |
**Fields of the ** from
and to
objects
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. | Object |
success | Trigger action status. Acceptable values include:
|
Logical |
message | The 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 | A clone of the issue was created. |
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 isn't authorized. Make sure to perform the actions described in API access.
- 403
- Insufficient rights 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 resending your request in a few minutes.
- 503
- The API service is temporarily unavailable.