---
metadata:
  - name: generator
    content: Diplodoc Platform v5.70.0
  - property: og:type
    content: article
  - property: article:section
    content: Справочник API
  - property: og:title
    content: Получить историю изменений задачи
  - property: article:tag
    content: Техническая инструкция
alternate:
  - https://yandex.ru/support/tracker/en/api/issues/get-changelog.md
  - https://yandex.ru/support/tracker/ru/api/issues/get-changelog.md
  - href: https://yandex.ru/support/tracker/ru/api/issues/get-changelog.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/support/tracker/ru/llms.txt?revision=r22105730
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt?revision=r22105730


# Получить историю изменений задачи

Запрос позволяет получить историю изменений задачи. Если количество записей в ответе более 50, необходимо использовать [параметр `perPage`](#params).

<div class="request_example yfm-code-floating-container method_get">
    <p>GET</p>
    <pre><code>https://api.tracker.yandex.net/v3/issues/{id_задачи}/changelog</code></pre>
    <button class="yfm-clipboard-button"><svg width="16" height="16" viewBox="0 0 24 24" class="yfm-clipboard-icon" data-animation="15">
    <path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path>
    <path stroke="currentColor" fill="transparent" strokewidth="1.5" d="M9.5 13l3 3l5 -5" visibility="hidden">
        <animate id="visibileAnimation-15" attributeName="visibility" from="hidden" to="visible" dur="0.2s" fill="freeze" begin=""></animate>
        <animate id="hideAnimation-15" attributeName="visibility" from="visible" to="hidden" dur="1s" begin="visibileAnimation-15.end+1" fill="freeze"></animate>
    </path>
</svg>
</button>
</div>

<!-- source: ru/api/_assets/style/methods.md -->

<!-- endsource: ru/api/_assets/style/methods.md -->

## Формат запроса {#query}

Перед выполнением запроса [получите доступ к API](https://yandex.ru/support/tracker/ru/api/access.md).

Чтобы получить список изменений задачи, используйте HTTP-запрос с методом `GET`.
```json translate=no
GET /v3/issues/{id_задачи}/changelog
Host: api.tracker.yandex.net
Authorization: OAuth API_TOKEN
X-Org-ID или X-Cloud-Org-ID: ИДЕНТИФИКАТОР_ОРГАНИЗАЦИИ
```

<!-- source: ru/api/_includes/headings-no-body.md -->
{% cut "Заголовки" %}

* `Host`: адрес узла, предоставляющего API.

* <!-- source: ru/api/_includes/authorization.md -->
  `Authorization`: токен для авторизации в одном из форматов:

    - `OAuth OAUTH_TOKEN` при авторизации по протоколу OAuth 2.0. [Читать подробнее](https://yandex.ru/support/tracker/ru/api/access.md#about_OAuth)

    - `Bearer IAM_TOKEN` при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Identity Hub. [Читать подробнее](https://yandex.ru/support/tracker/ru/api/access.md#iam-token)
  <!-- endsource: ru/api/_includes/authorization.md -->


* <!-- source: ru/api/_includes/org-id.md -->
  `X-Org-ID` или `X-Cloud-Org-ID`: идентификатор организации.

  - если к Трекеру привязана организация Яндекс 360 для бизнеса, используйте заголовок `X-Org-ID`,

  - если к Трекеру привязана организация Yandex Identity Hub, используйте заголовок `X-Cloud-Org-ID`.
  <!-- endsource: ru/api/_includes/org-id.md -->

  <!-- source: ru/api/_includes/org-id.md -->
  Чтобы узнать идентификатор организации, перейдите на страницу **Администрирование** → [**Организации**](https://tracker.yandex.ru/admin/orgs) и скопируйте значение поля **идентификатор**.
  <!-- endsource: ru/api/_includes/org-id.md -->


{% endcut %}
<!-- endsource: ru/api/_includes/headings-no-body.md -->

<!-- source: ru/api/_includes/resource-issue-id.md -->
{% cut "Ресурс" %}

Параметр | Описание | Тип данных
-------- | -------- | ----------
`id_задачи` | Идентификатор или ключ текущей задачи. | Строка

{% endcut %} 
<!-- endsource: ru/api/_includes/resource-issue-id.md -->

{% cut "Параметры запроса" %}

#### Дополнительные параметры {#params}

Параметр | Описание | Тип данных
-------- | -------- | ----------
id | Идентификатор изменения, за которым следуют запрашиваемые изменения. | Строка
perPage | Количество изменений на странице. Если параметр не указан, по умолчанию на странице будет выведено 50 изменений. | Число
field | Идентификатор [параметра изменений](#field). Например, `checklistItems` для просмотра изменений в чеклисте или `status` для просмотра всех обновлений статуса задачи.| Строка
type | Ключ [типа изменения](#diff-type). | Строка
sort | Порядок сортировки событий по дате. Допустимые значения: `asc` — по возрастанию, `desc` — по убыванию. | Строка

{% note warning "" %}

При `sort=desc` не используйте постраничную навигацию по ссылке `Link` с `rel="next"`: она возвращает некорректный набор событий.

{% endnote %}

{% endcut %}

## Формат ответа {#answer}

{% list tabs %}

- Запрос выполнен успешно

    <!-- source: ru/api/_includes/answer-200.md -->
    В случае успешного выполнения запроса API возвращает ответ с кодом `200 OK`.
    <!-- endsource: ru/api/_includes/answer-200.md -->

    Тело ответа содержит JSON-массив с историей изменений задачи.

  {% cut "Заголовки ответа" %}

    Заголовки `Link` содержат ссылки на первую (`rel="first"`) и последующую (`rel="next"`) страницы ответа. По умолчанию на каждой странице располагается 50 изменений.

    ```
    ...
    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"
    ...
    ```
  {% endcut %}

    ```json translate=no
    [
     {
         "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": "My issue"
         },
         "updatedAt": "2021-02-22T18:35:50.157+0000",
         "updatedBy": {
             "self": "https://api.tracker.yandex.net/v3/users/11********",
             "id": "11********",
             "display": "Имя Фамилия"
         },
         "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": "Открыт"
                 }
             }
         ]
     },
     {
         "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": "My issue"
         },
         "updatedAt": "2021-02-22T18:35:57.359+0000",
         "updatedBy": {
             "self": "https://api.tracker.yandex.net/v3/users/11********",
             "id": "11********",
             "display": "Имя Фамилия"
         },
         "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/11********",
                         "id": "11********",
                         "display": "Имя Фамилия"
                     }
                 ]
             }
         ]
     },
     {
        "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": "My issue"
        },
        "updatedAt": "2022-06-28T08:00:44.155+0000",
        "updatedBy": {
            "self": "https://api.tracker.yandex.net/v3/users/11********",
            "id": "11********",
            "display": "Имя Фамилия"
        },
        "type": "IssueCommentAdded",
        "transport": "front",
        "comments": {
            "added": [
                {
                    "self": "https://api.tracker.yandex.net/v3/issues/TEST-27/comments/10",
                    "id": "10",
                    "display": "My comment"
                }
            ]
        },
        "executedTriggers": [
            {
                "trigger": {
                    "self": "https://api.tracker.yandex.net/v3/queues/TEST/triggers/29",
                    "id": "29",
                    "display": "My trigger"
                },
                "success": true,
                "message": "Success"
            }
         ]
      }
    ]
    ```

  {% cut "Параметры ответа" %}

   Параметр | Описание | Тип данных
   ----- | ----- | -----
   id | Идентификатор изменения. | Строка
   self | Адрес ресурса API, который содержит информацию об изменении. | Строка
   [issue](#issue) | Блок с информацией о задаче. | Объект
   updatedAt | Дата и время изменения задачи в формате `YYYY-MM-DDThh:mm:ss.sss±hhmm`. | Строка
   [updatedBy](#updated-by) | Блок с информацией о пользователе, который внес изменение в задачу. | Объект
   transport | Служебный параметр. | Строка
   type | [Тип изменения](#diff-type). | Строка
   [fields](#fields) | Массив объектов с информацией об измененных параметрах задачи. | Массив объектов
   [comments](#comments) | Блок с информацией о [комментарии](get-comments.md) к задаче. | Объект
   [executedTriggers](#executedTriggers) | Блок с информацией о [триггере](../queues/get-trigger.md), который сработал в задаче. | Объект

   **Поля объекта** `issue` {#issue}

   <!-- source: ru/api/_includes/issue.md -->
   Параметр | Описание | Тип данных
   ----- | ----- | -----
   self | Адрес ресурса API, который содержит информацию о задаче. | Строка
   id | Идентификатор задачи. | Строка
   key | Ключ задачи. | Строка
   display | Отображаемое название задачи. | Строка
   <!-- endsource: ru/api/_includes/issue.md -->

   **Поля объекта** `updatedBy` {#updated-by}

   <!-- source: ru/api/_includes/user.md -->
   Параметр | Описание | Тип данных
   ----- | ----- | -----
   self | Адрес ресурса API, который содержит информацию о пользователе. | Строка
   id | Идентификатор пользователя. | Строка
   display | Отображаемое имя пользователя. | Строка
   passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число
   cloudUid | Уникальный идентификатор пользователя в Yandex Identity Hub. | Строка
   <!-- endsource: ru/api/_includes/user.md -->

   **Поля объектов массива** `fields` {#fields}

   Параметр | Описание | Тип данных
   ----- | ----- | -----
   [field](#field) | Блок с информацией об измененном параметре задачи. | Объект
   [from](#from-to) | Информация о значении параметра до изменения. <ul><li>Если в поле можно записать несколько значений, то передается массив объектов. Например, поле `followers`.</li><li>Если в поле можно записать только одно значение, то оно передается в строковом формате. Например, поле `statusStartTime`.</li></ul> | Строка / Объект
   [to](#from-to) | Информация о значении параметра после изменения. <ul><li>Если в поле можно записать несколько значений, то передается массив объектов. Например, поле `followers`.</li><li>Если в поле можно записать только одно значение, то оно передается в строковом формате. Например, поле `statusStartTime`.</li></ul> | Строка / Объект

   **Поля объекта** `field` {#field}

   Параметр | Описание | Тип данных
   ----- | ----- | -----
   self | Ссылка на измененный параметр задачи. | Строка
   id | Идентификатор параметра задачи. | Строка
   display | Отображаемое название параметра задачи. | Строка

   **Поля объектов** `from` **и** `to` {#from-to}

   Параметр | Описание | Тип данных
   ----- | ----- | -----
   self | Ссылка на значение параметра задачи. | Строка
   id | Идентификатор значения параметра задачи. | Строка
   key | Ключ значения параметра. | Строка
   display | Отображаемое название значения параметра. | Строка

   **Поля объекта** `comments` {#comments}

   Параметр | Описание | Тип данных
   ----- | ----- | -----
   [added](#added) | Блок с информацией о комментарии. | Объект

   **Поля объекта** `added` {#added}

   Параметр | Описание | Тип данных
   ----- | ----- | -----
   self | Ссылка на объект комментария. | Строка
   id | Идентификатор комментария. | Число
   display | Текст комментария. | Строка

   **Поля объекта** `executedTriggers` {#executedTriggers}

   Параметр | Описание | Тип данных
   ----- | ----- | -----
   [trigger](#trigger) | Блок с информацией о триггере. | Объект
   success | Статус срабатывания триггера. Допустимые значения:<ul><li>`true`— успешно;</li><li>`false`— неуспешно.</li></ul>| Логический
   message | Действие, которое было выполнено при срабатывании триггера. | Строка

   **Поля объекта** `trigger` {#trigger}

   Параметр | Описание | Тип данных
   ----- | ----- | -----
   self | Ссылка на объект триггера. | Строка
   id | Идентификатор триггера. | Число
   display | Отображаемое название триггера. | Строка

   **Тип изменения** `type` {#diff-type}

   Тип изменения | Описание
   ----- | -----
   IssueUpdated | Задача изменена.
   IssueCreated | Задача создана.
   IssueMoved | Задача перемещена в другую очередь.
   IssueCloned | Создана копия задачи.
   IssueCommentAdded | Добавлен комментарий к задаче.
   IssueCommentUpdated | Изменен комментарий к задаче.
   IssueCommentRemoved | Удален комментарий к задаче.
   IssueWorklogAdded | Добавлена запись о затраченном времени.
   IssueWorklogUpdated | Изменена запись о затраченном времени.
   IssueWorklogRemoved | Удалена запись о затраченном времени.
   IssueCommentReactionAdded | За комментарий проголосовали.
   IssueCommentReactionRemoved | Отозван голос за комментарий.
   IssueVoteAdded | За задачу проголосовали.
   IssueVoteRemoved | Отозван голос за задачу.
   IssueLinked | Создана связь с другой задачей.
   IssueLinkChanged | Изменен тип связи с другой задачей.
   IssueUnlinked | Удалена связь с другой задачей.
   RelatedIssueResolutionChanged | Изменена резолюция связанной задачи.
   IssueAttachmentAdded | К задаче прикреплен файл.
   IssueAttachmentRemoved | Прикрепленный к задаче файл удален.
   IssueWorkflow | Изменен статус задачи.

  {% endcut %}

- Запрос выполнен с ошибкой

  Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:

  <!-- source: ru/api/_includes/answer-error-401.md -->
  401
  :   Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе [Доступ к API](https://yandex.ru/support/tracker/ru/api/access.md).
  <!-- endsource: ru/api/_includes/answer-error-401.md -->

  <!-- source: ru/api/_includes/answer-error-403.md -->
  403
  :   У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
  <!-- endsource: ru/api/_includes/answer-error-403.md -->

  <!-- source: ru/api/_includes/answer-error-404.md -->
  404
  :   Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
  <!-- endsource: ru/api/_includes/answer-error-404.md -->

  <!-- source: ru/api/_includes/answer-error-422.md -->
  422 
  :   Ошибка валидации JSON, запрос отклонен.
  <!-- endsource: ru/api/_includes/answer-error-422.md -->

  <!-- source: ru/api/_includes/answer-error-500.md -->
  500
  :   Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время.
  <!-- endsource: ru/api/_includes/answer-error-500.md -->

  <!-- source: ru/api/_includes/answer-error-503.md -->
  503
  :   Сервис API временно недоступен.    
  <!-- endsource: ru/api/_includes/answer-error-503.md -->

{% endlist %}
