Улучшение описания запросов на вытягивание с помощью шаблонов

Azure DevOps Services | Azure DevOps Server 2022 г. - Azure DevOps Server 2019 г.

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

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

Примечание

Шаблоны запросов на вытягивание могут предоставлять рекомендации, но являются только рекомендациями. Используйте политики ветвей для применения рекомендаций, таких как требование запросов на вытягивание для ключевых ветвей, таких как main, требование успешной сборки и принудительное применение необходимых рецензентов. Дополнительные сведения см. в разделе Политики ветвей.

Что такое шаблон запроса на вытягивание?

Шаблон запроса на вытягивание — это файл, содержащий текст Markdown , который добавляется в описание запроса на вытягивание при создании запроса на вытягивание.

Thank you for your contribution to the Fabrikam Fiber repo. 
Before submitting this PR, please make sure:

- [ ] Your code builds clean without any errors or warnings
- [ ] You are using approved terminology
- [ ] You have added unit tests

Azure Repos позволяет создавать следующие типы шаблонов запросов на вытягивание:

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

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

Примечание

Все файлы шаблонов запросов на вытягивание должны находиться в ветвь по умолчанию (обычно main) репозитория. Используются только файлы шаблонов запросов на вытягивание из ветвь по умолчанию.

Шаблоны запросов на вытягивание по умолчанию

Шаблоны запросов на вытягивание по умолчанию автоматически применяются к полю описания при создании нового запроса на вытягивание. Чтобы настроить репозиторий с шаблоном запроса на вытягивание по умолчанию, создайте файл с именем pull_request_template.md или pull_request_template.txt и сохраните его в ветвь по умолчанию репозитория в одной из следующих папок.

  • Папка с именем .azuredevops , содержащаяся в корневой папке репозитория.
  • Папка с именем .vsts , содержащаяся в корневой папке репозитория.
  • Папка с именем docs , содержащаяся в корневой папке репозитория.
  • Корневая папка репозитория

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

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

Шаблон запроса на вытягивание по умолчанию

При необходимости можно изменить или добавить в это описание и добавить дополнительные шаблоны запросов на вытягивание , выбрав их в раскрывающемся списке Добавление шаблона .

Примечание

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

Шаблоны запросов на вытягивание для конкретных ветвей

Шаблоны запросов на вытягивание для конкретных ветвей можно настроить для запросов на вытягивание, предназначенных для определенной ветви. Чтобы настроить репозиторий с шаблоном запроса на вытягивание для конкретной ветви, создайте .txt файл или .md с именем своей ветви. Имя должно соответствовать первому уровню имени ветви, например main, dev, releaseили feature. Каждый шаблон запроса на вытягивание для каждой ветви применяется каждый раз, когда запрос на вытягивание предназначен для этой ветви или любых ветвей, содержащихся в ней. Например, шаблон запроса на вытягивание с именем feature.md будет применяться, если запрос на вытягивание ориентирован на ветвь feature или любую feature/* ветвь.

Шаблоны запросов на вытягивание для конкретных ветвей должны быть сохранены в ветвь по умолчанию репозитория, используя следующую иерархию папок: pull_request_template/branches/. Эти папки должны находиться в одной из следующих папок в репозитории.

  • Папка с именем .azuredevops , содержащаяся в корневой папке репозитория.
  • Папка с именем .vsts , содержащаяся в корневой папке репозитория.
  • Папка с именем docs , содержащаяся в корневой папке репозитория.
  • Корневая папка репозитория

Например, шаблон запроса на вытягивание для конкретной ветви, который должен применяться ко всем запросам на вытягивание в dev ветвь, будет называться dev.md или dev.txt и находиться в одном из следующих расположений.

  • <repository root>/.azuredevops/pull_request_template/branches/
  • <repository root>/.vsts/pull_request_template/branches/
  • <repository root>/docs/pull_request_template/branches/
  • <repository root>/pull_request_template/branches/

Как и шаблоны запросов на вытягивание по умолчанию, предоставляется несколько расположений, что обеспечивает гибкость в том, где хранятся шаблоны запросов на вытягивание для конкретных ветвей. При создании запроса на вытягивание Azure Repos выполняет поиск в указанных папках в порядке, указанном для шаблона запроса на вытягивание для конкретной ветви, и использует первый из них, соответствующий имени ветви. Если шаблон запроса на вытягивание для конкретной ветви не найден, Azure Repos выполните поиск шаблона запроса на вытягивание по умолчанию, как описано в предыдущем разделе Шаблоны запросов на вытягивание по умолчанию.

Шаблон запроса на вытягивание для конкретной ветви

Дополнительные шаблоны запросов на вытягивание

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

  • <repository root>/.azuredevops/pull_request_template/
  • <repository root>/.vsts/pull_request_template/
  • <repository root>/docs/pull_request_template/
  • <repository root>/pull_request_template/

При создании запроса на вытягивание можно добавить любой из доступных шаблонов запросов на вытягивание, выбрав их в раскрывающемся списке Добавление шаблона . Имена в раскрывающемся списке основаны на именах файлов шаблонов.

В следующем примере перечислены три шаблона.

  • dev.md — Это шаблон конкретной ветви, который был применен по умолчанию к этому запросу на вытягивание в ветвь разработки, как указано в сообщении по умолчанию , указанном после имени файла.
  • additional.md — Это дополнительный шаблон.
  • pull_request_template.md — Обычно это шаблон по умолчанию, но он был переопределен шаблоном конкретной dev.md ветви в этом запросе на вытягивание. Несмотря на то, что он не был добавлен по умолчанию, его все равно можно применить, выбрав его из списка.

Дополнительный шаблон запроса на вытягивание

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

Добавлен дополнительный шаблон запроса на вытягивание

Примечание

Вы можете указать шаблон запроса на вытягивание, чтобы переопределить любой соответствующий запрос на вытягивание по умолчанию или ветвям, добавив ?template=name.md в строку запроса.

См. также раздел