Get 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>/changelog
Host: https://api.tracker.yandex.net
Authorization: OAuth <token>
X-Org-ID: <organization ID>
-
Host
API host address:
https://api.tracker.yandex.net
-
Authorization
OAuth token in
OAuth <token value>
format. For example:OAuth 0c4181a7c2cf4521964a72ff57a34a07
-
X-Org-ID
Organization ID.
Parameter | Description | Data type |
---|---|---|
<issue-id> | ID or key of the current issue. | String |
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.
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=5b9a1a88f7c605001c0e14a5&perPage=50>; rel="next"
...
[
{
"id": "6033f986bd6c4a042c688392",
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f986bd6c4a042c688392",
"issue": {
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a042c688392",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:35:50.157+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v2/users/1234567890",
"id": "1234567890",
"display": "First and Last name"
},
"type": "IssueCreated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/status",
"id": "status",
"display": "Status"
},
"from": null,
"to": {
"self": "https://api.tracker.yandex.net/v2/statuses/1",
"id": "1",
"key": "open",
"display": "Open"
}
}
]
},
{
"id": "6033f98d4417c101b655b93b",
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f98d4417c101b655b93b",
"issue": {
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a042c688391",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:35:57.359+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v2/users/1234567890",
"id": "1234567890",
"display": "First and Last name"
},
"type": "IssueUpdated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/followers",
"id": "followers",
"display": "Followers"
},
"from": null,
"to": [
{
"self": "https://api.tracker.yandex.net/v2/users/1234567890",
"id": "1234567890",
"display": "First and Last name"
}
]
}
]
},
{
"id": "6033f9954417c101b655b940",
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f9954417c101b655b940",
"issue": {
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a042c688391",
"key": "TEST-27",
"display": "Issue name"
},
"updatedAt": "2021-02-22T18:36:05.553+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v2/users/1234567890",
"id": "1234567890",
"display": "First and Last name"
},
"type": "IssueUpdated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/tags",
"id": "tags",
"display": "Tags"
},
"from": null,
"to": [
"New tag"
]
}
]
}
]
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 |
Object fields issue
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 |
Object fields updatedBy
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 |
Array object fields fields
Parameter | Description | Data type |
---|---|---|
field | Block with information about the updated issue parameter. | Object |
from | Block with information about the parameter value before the change. | Object |
to | Block with information about the parameter value after the change. | Object |
Object fields field
Parameter | Description | Data type |
---|---|---|
self | Link to the updated issue parameter. | String |
id | Issue parameter ID. | String |
display | Issue parameter name displayed. | String |
Object fields from
and to
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 |
Type of change type
Type of change. | Description |
---|---|
IssueUpdated | The issue was edited. |
IssueCreated | Issue 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 was edited. |
IssueCommentRemoved | An issue comment was 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.