---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
  - 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-ref/issues/new-worklog.md
  - https://yandex.ru/support/tracker/ru/api-ref/issues/new-worklog.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt


# Добавить запись о затраченном времени

Запрос позволяет добавить запись о времени, затраченном на выполнение задачи.

<div class="request_example method_post yfm-clipboard">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/issues/&lt;id_задачи>/worklog</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-ref/_assets/style/methods.md -->

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

{% note info "" %}

В Яндекс Трекере учет времени ведется в рабочих неделях (5 дней) и рабочих днях (8 часов).

Например, если передать временной интервал, равный 5 дням (`P5D`), в ответе на запрос и при просмотре задачи отобразится значение 1 неделя (`P1W`).

{% endnote %}

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

Чтобы создать запись о затраченном на задачу времени, используйте HTTP-запрос с методом `POST`. В теле запроса укажите параметры в формате JSON:

```json translate=no
POST /v3/issues/<id_задачи>/worklog
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
Content-Type: application/json
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
  "start": "2021-09-21T15:30:00.000+0500",
  "duration": "P5DT20M",
  "comment": "важный комментарий"
}
```

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

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

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

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

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

* <!-- source: ru/api-ref/_includes/content-type-json.md -->
  `Content-Type`: формат тела запроса. Должен иметь значение `application/json`.
  <!-- endsource: ru/api-ref/_includes/content-type-json.md -->


* <!-- source: ru/api-ref/_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-ref/_includes/org-id.md -->

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


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

{% cut "Ресурс" %}

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

{% endcut %}

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

**Обязательные параметры**

Параметр | Описание | Тип данных
-------- | -------- | ----------
start | Дата и время начала работы над задачей в формате: ```YYYY-MM-DDThh:mm:ss.sss±hhmm``` | Строка
duration | Затраченное время в формате ```PnYnMnDTnHnMnS, PnW``` в соответствии с ISO 8601. [Текст ISO 8601](http://dotat.at/tmp/ISO_8601-2004_E.pdf)<br><br>Чтобы отделить часы, минуты, секунды, используйте букву T.<br><br>Например, значению `P6W` соответствует интервал в 6 недель (30 рабочих дней), значению `PT300M` — интервал в 300 минут (5 часов), значению `P0Y0M30DT2H10M25S` — интервал в 30 дней, 2 часа, 10 минут, 25 секунд. | Строка

**Дополнительные параметры**

Параметр | Описание | Тип данных
-------- | -------- | ----------
comment | Текст комментария к записи. Комментарий сохранится в [**Отчете по трудозатратам**](https://yandex.ru/support/tracker/user/reports.html#time-spent-report). | Строка

{% endcut %}

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

{% list tabs %}

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

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

    Тело ответа содержит JSON-объект с записью о времени, затраченном на выполнение задачи.

    ```json translate=no
    {
      "self": "https://api.tracker.yandex.net/v3/issues/TEST-324/worklog/1",
      "id": 1,
      "version": 1402121720882,
      "issue": {
        "self": "https://api.tracker.yandex.net/v3/issues/TEST-324",
        "id": "515ec9eae4b09cfa********",
        "key": "TEST-324",
        "display": "My issue"
      },
      "comment": "My comment",
      "createdBy": {
        "self": "https://api.tracker.yandex.net/v3/users/11********",
        "id": "11********",
        "display": "Имя Фамилия"
      },
      "updatedBy": {
        "self": "https://api.tracker.yandex.net/v3/users/11********",
        "id": "11********",
        "display": "Имя Фамилия"
      },
      "createdAt": "2021-09-28T08:42:06.258+0000",
      "updatedAt": "2021-09-28T08:42:06.258+0000",
      "start": "2021-09-21T10:30:00.000+0000",
      "duration": "P1WT20M"
    }
    ```

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

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Адрес ресурса API, который содержит запись о затраченном времени. | Строка
    id | Идентификатор записи о затраченном времени. | Строка
    version | Версия записи. Каждое изменение записи увеличивает номер версии. | Строка
    [issue](#issue) | Блок с информацией о задаче. | Объект
    comment | Текст комментария к записи. Комментарий сохранится в Отчёте по затратам времени. | Строка
    [createdBy](#createdBy) | Объект с информацией о создателе записи. | Объект
    [updatedBy](#updatedBy) | Объект с информацией о пользователе, внесшем изменение в запись. | Объект
    createdAt | Дата и время создания записи в формате: ```YYYY-MM-DDThh:mm:ss.sss±hhmm``` | Строка
    updatedAt | Дата и время обновления записи в формате: ```YYYY-MM-DDThh:mm:ss.sss±hhmm``` | Строка
    start | Дата и время начала работы над задачей в формате: ```YYYY-MM-DDThh:mm:ss.sss±hhmm``` | Строка
    duration | Затраченное время в формате ```PnYnMnDTnHnMnS, PnW``` в соответствии с ISO 8601. [Текст ISO 8601](http://dotat.at/tmp/ISO_8601-2004_E.pdf) | Строка

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

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

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

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Адрес ресурса API, который содержит информацию о пользователе. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка

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

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Адрес ресурса API, который содержит информацию о пользователе. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка

    {% endcut %}

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

    Если запрос не был успешно обработан, ответное сообщение содержит информацию о возникших ошибках:

    <!-- source: ru/api-ref/_includes/answer-error-400.md -->
    400
    :   Один или несколько параметров запроса имеют недопустимое значение.
    <!-- endsource: ru/api-ref/_includes/answer-error-400.md -->

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

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

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

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

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

{% endlist %}
