Я был давним сторонником шаблонов запросов на вытягивание. Эти шаблоны позволяют давать инструкции разработчикам, создающим запросы на вытягивание в ваших репозиториях, чтобы им напоминали о включении всей соответствующей информации, необходимой для надлежащего просмотра их кода. Шаблоны запросов на вытягивание — отличное место для включения контрольных списков в качестве дополнительных напоминаний. Это могут быть такие задачи, как не забыть написать модульные тесты, самостоятельно проверить свой код или провести аудит безопасности.

Однако иногда эти контрольные списки могут быть длинными. У вас может быть так много важных элементов, что разработчики начинают их игнорировать. Или, возможно, некоторые элементы контрольного списка актуальны только в определенных ситуациях или при изменении определенных файлов. Хотя каждый элемент важен, они не всегда применимы.

Было бы неплохо, если бы контрольные списки запросов на вытягивание могли быть динамическими и отображать только актуальные напоминания?

CodeSee Code Automation поможет вам в этом! С помощью Code Automation вы можете настроить триггеры на основе правил для автоматического добавления комментариев контрольного списка к запросу на вытягивание при выполнении определенных условий.

В этой статье мы рассмотрим некоторые шаблоны автоматизации кода CodeSee и покажем, как мы можем включить один из них в нашу собственную кодовую базу. Готовы начать?

Шаблоны автоматизации

На сайте CodeSee есть несколько разных шаблонов автоматизации, которые мы можем использовать в качестве вдохновения. Например, есть контрольные списки для добавление значков, создание миграции, добавление нового пакета npm или создание новой конечной точки API.

Для нашей демонстрации мы изучим контрольный список значков и изменим его в соответствии с нашими потребностями.

Наш репозиторий вымышленных иконок

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

Достаточно просто, не так ли? Проблема в том, что SVG-файл из дизайнера часто бывает грязным. Обычно эти файлы будут иметь случайные атрибуты идентификатора. В файле могут быть лишние комментарии или ненужный код. Имя файла, вероятно, не будет соответствовать тому же шаблону, что и другие файлы значков. Кроме того, может потребоваться дополнительная настройка кода, помимо простой фиксации нового файла SVG. Разработчику может потребоваться обновить основной список, в который экспортируются значки, или обновить некоторую документацию или примеры сборника рассказов.

Некоторые разработчики могут просто добавить файл SVG, не задумываясь об этих дополнительных шагах.

Таким образом, решение состоит в том, чтобы иметь контрольный список, напоминающий разработчикам, что им нужно делать при добавлении нового значка. Этот контрольный список может существовать в README или в шаблоне запроса на вытягивание, и я настоятельно рекомендую вам сделать обе эти вещи.

Но даже в этом случае разработчики иногда просто не читают документы. Они игнорируют инструкции и слепо идут вперед.

Чтобы решить эту проблему, давайте добавим триггер автоматизации кода, чтобы разработчик получал свежие напоминания с комментарием контрольного списка при создании своего запроса на включение.

Добавление шаблона автоматизации контрольного списка значков

Для начала нам сначала нужно предоставить CodeSee доступ к нашему репозиторию GitHub со страницы настроек.

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

Мы нажмем кнопку Добавить триггер, чтобы открыть страницу «Новый триггер».

На этой странице мы можем добавить имя и репозиторий к нашему триггеру, а затем указать условия и действия. В нашем случае мы хотим, чтобы условие выполнялось всякий раз, когда новый файл добавляется в каталог `src/icons`.

Когда это условие выполнено, мы хотим, чтобы CodeSee автоматически прокомментировал запрос на вытягивание несколькими пунктами контрольного списка. Мы добавили сюда три элемента, но вы можете добавить столько элементов, сколько хотите.

После того, как мы закончим редактирование, мы можем нажать кнопку «Сохранить», чтобы сохранить наши изменения. Таким образом, мы только что создали наш первый динамический контрольный список! Давайте посмотрим на эту автоматику в действии.

В нашем репозитории кода давайте добавим новый файл SVG в каталог src/icons. Затем давайте создадим новую ветку и отправим запрос на включение, чтобы объединить нашу ветку с основной веткой.

Как только наш запрос на вытягивание будет создан, вы заметите, что бот CodeSee автоматически комментирует наш запрос на вытягивание с контрольным списком напоминаний. Тоже хорошо, потому что мы забыли сделать эти вещи!

Заключение

Вот и все! Всего за несколько минут мы добавили контрольный список, чтобы помочь нашим разработчикам улучшить процесс добавления значков. Мы сделали ожидания кода ясными и выделили возможные элементы, которые разработчик мог пропустить.

И, что лучше всего, мы добавили эти комментарии динамически, показывая их только тогда, когда это действительно необходимо. Если бы разработчик внес в этот репозиторий другой вклад, не связанный с добавлением нового значка, он вообще не увидел бы эти комментарии.

Круто то, что это только начало. Мы можем добавить в наш репозиторий всевозможные другие шаблоны автоматизации. И эти триггеры могут делать больше, чем просто добавлять комментарии к контрольному списку. Они также позволяют автоматически назначать рецензентов для запроса на вытягивание, если требуется опыт определенных разработчиков или команд.

С помощью CodeSee Code Automation мы можем легко внедрять лучшие практики и делиться знаниями.