Переменные
При использовании макросов, триггеров и автодействий вы можете подставить значения из полей задачи в комментарий, формулу или запрос HTTP при помощи переменных.
Добавить переменную
-
Создайте макрос, триггер или автодействие.
-
Нажмите Добавить переменную в блоке действий триггера или автодействия. Для макроса добавьте переменную в сообщение.
-
Выберите поле из списка. При выполнении действия на место переменной в текст будет подставлено значение поля. Вы также можете подставить параметры задачи, которые отсутствуют в списке переменных. Для этого введите имя переменной в тексте.
В списке отображаются переменные для всех полей, доступных в Трекере. Если вы выберете переменную для поля, которое не используется в очереди или в задаче, значение подставлено не будет.
Типы переменных
Имена переменных, которые соответствуют полям задачи, записываются в формате: {{issue.<ключ_поля>}}. Чтобы получить определенный параметр поля задачи, используйте формат записи: {{issue.<ключ_поля>.<параметр>}}.
Полный список полей задачи: https://tracker.yandex.ru/admin/fields
Атрибуты пользователей
С помощью переменных по умолчанию вы можете получить имя и фамилию пользователя. Для этого укажите переменные вида:
-
{{issue.<роль>}}, где<роль>— название поля задачи, в котором указан пользователь:assignee— исполнитель;author— автор;followers— наблюдатели;access— пользователи в поле Доступ;
-
{{currentUser}}— текущий пользователь, который запустил макрос или выполнил действие, вызвавшее срабатывание триггера.
Чтобы получить определенные атрибуты пользователя, укажите переменную вида:
{{issue.<роль>.<атрибут>}}{{currentUser.<атрибут>}}
Где <атрибут> — обозначение атрибута:
login— логин;firstName— имя;lastName— фамилия;uid— идентификатор в Трекере;email— адрес электронной почты;passportUid— идентификатор в организации Яндекс 360 для бизнеса и Яндекс ID.
С 1 октября 2023 года тип идентификатора пользователя по умолчанию изменился с passportUid на uid. Рекомендуем явно указывать тип идентификатора пользователя при интеграции.
Например, при помощи переменной {{issue.followers.email}} можно получить адреса электронной почты всех наблюдателей задачи.
Логины, которые содержат только цифры, могут быть неправильно интерпретированы при выполнении запросов к Трекеру. В таком случае при возникновении ошибки рекомендуется использовать атрибут uid вместо login.
Дополнительные параметры задачи
Некоторые параметры задачи не отображаются в полях, но их значения также можно получить с помощью переменных:
| Переменная | Значение |
|---|---|
{{issue.parent}} |
Родительская задача |
{{issue.previousStatus}} |
Предыдущий статус задачи |
{{issue.previousQueue}} |
Предыдущая очередь задачи |
{{issue.checklistDone}} |
Количество выполненных пунктов чеклиста |
{{issue.votes}} |
Количество голосов за задачу |
{{issue.sprint.id}} |
Идентификатор спринта, в который входит задача |
Локальные поля
Имена переменных, которые соответствуют локальным полям задачи, записываются в формате: {{issue.local.<ключ_поля>}}.
Модификаторы даты и времени
По умолчанию дата и время передается в формате ДД месяц ГГГГ, например: 07 декабря 2021. Для записи даты и времени в других форматах используйте модификаторы:
iso8601— формат ISO 8601;unixEpoch— формат Unix Time;date— запись только даты для полей, в которых передается дата и время.
Примеры записи переменных с модификаторами даты и времени:
| Переменная | Значение | Формат записи |
|---|---|---|
{{currentDateTime.iso8601}} |
Текущая дата и время в формате ISO 8601 | YYYY-MM-DDThh:mm:ss.sssZ |
{{currentDateTime.unixEpoch}} |
Текущее время в формате Unix Time | 1638735223000 |
{{currentDateTime.date}} |
Текущая дата | 06 декабря 2021 |
{{issue.start.iso8601}} |
Дата начала задачи в формате ISO 8601 | YYYY-MM-DD |
{{issue.start.unixEpoch}} |
Время начала задачи в формате Unix Time | 1638855321000 |
Модификаторы JSON
В полях может быть записано несколько значений. Для получения или передачи значений таких полей, например, в запросах HTTP, их нужно преобразовать в формат JSON. Для этого к имени переменной добавьте .json.
Примеры записи переменных в формате JSON:
| Переменная | Значение | Формат записи |
|---|---|---|
{{issue.summary.json}} |
Название задачи | "Название задачи" |
{{issue.description.json}} |
Описание задачи | "Описание" |
{{issue.tags.json}} |
Теги | ["tag1","tag2"] |
{{issue.<роль>.login.json}} |
Логин пользователя (для полей author и assignee) |
"ivan-ivanov" |
{{issue.<роль>.uid.json}} |
Идентификатор пользователя (для полей author и assignee) |
88******** |
{{issue.<роль>.login.json}} |
Логины пользователей (для полей followers и access) |
["ivan-ivanov", "user3993"] |
{{issue.components.display.json}} |
Компоненты | ["component1","component2"] |
{{issue.<роль>.passportUid.json}} |
Идентификаторы пользователей в организации Яндекс 360 для бизнеса и Яндекс ID (для полей followers и access) |
[88********, 55********] |
{{issue.<роль>.uid.json}} |
Идентификаторы пользователей (для полей followers и access) |
[88********, 55********] |
{{issue.sprint.id.json}} |
Идентификаторы спринтов, в которые входит задача | [12****, 34****] |
Трекер поддерживает передачу значений в формате JSON для простых типов полей, которые имеют формат строк, чисел, а также массивов строк и чисел. Тип поля "Объект" не поддерживается: например, переменная {{issue.author.json}} работать не будет. Вместо нее можно использовать переменную для получения простого атрибута поля: {{issue.author.login.json}}.
Модификаторы URL-кодирования
Чтобы использовать значения полей в URL-ссылках, их нужно преобразовать в формат, безопасный для использования в URL-адресах. Для этого к имени переменной добавьте модификатор URL-кодирования:
.urlEncodeUTF8— символы кодируются по стандартуUTF-8;.urlEncodeUTF16— символы кодируются по стандартуUTF-16.
Примеры записи переменных с модификаторами URL-кодирования: {{issue.department.urlEncodeUTF8}}, {{issue.assignee.urlEncodeUTF16}}.
Комментарии
С помощью переменных можно получить некоторые атрибуты комментариев в задаче. Такие переменные имеют вид: {{<тип_комментария>.<атрибут>}}, где <тип_комментария> выбирают в зависимости от того, кто оставил комментарий (пользователь или робот), а <атрибут> — обозначение параметра комментария.
Доступные значения для <тип_комментария>:
userComment— комментарий из текущей операции редактирования. Если пользователь оставил несколько комментариев, будет рассмотрен первый из них.generatedComment— комментарий, созданный автоматически в результате работы триггера или выполнения автодействия.
Для получения информации о комментарии используются следующие параметры:
| Переменная | Значение |
|---|---|
{{<тип_комментария>.id}} |
Идентификатор комментария |
{{<тип_комментария>.text}} |
Текст комментария |
{{<тип_комментария>.author}} |
Автор комментария |