Трекеры задач

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

1. Почему вручную

Остальные мосты MousePlayer срабатывают сами. Этот намеренно нет.

Задача — работа для человека. Если создавать на каждый яростный клик, доска заполнится неразобранным, команда начнёт отфильтровывать всё, включая реальные проблемы.

Триггер — вы. Смотрите сеанс, замечаете проблему, нажимаете кнопку и описываете увиденное. Ссылка уже есть; решение за вами.

Кнопка лишь у владельцев и администраторов, никогда по общей ссылке. Получатель записи не должен создавать задачи в вашем трекере.

2. Пять трекеров и требования

Куда попадаетВы указываете
Jiraзадача в проектеURL сайта, почта аккаунта, API-токен, ключ проекта, тип задачи
Linearзадача в командеAPI-ключ, ID команды
Asanaзадача в проектеличный токен доступа, ID проекта
Trelloкарточка в спискеключ, токен, ID списка
GitHubзадача в репозиторииличный токен доступа, owner/repo

Одна плитка, один поставщик одновременно. Второй трекер позже — смена выбора, а не миграция.

Откуда идентификаторы

ID команды Linear и проекта Asana видны в URL команды или проекта. ID списка Trello сложнее: добавьте .json к URL доски и найдите список. Ключ проекта Jira — префикс перед номером каждой задачи: ACME в ACME-1234.

3. Ссылку задачи строит сервер

Ваше описание принадлежит вам. Ссылка собирается нами по действительно просматриваемому сеансу; форма не может её изменить.

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

HTTP 200 не означает существование задачи

Linear отвечает GraphQL, а GraphQL возвращает 200 OK с массивом errors при отказе. Только проверка статуса дала бы успех для несуществующей задачи. Мы читаем тело.

Если трекер возвращает ID новой задачи, мы показываем его в подтверждении для проверки, а не слепого доверия зелёному сообщению.

4. Чего намеренно нет

Автоматических задач

См. выше. Для автоматизации мост вебхуков передаёт признаки затруднений Zapier или Make, где вы решаете, что заслуживает задачи.

Двусторонней синхронизации

Закрытие задачи не меняет MousePlayer, MousePlayer её не открывает заново. Синхронизация в полтора направления хуже отсутствия: люди начинают на неё полагаться.

Вложений

Запись хранится и смотрится у нас. Экспорт видео в трекер передал бы персональные данные в систему с другими сроками хранения, чем согласовано с посетителями.

Токен хранится с шифрованием AES-256-GCM и не показывается повторно. Не попадает в очередь: вызов происходит прямо из запроса, пока вы ждёте.

5. GitLab, Azure DevOps и ClickUp

Ещё три трекера, та же кнопка и ручной триггер.

Вы указываете
GitLabхост, ID проекта и токен — свой GitLab тоже подходит
Azure DevOpsорганизацию, проект, тип рабочего элемента и PAT
ClickUpID списка и личный токен

GitLab спрашивает хост, потому что он может быть вашим

GitLab часто размещают самостоятельно, поэтому хост — поле, а не константа. Вставьте gitlab.com , если используете его.

У Azure DevOps две особенности

Тело — документ JSON Patch, не объект; тип содержимого должен быть application/json-patch+json — иначе 415. Знак доллара перед типом элемента в URL — часть адреса, не забытый заполнитель.

ClickUp нужен голый токен

Без Bearer перед ним. Добавленное слово приводит к 401, как неверный токен.

Все названные товарные знаки принадлежат владельцам. У MousePlayer нет деловых отношений с поставщиками.