Интеграция Пачка × Kaiten позволит получать уведомления из вашего пространства в Кайтене прямо в чат в Пачке. Вы и ваши коллеги сможете быстро реагировать на проектные задачи, обсуждать их в тредах и ставить реакции.
В статье расскажем, как настроить интеграцию с Пачкой, когда бот присылает уведомления в отдельный чат команды или руководителя. Например, чтобы отслеживать работу сотрудников и движение задач на проекте.
Интеграция проходит в 3 этапа:
В Пачке создается чат-бот, который получает информацию из конкретного пространства в Kaiten.
Внутри бота настраивается шаблон и прописываются фразы бота. Шаблон по сути «расшифровывает» приходящую информацию из Кайтена, говорит какие события и с каким текстом присылать в чат.
Вы добавляете бота в любой чат, куда он будет отправлять сообщения о событиях в этом пространстве.
Создайте нового бота в Пачке:
Откройте раздел Автоматизации → Интеграции
Выберите Чат-боты и вебхуки
Нажмите +
Придумайте название боту и поставьте логотип Kaiten или любую другую аватарку
Выберите тех, кто сможет настраивать бота. Они увидят его в своем разделе интеграций и смогут менять настройки.
Выберите тех, кто сможет добавлять вашего бота в чаты. Эти пользователи смогут добавлять бота в чаты и получать от него сообщения
Поменяйте другие настройки, если необходимо
Скопируйте Webhook URL (он понадобится для настройки в Kaiten)
Откройте раздел Входящий Webhook внутри окна настройки бота
Найдите строку Webhook URL и скопируйте ссылку внутри него
Добавьте созданного бота в групповой чат
Откройте нужный чат
Перейдите Настройки чата → Добавить участников → Интеграции
Авторизуйтесь в Kaiten. У вас должны быть права администратора того пространства, для которого вы будете настраивать интеграцию.
На панели слева нажмите на нужное пространство и перейдите в его настройки
На странице настроек перейдите в раздел External Webhook
Вставьте в поле ссылку, которую вы копировали в настройках бота в Пачке (шаг 1, п.2), переведите переключатель в режим Включено и нажмите Создать
Скопируйте следующие данные из вашего Kaiten (они понадобятся для финальной настройки бота в Пачке):
Название компании и ID пространства. Откройте пространство, для которого хотите настроить интеграцию, и скопируйте данные из адресной строки:
Названия колонок на доске с задачами и их ID. Чтобы найти ID скопируйте ссылку на колонку:
Вставьте ссылку в адресную строку и скопируйте ID колонки:
В итоге дожно получиться примерно так:
Название компании — pachka
ID пространства — 595608
Названия и ID колонок
4702556 — Выполняется
4702554 — На проверке
4702555 — Готово
Откройте настройки созданного бота в Пачке:
Откройте раздел Автоматизации → Интеграции
Выберите Чат-боты и вебхуки
Выберите бота, которого вы создавали вначале
Откройте раздел Входящий Webhook внутри окна настройки бота
Вставьте шаблон, который позволит боту присылать нужную информацию в чат
В разделе Входящий Webhook выберите Формат отображения → Liquid
Скопируйте блок кода, представленный ниже
Вставьте этот код в поле Шаблон в настройках бота в Пачке
Измените данные в шаблоне на свои
{% assign id_space = 595608 %} {% comment %}"Смените этот ID_space на свой (шаг 2 текущей инструкции)"{% endcomment %}
{% assign space = "pachka" %} {% comment %}"Смените это название компании на своё (шаг 2 текущей инструкции)"{% endcomment %}
{% assign Type = changes %}
{%- if event contains 'card:update' %}
{% assign card_link = "[" | append: data.old.title | append: "](https://" | append: space | append: ".kaiten.ru/space/" | append: id_space | append: "/boards/card/" | append: data.old.id | append: ")" %}
{%- if data.changes.column_id %}
{%- assign status_id = data.changes.column_id | default: "0" -%}
{%- case status_id -%}
{%- when 4702556 -%} {%- assign status_name = "Выполняется" -%} {% comment %}"Смените этот ID колонки и название колонки на свои (шаг 2 текущей инструкции)"{% endcomment %}
{%- when 4702554 -%} {%- assign status_name = "🟡На проверке" -%} {% comment %}"Смените этот ID колонки и название колонки на свои (шаг 2 текущей инструкции)"{% endcomment %}
{%- when 4702555 -%} {%- assign status_name = "✅Готово" -%} {% comment %}"Смените этот ID колонки и название колонки на свои (шаг 2 п.4 текущей инструкции)"{% endcomment %}
{% comment %}"Добавьте точно такие же строки, если у вас больше колонок и вы хотите прописать их"{% endcomment %}
{%- else -%}
{%- assign status_name = "⚠️ошибка! Названия этой колонки нет в боте, добавьте информацию в настройках бота в Пачке" -%}
{%- endcase -%}
{{ card_link }}
🏃🏼♂️**{{ data.author.full_name }}** перенес(ла) эту карточку в колонку `{{ status_name }}`
{%- elsif data.changes.lane_id %}
{{ card_link }}
🏃🏼♂️**{{ data.author.full_name }}** перенес(ла) эту карточку на другую дорожку
{%- elsif data.changes.type_id %}
{{ card_link }}
🔁**{{ data.author.full_name }}** сменил(ла) тип этой карточки
{%- elsif data.changes.description %}
{{ card_link }}
🔁**{{ data.author.full_name }}** обновил(ла) описание этой карточки: "*{{ data.changes.description }}*"
{%- elsif data.changes.description == null %}
{{ card_link }}
🔁**{{ data.author.full_name }}** удалил(ла) описание этой карточки
{%- elsif data.changes.comments_total %}
{{ card_link }}
{%- elsif data.changes.archived and data.changes.condition == 3 %}
{{ card_link }}
❌**{{ data.author.full_name }}** удалил(ла) эту карточку
{%- elsif data.changes.archived and data.changes.condition == 2 %}
{{ card_link }}
🚫**{{ data.author.full_name }}** заархивировал(ла) эту карточку
{% endif %}
{%- elsif event contains 'card:add' %}
{% assign card_link = "[" | append: data.title | append: "](https://" | append: space | append: ".kaiten.ru/space/" | append: id_space | append: "/boards/card/" | append: data.id | append: ")" %}
{{ card_link }}
🆕**{{ data.owner.full_name }}** создал(ла) эту карточку
{%- elsif event contains 'comment:add' %}
✍🏼**{{ data.author.full_name }}**: {{ data.text }}
{% endif %}
Чтобы проверить работу триггера, сделайте какое либо из действий в Kaiten. Если вы использовали код, что мы описывали выше, то Кайтен пришлет уведомление в Пачку о следующих действиях:
Пользователь создал задачу
Пользователь удалил задачу
Пользователь заархивировал задачу
Пользователь перенес задачу в другую колонку
Пользователь перенес задачу на другую дорожку
Пользователь изменил тип задачи внутри задачи
Пользователь изменил описание задачи
Пользователь удалил описание задачи
Пользователь написал комментарий под задачей
👉 Подробнее об External Webhooks читайте здесь: https://developers.kaiten.ru/external-webhooks.