---
metadata:
  - name: generator
    content: Diplodoc Platform v5.57.3
  - 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/import/import-attachments.md
  - https://yandex.ru/support/tracker/ru/api/import/import-attachments.md
  - href: ru/api/import/import-attachments.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
title: Как импортировать файлы
description: В данной статье описаны особенности импорта файлов.
---
> **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_задачи>/attachments/_import?filename=&lt;filename>&createdAt=&lt;createdAt>&createdBy=&lt;createdBy></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 -->

{% note warning "" %}

Запрос может быть выполнен только от имени [администратора](https://yandex.ru/support/tracker/role-model.html).

{% endnote %}

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

Чтобы импортировать файл, используйте HTTP-запрос с методом `POST`. Файл передается в теле запроса с использованием `multipart/form-data` по стандарту RFC-7578. [Текст RFC-7578](https://tools.ietf.org/html/rfc7578)

Размер файла не должен превышать 1024 Мбит.

{% list tabs %}

- Прикрепить файл к задаче

    ```json translate=no
    POST /v3/issues/<id_задачи>/attachments/_import?filename=<filename>&createdAt=<createdAt>&createdBy=<createdBy>
    Host: api.tracker.yandex.net
    Authorization: OAuth <OAuth-токен>
    X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
    Content-Type: multipart/form-data
    <файл>
    ```
    <!-- source: ru/api/_includes/headings-content-multi-data.md -->
    {% cut "Заголовки" %}

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

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

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

        - `Bearer <IAM-токен>` при авторизации с помощью 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 -->


    - **Content-Type**

        Формат тела запроса. Должен иметь значение `multipart/form-data`.

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

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

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

    {% endcut %}

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

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

    Параметр | Описание | Тип данных
    --- | --- | ---
    filename | Имя файла, максимальная длина — 255 символов. | Строка
    createdAt | Дата и время прикрепления файла в формате `YYYY-MM-DDThh:mm:ss.sss±hhmm`. Значение не должно быть:<ul><li>позже текущего момента времени;</li><li>раньше времени создания задачи;</li><li>позже времени последнего обновления задачи.</li></ul> | Строка
    createdBy | Логин или идентификатор автора прикрепленного файла. | Строка

    {% endcut %}

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

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

    Параметр | Описание | Тип данных
    --- | --- | ---
    file_data | Загружаемый файл. Размер файла не должен превышать 1024 Мбит. | Строка

    {% endcut %}

- Прикрепить файл к комментарию

    ```json translate=no
    POST /v3/issues/<id_задачи>/comments/<id_комментария>/attachments/_import?filename={filename}&createdAt={createdAt}&createdBy={createdBy}
    Host: api.tracker.yandex.net
    Authorization: OAuth <OAuth-токен>
    X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
    Content-Type: multipart/form-data
    <файл>
    ```

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

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

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

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

        - `Bearer <IAM-токен>` при авторизации с помощью 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 -->


    - **Content-Type**

        Формат тела запроса. Должен иметь значение `multipart/form-data`.

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

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

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

    {% endcut %}

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

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

    Параметр | Описание | Тип данных
    --- | --- | ---
    filename | Имя файла, максимальная длина — 255 символов. | Строка
    createdAt | Дата и время прикрепления файла в формате `YYYY-MM-DDThh:mm:ss.sss±hhmm`. Значение не должно быть:<ul><li>позже текущего момента времени;</li><li>раньше времени создания задачи;</li><li>позже времени последнего обновления задачи;</li><li>раньше времени создания комментария;</li><li>позже времени последнего обновления комментария.</li></ul> | Строка
    createdBy | Логин или идентификатор автора прикрепленного файла. | Строка

    {% endcut %}

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

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

    Параметр | Описание | Тип данных
    --- | --- | ---
    \<файл\> | Загружаемый файл. Размер файла не должен превышать 1024 Мбит. | Строка

    {% endcut %}

{% endlist %}

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

{% list tabs %}

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

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

    Тело ответа содержит параметры прикрепленного файла в формате JSON:

    ```json translate=no
	{
	  "self": "https://api.tracker.yandex.net/v3/issues/JUNE-2/attachments/123",
      "id" : "123",
      "name" : "pic.png",
      "content" : "api.tracker.yandex.net/v3/issues/JUNE-2/attachments/123/pic.png",
      "thumbnail" : "api.tracker.yandex.net/v3/issues/JUNE-2/thumbnails/123",
	  "createdBy" : {
		"self": "https://api.tracker.yandex.net/v3/users/12********",
		"id" : "12********",
		"display" : "<отображаемое_имя_сотрудника>"
	  },
	  "createdAt" : "2017-06-11T05:16:01.339+0000",
	  "mimetype" : "image/png",
	  "size" : 5678,
	  "metadata" : {
		"size" : "128x128"
	  }
	}
    ```

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

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Адрес ресурса API, который соответствует прикрепленному файлу. | Строка
    id | Уникальный идентификатор файла. | Строка
    name | Имя файла. | Строка
    content | Адрес ресурса для скачивания файла. | Строка
    thumbnail | Адрес ресурса для скачивания миниатюры предпросмотра. Доступно только для графических файлов. | Строка
    [createdBy](#createdBy) | Объект с информацией о пользователе, прикрепившем файл. | JSON-объект
    createdAt | Дата и время загрузки файла в формате:<br/>``` YYYY-MM-DDThh:mm:ss.sss±hhmm ``` | Строка
    mimetype | Тип файла, например:<ul><li>`text/plain` — текстовый файл;</li><li>`image/png` — изображение в формате png.</li></ul> | Строка
    size | Размер файла в байтах. | Целое число
    [metadata](#metadata) | Объект с метаданными файла. | JSON-объект

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

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    self | Адрес ресурса, соответствующего пользователю, загрузившему файл. | Строка
    id | Логин пользователя. | Строка
    display | Имя пользователя (как в интерфейсе). | Строка


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

    Параметр | Описание | Тип данных
    -------- | -------- | ----------
    size | Размер изображения в пикселях. | Строка

    {% endcut %}

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

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

    <!-- source: ru/api/_includes/answer-error-400.md -->
    400
    :   Один или несколько параметров запроса имеют недопустимое значение.
    <!-- endsource: ru/api/_includes/answer-error-400.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-413.md -->
    413
    :   Размер файла превышает 1024 Мбит. 
    <!-- endsource: ru/api/_includes/answer-error-413.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 %}
