Привет, Хабр! С вами команда YouTrack из JetBrains. У нас отличные новости — начиная с YouTrack 2020.3 проблемы отображают не только связанные с проблемами коммиты, но и запросы на включение.
В сегодняшнем посте мы расскажем вам, что это такое, зачем это нужно и как это поможет сделать процесс разработки более эффективным и понятным, а также покажем вам другие нововведения в последней версии YouTrack.
За подробностями добро пожаловать в пост.
Что такое запрос на включение?
В некоторых моделях разработки совместная работа над проектом выглядит следующим образом: вы копируете проект из системы контроля версий, вносите изменения локально, а затем отправляете владельцу проекта запрос на одобрение ваших изменений и включение их в общую базу кода проекта.Этот запрос называется запросом на включение (или запросом на слияние, в зависимости от системы контроля версий).
Грубо говоря, пул-реквест — это способ сообщить владельцу репозитория или вашей команде, что вы сделали в проекте, и предложить включить ваши изменения в одну из общих веток разработки.
Владелец репозитория (или человек, который будет делать ваш код-ревью) может либо принять изменения (мерджить пул-реквест), либо отклонить их — например, если изменения противоречат видению автора проекта или во время написания кода.
В процессе проверки они решили, что код необходимо улучшить.
В проектах с открытым исходным кодом часто существуют требования к пул-реквестам, без которых пул-реквест не будет принят: например, наши коллеги из команды Kotlin просят разработчиков проследить, чтобы в описании пул-реквеста была ссылка на соответствующую задачу в YouTrack, в котором изменения в запросе на включение применяются только к указанным задачам, и что новый код выполняется правильно и покрывается тестами.
Зачем в трекере пулл-реквесты?
Создание и принятие/отклонение запросов на включение — такие же важные шаги в жизненном цикле задачи, как изменение статуса или привязка соответствующего коммита.Все эти шаги показывают ход выполнения задачи всем заинтересованным наблюдателям — например, сообществу проекта с открытым исходным кодом или руководителю проекта команды.
Например, если проблема не была закрыта из-за того, что конкретный запрос на включение был отклонен, эта информация должна быть отражена в истории проблемы — в том числе в ретроспективных целях, когда вам нужно понять, почему проблема оставалась открытой так долго.
Этот механизм делает процесс разработки более прозрачным и позволяет шаг за шагом отслеживать жизненный цикл задачи, не пропуская важных событий.
Просмотр запросов на включение в задачах
Вернемся к YouTrack: начиная с YouTrack 2020.3 разработчики смогут видеть запросы на включение от GitHub, GitLab, BitBucket, Gogs и Gitea в задачах рядом с коммитами.Для того, чтобы в задаче отображался пул-реквест вместе с его описанием, количеством обновленных файлов и информацией об авторе, нужно в заголовке пул-реквеста упомянуть соответствующую задачу (все в точности так, как указано).
то же, что и с коммитами).
Затем, после принятия или отклонения запроса на включение, YouTrack включит это событие в поток активности задачи вместе с автором события и статусом запроса на включение.
Получается, что лента изменений задач будет отображать весь жизненный цикл пул-реквеста — его создание и окончательное решение (отклонение или включение в кодовую базу).
Автоматизируйте это
Мы любим и активно используем автоматизацию, поэтому не могли упустить возможность использовать события из системы контроля версий в скриптах автоматизации.Теперь вы можете инициировать рабочий процесс YouTrack при добавлении запроса на включение или фиксации.
Кроме того, рабочие процессы теперь имеют доступ к свойствам коммитов и запросов на включение, таким как имя автора, описание или примечание.
Что это значит? Например, вы можете автоматически менять статус задачи в зависимости от статуса запроса на включение или отправить запрос на проверку кода коллеге при создании запроса на включение.
Этот простой скрипт автоматически переведет задачу в статус «Фиксировано» при объединении запроса на включение, а затем назначит ее руководителю отдела контроля качества с сообщением о том, что задача готова к тестированию:
Как и раньше, сценарии могут запускаться по расписанию или по определенному событию в зависимости от вашего процесса.var entities = require('@jetbrains/youtrack-scripting-api/entities'); var QA_LEAD = 'qa_superman'; exports.rule = entities.Issue.onChange({ title: 'Set_to_fixed_when_pull_request_is_merged_and_notify', guard: function(ctx) { return ctx.issue.pullRequests.isNotEmpty() && ctx.issue.pullRequests.last().
previousState && ctx.issue.pullRequests.last().
state.name !== ctx.issue.pullRequests.last().
previousState.name && ctx.issue.pullRequests.last().
state.name === "MERGED"; }, action: function(ctx) { var issue = ctx.issue; issue.State = ctx.State.Fixed; issue.Assignee = entities.User.findByLogin(QA_LEAD); issue.addComment("The issue is ready to be tested"); }, requirements: { State: { type: entities.State.fieldType, Fixed: { name: "Fixed" } }, } });
Подробности о рабочих процессах и о том, как их писать, можно найти.
Здесь .
Что еще интересно?
Конечно, мы не ограничились просмотром пул-реквестов.Среди других нововведений — новый виджет учета рабочего времени для панелей мониторинга (дашбордов), чтобы было удобнее следить за продуктивностью и не увлекаться переутомлением во время карантина.
Для удобной работы со списком задач мы добавили возможность отображать только незавершенные задачи в один клик и сортировать задачи по количеству комментариев.
В базе знаний появилась подсветка синтаксиса блоков кода с автоматическим определением языка программирования, а для любителей Markdown мы сделали возможность изменять размер прикрепляемых изображений, видео и других медиафайлов в задачах и статьях.
Также есть новости для тех, кто использует LDAP-сервер для управления учетными данными пользователей.
Раньше YouTrack позволял проходить аутентификацию с использованием учетных данных с LDAP-сервера, а теперь к этому добавилась синхронизация групп пользователей и атрибутов с LDAP-сервером по расписанию.
Это поможет поддерживать учетные данные и информацию о членстве в группах LDAP как можно более актуальными — например, это поможет предотвратить несанкционированный доступ к данным в трекере, если пользователь больше не является членом группы на вашем сервере LDAP, но все еще получает соответствующий доступ в трекере из-за задержки синхронизации между LDAP-сервером и YouTrack. Подробности обо всех изменениях можно найти на сайте наш сайт .
А если вы еще не знакомы с YouTrack или только начинаете с ним работать, добро пожаловать на наш бесплатная демоверсия Основы YouTrack. Теги: #Управление разработкой #Управление проектами #Управление продуктом #agile #vcs #pull request #отслеживание проблем #youtrack #управление задачами #отслеживание проблем
-
Обобщенный Алгоритм Визуальной Криптографии
19 Oct, 24 -
Точные Запросы
19 Oct, 24 -
Будьте Осторожны С Dealextreme.com
19 Oct, 24 -
Получите Все От Firefox Для Веб-Разработки
19 Oct, 24 -
Плагин Для Gulp — Сбор Файлов По Кусочкам
19 Oct, 24