---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.5
  - property: og:type
    content: article
  - property: article:section
    content: Платформа плагинов
  - property: og:title
    content: Слоты
  - property: article:tag
    content: Сборник инструкций
alternate:
  - https://yandex.ru/support/tracker/en/plugins/slots/index.md
  - https://yandex.ru/support/tracker/ru/plugins/slots/index.md
  - href: ru/plugins/slots/index.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt


# Слоты

Место, в котором будет показан плагин, а также механизм его вызова, например кнопка или часть формы, определяется слотом. Слот указывается в манифесте. Плагин можно одновременно интегрировать в несколько слотов.

## Контекст запуска плагина {#launch-context}

Контекст запуска плагина определяется слотом, в котором он находится. Контекст содержит следующую информацию:

- Текущая тема Трекера.
- Текущий язык Трекера.
- Контекст слота — это данные из окружения страницы, в которой запущен плагин. Например, в слоте `issue.action` вернется информация по открытому тикету. Формат контекста максимально приближен к типам публичного API.

Уровень контекста слота задается параметром `contextLevel` в `manifest.json`. Подробнее об уровнях контекста — в разделе [Уровни контекста слота](https://yandex.ru/support/tracker/ru/plugins/common.md#context-levels).

## Доступные точки интеграции {#slots}

{% note info "Расширение доступных точек интеграции" %}

Мы постоянно добавляем доступные точки интеграции. Вы можете оставить заявку на добавление нового слота через  обращение в саппорт .

{% endnote %}

Слот определяет, где и как пользователь будет запускать ваш плагин. Правильный выбор — это не про технику, а про то, в какой момент пользователю нужна ваша функциональность и где он будет ее искать.

Прежде чем выбирать слот, ответьте на вопрос: **В какой момент у пользователя возникает потребность в вашем плагине?**

{% cut "Блок-схема как выбрать слот для плагина" %}

![schema](../../\_assets/plugins/slots/schema.png =700x){.border-yes}

{% endcut %}

### Глобальные {#global}

| Слот                         | Описание                                               | Формат окна                                             | Контекст слота  |
| :--------------------------- | :----------------------------------------------------- | :------------------------------------------------------ | :-------------- |
| **navigation**               | Глобальная панель навигации слева, раздел **Приложения** | Плагин открывается отдельной страницей и имеет свой url | Пустой объект   |
| **attachment.viewer.action** | Галерея. Кнопка в действиях                            | Модальное окно                                          | Данные вложения |

**Плагин как самостоятельный инструмент — navigation**

Пользователь приходит в Трекер не работать с конкретным тикетом, а **использовать ваш инструмент**: импортировать данные, посмотреть отчет, провести массовую операцию. Он идет в левую панель — туда, где **Задачи**, **Проекты**, **Дашборды**.

Это ваш слот, если:

- Плагин решает задачу независимо от конкретного тикета или очереди.

- Пользователь возвращается к нему регулярно или это точка входа в отдельный рабочий процесс.

- Результат работы — список, отчет или форма, а не действие над сущностью.

**Не этот слот, если** плагин всегда нужен в контексте тикета — пользователь не будет искать его в навигации.

**Формат:** отдельная страница со своим URL. Это самый просторный формат — можно строить полноценный интерфейс.

![image.png](../../\_assets/plugins/slots/navigation.png =800x){.border-yes}

**Действие над вложением — attachment.viewer.action**

Пользователь смотрит на файл в галерее вложений и хочет **что-то с ним сделать**: отредактировать изображение, распознать текст, конвертировать. Он находится внутри просмотрщика и не хочет из него уходить.

Это ваш слот, если:

- Плагину нужен конкретный файл — его тип, содержимое, URL.

- Действие логически связано с просмотром файла, а не с тикетом в целом.

![image.png](../../_assets/plugins/slots/attach-action.png =779x){.border-yes}

### Страница тикета {#issue-page}

| Слот                     | Описание                                           | Формат окна                                                            | Контекст слота          |
| :----------------------- | :------------------------------------------------- | :--------------------------------------------------------------------- | :---------------------- |
| **issue.action**         | Меню **Действия** справа сверху на странице задачи. | Модальное окно                                                         | Данные открытого тикета |
| **issue.block**          | Область под описанием в тикете.                    | Плагин встраивается в область ниже связей тикета в раскрываемой секции | Данные открытого тикета |
| **issue.tab**            | Плагин в виде таба на странице тикета.             | Плагин встраивается в список табов. Имеет свой url в контексте тикета.   | Данные открытого тикета |
| **issue.comment.action** | Действия с комментарием.                           | Модальное окно                                                         | Данные комментария      |
| **issue.editor.action**  | Редактор текста. Кнопка в нижней панели редактора. | Всплывающее окно с привязкой к кнопке                                  | Данные открытого тикета |

**Пользователь хочет совершить действие с тикетом — issue.action**

Пользователь смотрит на тикет и хочет **что-то с ним сделать**: отправить, сгенерировать, запустить процесс. Он потянется в меню **Действия** — туда, где уже живут похожие команды вроде **Создать подзадачу** или **Скопировать задачу**.

Это ваш слот, если:

- Плагин запускается по намерению пользователя, а не показывает данные автоматически.

- Результат действия не нужно постоянно видеть на странице.

- Сценарий линейный: запустил → получил результат → закрыл.

**Не этот слот, если** пользователь должен видеть данные плагина каждый раз, когда открывает тикет — тогда смотрите `issue.block`.

**Формат:** модальное окно, внутри один сценарий

![image.png](../../\_assets/plugins/slots/issue-action.png =800x){.border-yes}

**Данные плагина нужны при каждом открытии тикета — issue.block**

Пользователь открывает тикет и **контекст из вашего плагина помогает ему работать** — он видит статус деплоя, связанные PR, данные из внешней системы. Ему не нужно ничего запускать, данные просто есть.

Это ваш слот, если:

- Плагин показывает состояние или данные, а не выполняет действие.

- Информация актуальна всегда, когда пользователь смотрит на тикет.

- Нет явного триггера запуска — плагин полезен сам по себе.

**Не этот слот, если** данные нужны редко или плагин требует ввода параметров перед показом — тогда смотрите `issue.action` или `issue.tab`.

**Формат:** встроенная раскрываемая секция ниже блока связей. Пользователь может свернуть, если не нужна прямо сейчас.

**Важно про высоту:** блок загружается вместе со страницей тикета. Не делайте его огромным — высота должна быть оправдана содержимым, иначе блок будет визуально «продавливать» страницу.

![image.png](../../\_assets/plugins/slots/issue-block.png =600x){.border-yes}

**Сложный инструмент внутри тикета — issue.tab**

Пользователь работает с тикетом и ему нужен **полноценный инструмент**: много данных, своя навигация, объемная таблица. Он привычно идет на вкладку — как **Комментарии** или **История**.

Это ваш слот, если:

- Контент плагина не помещается в блок или модалку без потери удобства.

- Пользователю нужно переключаться между плагином и страницей тикета.

- Есть собственная логика внутри: фильтры, список, несколько состояний.

**Не этот слот, если** функциональность простая — таб создает ощущение, что там будет что-то большое. Пустой или почти пустой таб выглядит как ошибка.

**Формат:** встроенная область в контексте тикета.

![image.png](../../\_assets/plugins/slots/issue-tab.png =600x){.border-yes}

**Действие применяется к конкретному комментарию — issue.comment.action**

Пользователь читает комментарий и хочет **что-то с ним сделать**: создать задачу, перевести, отправить. Он потянется к «⋯» рядом с комментарием — это естественное место для действий с конкретным сообщением.

Это ваш слот, если:

- Плагину нужен текст, автор или дата конкретного комментария.

- Действие имеет смысл только для одного комментария, а не для тикета в целом.

**Формат:** модальное окно, внутри один сценарий

![image.png](../../\_assets/plugins/slots/issue-action.png =800x){.border-yes}

**Действие вставляет контент в редактор — issue.editor.action**

Пользователь пишет комментарий или описание и хочет **вставить готовый контент**: шаблон, сгенерированный текст, данные из внешней системы. Он видит кнопку в нижней панели редактора — рядом с **Призвать** и **Шаблоны** — и запускает плагин, не покидая редактор.

Это ваш слот, если:

- Плагин генерирует или подбирает текст, который нужно вставить в поле ввода.

- Результат работы плагина — фрагмент текста или разметки, а не отдельное действие над тикетом.

- Пользователь запускает плагин в момент написания, а не после.

**Не этот слот, если** плагин выполняет действие над тикетом целиком — тогда смотрите `issue.action`.

**Формат:** всплывающее окно с привязкой к кнопке. После завершения работы плагин вставляет результат в конец текущего содержимого редактора.

![image.png](../../\_assets/plugins/slots/issue-editor-action.png =600x){.border-yes}

### Страница очереди {#queue-page}

| Слот             | Описание                                           | Формат окна                                                             | Контекст слота          |
| :--------------- | :------------------------------------------------- | :---------------------------------------------------------------------- | :---------------------- |
| **queue.action** | Меню **Действия** справа сверху на странице очереди. | Модальное окно                                                          | Данные открытой очереди |
| **queue.tab**    | Плагин в виде таба на странице очереди.            | Плагин встраивается в список табов. Имеет свой url в контексте очереди. | Данные открытой очереди |

**Пользователь хочет совершить действие с очередью — queue.action**

Пользователь смотрит на очередь и хочет **что-то с ней сделать**: запустить процесс, сгенерировать отчет, выполнить массовую операцию. Он потянется в меню **Действия** — туда, где уже живут похожие команды.

Это ваш слот, если:

- Плагин запускается по намерению пользователя, а не показывает данные автоматически.

- Результат действия не нужно постоянно видеть на странице.

- Сценарий линейный: запустил → получил результат → закрыл.

**Формат:** модальное окно, внутри один сценарий

![image.png](../../\_assets/plugins/slots/queue-action.png =750x){.border-yes}

**Сложный инструмент внутри очереди — queue.tab**

Пользователь работает с очередью и ему нужен **полноценный инструмент**: много данных, своя навигация, объемная таблица. Он привычно идет на вкладку — как на другие табы страницы очереди.

Это ваш слот, если:

- Контент плагина не помещается в модалку без потери удобства.

- Пользователю нужно переключаться между плагином и страницей очереди.

- Есть собственная логика внутри: фильтры, список, несколько состояний.

**Не этот слот, если** функциональность простая — таб создает ощущение, что там будет что-то большое. Пустой или почти пустой таб выглядит как ошибка.

**Формат:** встроенная область в контексте очереди.

![image.png](../../\_assets/plugins/slots/queue-tab.png =600x){.border-yes}

### Автоматизации {#automation}

| Слот                      | Описание                                                                                                                           | Формат окна                                                        | Контекст слота                 |
| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------- | :----------------------------- |
| **trigger.create.action** | Страница триггера. Создание действия. UI-плагины для упрощения формы создания вебхука, не имеют дополнительной логики.             | Появляется новый тип действия, форму действия предоставляет плагин | Ключ очереди                   |
| **trigger.edit.action**   | Страница триггера. Редактирование действия. UI-плагины для упрощения формы редактирования вебхука, не имеют дополнительной логики. | Появляется новый тип действия, форму действия предоставляет плагин | Ключ очереди и данные действия |

**Новый тип действия в триггере — trigger.create.action \+ trigger.edit.action**

Администратор настраивает автоматизацию и хочет **добавить действие, которого нет в стандартном списке**: отправить уведомление в свою систему, запустить вебхук с кастомными параметрами. Он выбирает тип действия из списка — плагин появляется там как новая опция.

Это ваши слоты, если:

- Плагин добавляет новый тип автоматического действия, а не работает с пользователем в реальном времени.

- Нужна форма настройки: пользователь задает параметры один раз при создании триггера.

**Важно:** эти два слота почти всегда идут в паре. Если вы даете возможность создать действие, пользователь должен уметь его и отредактировать — иначе при изменении триггера он увидит пустую форму.

**Формат:** встроенная форма внутри страницы триггера. Стилистически должна выглядеть как нативная часть автоматизации, без лишних рамок и заголовков.

![image.png](../../\_assets/plugins/slots/trigger-create.png =700x){.border-yes}

![image.png](../../\_assets/plugins/slots/trigger-edit.png =700x){.border-yes}

### Проект {#project}

| Слот                      | Описание                                                           | Формат окна                                                             | Контекст слота |
| :------------------------ | :----------------------------------------------------------------- | :---------------------------------------------------------------------- | :------------- |
| **project.action**        | Страница проекта. Кнопка **Меню проекта**                            | Модальное окно                                                          | Данные проекта |
| **project.tab**           | Плагин в виде таба на странице проекта.                            | Плагин встраивается в список табов. Имеет свой url в контексте проекта. | Данные проекта |
| **project.block**         | Область под описанием проекта.                                     | Плагин встраивается в область ниже связей проекта в раскрываемой секции | Данные проекта |
| **project.editor.action** | Редактор комментариев в проекте. Кнопка в нижней панели редактора. | Всплывающее окно с привязкой к кнопке                                   | Данные проекта |

### Портфели {#portfolios}

| Слот                        | Описание                                                            | Формат окна                                                              | Контекст слота  |
| :-------------------------- | :------------------------------------------------------------------ | :----------------------------------------------------------------------- | :-------------- |
| **portfolio.action**        | Страница портфеля. Кнопка **Меню портфеля проектов**                  | Модальное окно                                                           | Данные портфеля |
| **portfolio.tab**           | Плагин в виде таба на странице портфеля.                            | Плагин встраивается в список табов. Имеет свой url в контексте портфеля. | Данные портфеля |
| **portfolio.block**         | Область под описанием портфеля.                                     | Плагин встраивается в область ниже связей портфеля в раскрываемой секции | Данные портфеля |
| **portfolio.editor.action** | Редактор комментариев в портфеле. Кнопка в нижней панели редактора. | Всплывающее окно с привязкой к кнопке                                    | Данные портфеля |

### Цели {#goals}

| Слот                   | Описание                                                        | Формат окна                                                                       | Контекст слота |
| :--------------------- | :-------------------------------------------------------------- | :-------------------------------------------------------------------------------- | :------------- |
| **goal.action**        | Страница цели. Кнопка **Меню цели**                               | Модальное окно                                                                    | Данные цели    |
| **goal.tab**           | Плагин в виде таба на странице цели.                            | Плагин встраивается в область ниже списка табов. Имеет свой url в контексте цели. | Данные цели    |
| **goal.block**         | Область под описанием цели.                                     | Плагин встраивается в область ниже связей цели в раскрываемой секции              | Данные цели    |
| **goal.editor.action** | Редактор комментариев в цели. Кнопка в нижней панели редактора. | Всплывающее окно с привязкой к кнопке                                             | Данные цели    |

**project.action / portfolio.action / goal.action**

Пользователь работает с проектом, портфелем или целью и хочет **совершить действие в этом контексте**. Механика одинаковая: кнопка «⋯» в правом верхнем углу страницы, модальное окно.

Выбирайте слот по тому, какие данные нужны плагину:

- Нужен ID и параметры проекта → `project.action`.

- Нужны данные портфеля → `portfolio.action`.

- Нужны данные цели → `goal.action`.

Если плагин универсальный и должен работать во всех трех контекстах — можно указать все три слота одновременно.

![image.png](../../\_assets/plugins/slots/meta-entity.png =800x){.border-yes}

**Действие вставляет контент в редактор комментариев — project.editor.action / portfolio.editor.action / goal.editor.action**

Пользователь пишет комментарий в проекте, портфеле или цели и хочет **вставить готовый контент**: шаблон, сгенерированный текст, данные из внешней системы. Он видит кнопку в нижней панели редактора — рядом с **Призвать** и **Шаблоны** — и запускает плагин, не покидая редактор.

Это ваш слот, если:

- Плагин генерирует или подбирает текст, который нужно вставить в поле ввода.

- Результат работы плагина — фрагмент текста или разметки, а не отдельное действие над сущностью.

- Пользователь запускает плагин в момент написания комментария, а не после.

**Не этот слот, если** плагин выполняет действие над сущностью целиком — тогда смотрите `project.action`, `portfolio.action` или `goal.action`.

**Формат:** всплывающее окно с привязкой к кнопке. После завершения работы плагин вставляет результат в конец текущего содержимого редактора.

Выбирайте слот по тому, в контексте какой сущности находится редактор:

- Редактор комментариев в проекте → `project.editor.action`.

- Редактор комментариев в портфеле → `portfolio.editor.action`.

- Редактор комментариев в цели → `goal.editor.action`.

Контекст слота содержит данные соответствующей сущности — проекта, портфеля или цели.

### Доски {#boards}

![](../../_assets/plugins/board-tab.png =500x){.border-yes}

| Слот          | Описание                  | Формат окна         | Контекст слота |
| :------------ | :------------------------ | :------------------ | :------------- |
| **board.tab** | Страница доски, таб доски | Контент на странице | Данные доски   |

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

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