Получить историю изменений задачи
Запрос позволяет получить историю изменений задачи. Если количество записей в ответе более 50, необходимо использовать параметр perPage
.
Формат запроса
Перед выполнением запроса получите доступ к API.
Чтобы получить список изменений задачи, используйте HTTP-запрос с методом GET
.
GET /v2/issues/<ключ_или_идентификатор_задачи>/changelog
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
Заголовки
-
Host
Адрес узла, предоставляющего API:
api.tracker.yandex.net
-
Authorization
OAuth-токен в формате
OAuth <OAuth-токен>
, например:OAuth 0c4181a7c2cf4521964a72ff********
-
X-Org-ID или X-Cloud-Org-ID
Идентификатор организации. Узнать его можно на странице организаций Tracker
.- Если к Tracker привязана только организация Яндекс 360 для бизнеса, используется заголовок
X-Org-ID
. - Если к Tracker привязана только организация Yandex Cloud Organization, используется заголовок
X-Cloud-Org-ID
. - Если к Tracker одновременно привязаны организации Яндекс 360 для бизнеса и Yandex Cloud Organization, используется заголовок
X-Org-ID
и идентификатор организации Яндекс 360 для бизнеса.
- Если к Tracker привязана только организация Яндекс 360 для бизнеса, используется заголовок
Ресурс
Параметр | Описание | Тип данных |
---|---|---|
<ключ_или_идентификатор_задачи> | Идентификатор или ключ текущей задачи. | Строка |
Параметры запроса
Дополнительные параметры
Параметр | Описание | Тип данных |
---|---|---|
id | Идентификатор изменения, за которым следуют запрашиваемые изменения. | Строка |
perPage | Количество изменений на странице. Если параметр не указан, по умолчанию на странице будет выведено 50 изменений. | Число |
field | Идентификатор параметра изменений. Например, checklistItems для просмотра изменений в чеклисте или status для просмотра всех обновлений статуса задачи. |
Строка |
type | Ключ типа изменения. | Строка |
Формат ответа
В случае успешного выполнения запроса API возвращает ответ с кодом 200 OK
.
Тело ответа содержит JSON-массив с историей изменений задачи.
Заголовки ответа
Заголовки Link
содержат ссылки на первую (rel="first"
) и последующую (rel="next"
) страницы ответа. По умолчанию на каждой странице располагается 50 изменений.
...
Link: <api.tracker.yandex.net/v2/issues/SCR-8/changelog?perPage=50>; rel="first"
Link: <api.tracker.yandex.net/v2/issues/SCR-8/changelog?id=5b9a1a88f7c60500********&perPage=50>; rel="next"
...
[
{
"id": "6033f986bd6c4a04********",
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f986bd6c4a04********",
"issue": {
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Название задачи"
},
"updatedAt": "2021-02-22T18:35:50.157+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
},
"type": "IssueCreated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/status",
"id": "status",
"display": "Статус"
},
"from": null,
"to": {
"self": "https://api.tracker.yandex.net/v2/statuses/1",
"id": "1",
"key": "open",
"display": "Открыт"
}
}
]
},
{
"id": "6033f98d4417c101********",
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f98d4417c101********",
"issue": {
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Название задачи"
},
"updatedAt": "2021-02-22T18:35:57.359+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
},
"type": "IssueUpdated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/followers",
"id": "followers",
"display": "Наблюдатели"
},
"from": null,
"to": [
{
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
}
]
}
]
},
{
"id": "6033f9954417c101********",
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/6033f9954417c101********",
"issue": {
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "6033f986bd6c4a04********",
"key": "TEST-27",
"display": "Название задачи"
},
"updatedAt": "2021-02-22T18:36:05.553+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
},
"type": "IssueUpdated",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/tags",
"id": "tags",
"display": "Теги"
},
"from": null,
"to": [
"Новый тег"
]
}
],
},
{
"id": "62bab52ca16f631e********",
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27/changelog/62bab52ca16f631e********",
"issue": {
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27",
"id": "5fbc929b5b28572f********",
"key": "TEST-27",
"display": "Название задачи"
},
"updatedAt": "2022-06-28T08:00:44.155+0000",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
},
"type": "IssueWorkflow",
"transport": "front",
"fields": [
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/status",
"id": "status",
"display": "Статус"
},
"from": {
"self": "https://api.tracker.yandex.net/v2/statuses/3",
"id": "3",
"key": "inProgress",
"display": "В работе"
},
"to": {
"self": "https://api.tracker.yandex.net/v2/statuses/2",
"id": "2",
"key": "needInfo",
"display": "Требуется информация"
}
},
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/statusStartTime",
"id": "statusStartTime",
"display": "Статус изменен"
},
"from": "2022-06-28T07:29:45.753+0000",
"to": "2022-06-28T08:00:44.156+0000"
},
{
"field": {
"self": "https://api.tracker.yandex.net/v2/fields/followers",
"id": "followers",
"display": "Наблюдатели"
},
"from": [
{
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
},
{
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
}
],
"to": [
{
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
},
{
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
},
{
"self": "https://api.tracker.yandex.net/v2/users/71********",
"id": "71********",
"display": "Имя Фамилия"
}
]
}
],
"comments": {
"added": [
{
"self": "https://api.tracker.yandex.net/v2/issues/TEST-27/comments/10",
"id": "10",
"display": "Текст комментария"
}
]
},
"executedTriggers": [
{
"trigger": {
"self": "https://api.tracker.yandex.net/v2/queues/TEST/triggers/29",
"id": "29",
"display": "Триггер-42"
},
"success": true,
"message": "Успех"
}
]
}
]
Параметры ответа
Параметр | Описание | Тип данных |
---|---|---|
id | Идентификатор изменения. | Строка |
self | Адрес ресурса API, который содержит информацию об изменении. | Строка |
issue | Блок с информацией о задаче. | Объект |
updatedAt | Дата и время изменения задачи в формате YYYY-MM-DDThh:mm:ss.sss±hhmm . |
Строка |
updatedBy | Блок с информацией о пользователе, который внес изменение в задачу. | Объект |
transport | Служебный параметр. | Строка |
type | Тип изменения. | Строка |
fields | Массив объектов с информацией об измененных параметрах задачи. | Массив объектов |
comments | Блок с информацией о комментарии к задаче. | Объект |
executedTriggers | Блок с информацией о триггере, который сработал в задаче. | Объект |
Поля объекта issue
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о задаче. | Строка |
id | Идентификатор задачи. | Строка |
key | Ключ задачи. | Строка |
display | Отображаемое название задачи. | Строка |
Поля объекта updatedBy
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о пользователе. | Строка |
id | Идентификатор пользователя. | Строка |
display | Отображаемое имя пользователя. | Строка |
passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число |
Поля объектов массива fields
Параметр | Описание | Тип данных |
---|---|---|
field | Блок с информацией об измененном параметре задачи. | Объект |
from | Информация о значении параметра до изменения.
|
Строка / Объект |
to | Информация о значении параметра после изменения.
|
Строка / Объект |
Поля объекта field
Параметр | Описание | Тип данных |
---|---|---|
self | Ссылка на измененный параметр задачи. | Строка |
id | Идентификатор параметра задачи. | Строка |
display | Отображаемое название параметра задачи. | Строка |
Поля объектов from
и to
Параметр | Описание | Тип данных |
---|---|---|
self | Ссылка на значение параметра задачи. | Строка |
id | Идентификатор значения параметра задачи. | Строка |
key | Ключ значения параметра. | Строка |
display | Отображаемое название значения параметра. | Строка |
Поля объекта comments
Параметр | Описание | Тип данных |
---|---|---|
added | Блок с информацией о комментарии. | Объект |
Поля объекта added
Параметр | Описание | Тип данных |
---|---|---|
self | Ссылка на объект комментария. | Строка |
id | Идентификатор комментария. | Число |
display | Текст комментария. | Строка |
Поля объекта executedTriggers
Параметр | Описание | Тип данных |
---|---|---|
trigger | Блок с информацией о триггере. | Объект |
success | Статус срабатывания триггера. Допустимые значения:
|
Логический |
message | Действие, которое было выполнено при срабатывании триггера. | Строка |
Поля объекта trigger
Параметр | Описание | Тип данных |
---|---|---|
self | Ссылка на объект триггера. | Строка |
id | Идентификатор триггера. | Число |
display | Отображаемое название триггера. | Строка |
Тип изменения type
Тип изменения | Описание |
---|---|
IssueUpdated | Задача изменена. |
IssueCreated | Задача создана. |
IssueMoved | Задача перемещена в другую очередь. |
IssueCloned | Создан клон задачи. |
IssueCommentAdded | Добавлен комментарий к задаче. |
IssueCommentUpdated | Изменен комментарий к задаче. |
IssueCommentRemoved | Удален комментарий к задаче. |
IssueWorklogAdded | Добавлена запись о затраченном времени. |
IssueWorklogUpdated | Изменена запись о затраченном времени. |
IssueWorklogRemoved | Удалена запись о затраченном времени. |
IssueCommentReactionAdded | За комментарий проголосовали. |
IssueCommentReactionRemoved | Отозван голос за комментарий. |
IssueVoteAdded | За задачу проголосовали. |
IssueVoteRemoved | Отозван голос за задачу. |
IssueLinked | Создана связь с другой задачей. |
IssueLinkChanged | Изменен тип связи с другой задачей. |
IssueUnlinked | Удалена связь с другой задачей. |
RelatedIssueResolutionChanged | Изменена резолюция связанной задачи. |
IssueAttachmentAdded | К задаче прикреплен файл. |
IssueAttachmentRemoved | Прикрепленный к задаче файл удален. |
IssueWorkflow | Изменен статус задачи. |
Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:
- 401
- Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе Доступ к API.
- 403
- У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Tracker — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
- 404
- Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
- 422
- Ошибка валидации JSON, запрос отклонен.
- 500
- Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время.
- 503
- Сервис API временно недоступен.