Учёт времени в Jira, GitLab и GitHub с браузерным расширением
Как расширение узнаёт страницу
Откройте расширение Keepr на задаче в Jira, GitLab или GitHub, и над таймером появится карточка «На этой странице». Нажмите «Взять», и в описание таймера попадут ключ и заголовок задачи, например «KEEPR-142 Onboarding flow QA» или «!12 Add webhooks», поэтому записи читаются так же, как в трекере.
Расширение смотрит только на две вещи: адрес вкладки и её заголовок. Оно не встраивает своих скриптов в страницы трекера и ничего не держит в фоне, поэтому и работает с Jira или GitLab вашей компании без всякой предварительной настройки.
Если в заголовке вкладки нет названия задачи — например, задача открыта в боковой карточке доски, — расширение, когда вы его открываете, запускает в этой вкладке один короткий скрипт: он спрашивает у трекера с вашей текущей сессией заголовок этой одной задачи, а если не вышло, берёт заголовок со страницы. Больше ничего на странице не читается.
Какие страницы поддерживаются
Jira: задача, открытая отдельно («/browse/KEY-1»), и задача, открытая на доске или в бэклоге, — в Jira Cloud и в Jira Data Center, в том числе установленной по пути вроде «/jira». На сайте Data Center заголовок вкладки должен иметь вид Jira — «[KEY-1] Заголовок - Jira», — ведь адреса вида задачи Jira могут быть у любого сайта.
GitLab: задачи и рабочие элементы (work items), задачи, открытые в боковой карточке доски или списка, и merge request на любой вкладке — обзор, коммиты, пайплайны и изменения, — в том числе открытый в боковой карточке списка merge request. Это работает на gitlab.com и в собственном GitLab, также под относительным корнем вроде «/gitlab».
GitHub: задачи (issues) и pull request на github.com, на любой вкладке pull request, а также в GitHub Enterprise Server. Списки, результаты поиска, настройки и главные страницы проектов ни в одном из трёх трекеров не распознаются, и расширение читает только страницы, открытые по HTTPS.
Как находится или создаётся задача Keepr
Keepr хранит в задаче ключ трекера вместе с адресом задачи: ключ Jira, например KEEPR-142; номер задачи GitLab или GitHub без решётки, 12, который Keepr показывает как #12; или !12 для merge request в GitLab. Чтобы привязать задачу вручную, введите внешний ID именно так. Задача совпадает, только когда сходится и то и другое, поэтому задача #12 одного репозитория никогда не встретится с #12 другого, а merge request в GitLab — с задач ей, у которой случайно тот же номер.
Если подходящая задача есть, «Взять» заполнит также её проект и задачу. Если нет, карточка назовёт проект, в который попадёт новая задача: проект, где уже больше всего задач из того же проекта трекера, затем проект, в котором вы последний раз запускали таймер по нему в этом браузере, и наконец проект Keepr с точно таким же названием. Проект можно сменить до запуска.
Сама задача создаётся только по нажатию «Запустить таймер» и получает название по заголовку, поэтому открытая и брошенная карточка ничего после себя не оставляет. В списке задач у таких задач перед названием виден ключ, а рядом — ссылка обратно в трекер.
Разрешения и тариф
При установке расширение не просит доступа к сайтам трекеров. Окно расширения читает только вкладку, на которой его открыли. Закреплённая боковая панель, которая следует за переключением вкладок, сначала спрашивает: разрешить ей читать адреса и заголовки вкладок или, если так удобнее, только сайт вашего трекера — его можно добавить или убрать и в настройках расширения.
Расширение подключается персональным API-токеном, а он входит в тариф Ultimate; токену нужны области timers и projects. Чтобы создавать задачи со страницы, нужны ещё запись в projects и право управлять выбранным проектом; без них таймер всё равно запустится — только с описанием.
Для Jira: панель таймера внутри Jira
В Jira Cloud есть и второй способ — панель таймера Keepr, приложение Atlassian прямо в карточке задачи: таймер запускается и останавливается без открытия расширения. Кроме того, она сопоставляет каждый проект Jira с рабочим пространством Keepr для всей команды. Подробнее — в статье о панели в разделе «Похожие статьи».
Оба способа записывают обычное время Keepr в задачу того же вида, с ключом задачи Jira, так что можно пользоваться любым из них или обоими сразу. Расширение, которое можно взять на странице «Приложения», вдобавок покрывает Jira Data Center, GitLab и GitHub.