Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
В этой статье вы узнаете, как связать рабочие элементы с коммитами GitHub, запросами на включение, ветвями и сборками после подключения проекта Azure Boards к репозиторию GitHub. Используйте синтаксис #mention для фиксаций и ветвей, используйте упоминания ! для ссылки на запросы на включение GitHub в обсуждениях рабочих элементов или добавьте ссылку на фиксацию, запрос на включение или ветвь GitHub непосредственно из рабочего элемента Azure Boards.
Note
GitHub поддержка интеграции:
- Azure DevOps Services: интегрируется с репозиториями GitHub.com и GitHub Enterprise Server через приложение Azure Boards для GitHub.
- Azure DevOps Server 2020 и более поздних версий: поддерживает интеграцию только с репозиториями enterprise Server GitHub.
- Другие репозитории Git: интеграция не поддерживается.
Tip
Вы можете использовать ИИ, чтобы помочь с этой задачей далее в этой статье или см. включение ИИ-помощи с помощью Azure DevOps MCP Server, чтобы приступить к работе.
Prerequisites
| Category | Requirements |
|---|---|
| Разрешения | У вас есть доступ участника как к проекту Azure Boards, так и к репозиторию GitHub. |
| Подключение к проекту | Подключите проект Azure Boards к репозиторию GitHub, содержащему коммиты, запросы на включение и ветки, которые нужно связать. Дополнительные сведения см. в интеграции Azure Boards-GitHub. |
Note
Если в вашем проекте используется модель процесса Hosted XML, обновите типы рабочих элементов, чтобы увидеть раздел Development и типы ссылок GitHub. Дополнительные сведения см. в разделе "Обновление xml-определений" для выбора типов рабочих элементов.
Используйте AB# для ссылки из GitHub на рабочие элементы Azure Boards
Используйте упоминания AB# в тексте GitHub, чтобы ссылаться на рабочие элементы Azure Boards.
Чтобы создать ссылку, выполните приведенные выше действия.
- Добавьте
AB#{ID}в сообщение коммита, описание запроса на слияние или описание задачи. - Отправьте коммит или сохраните pull request либо issue.
- Откройте рабочий элемент, чтобы подтвердить, что ссылка появится в разделе "Разработка ".
Использование AB#ID в комментарии или в заголовке запроса на включение изменений не создает ссылку на рабочий элемент.
AB#{ID}
Например, AB#125 ссылается на рабочий элемент с ID 125.
Вы также можете переводить рабочие элементы из текста коммита или пул-реквеста. Azure Boards распознает {state} или {state category} и ключевые слова, такие как fix, fixesи fixedзатем применяет этот переход к следующей AB# ссылке.
Если описание запроса на вытягивание содержит допустимое имя состояния, например, Closed AB#1234, система обновляет указанный рабочий элемент к этому конкретному состоянию. Если имя состояния не распознается напрямую, Azure Boards пытается сопоставить его с категорией рабочего процесса, например Resolved или Completed. Если совпадение найдено, рабочий элемент переходит в первое доступное состояние, определенное в этой категории.
По умолчанию рабочие элементы, ссылающиеся на fix, fixes или fixed, переходят в первое состояние, связанное с категорией Resolved. Если такое состояние отсутствует в текущем процессе, система вместо этого переместит рабочий элемент в первое состояние в категории "Завершено ".
Important
Вы по-прежнему можете связать рабочие элементы и нацеливаться на другие ветви, но правила перехода состояния не применяются, если только запрос на вытягивание не объединен в ветвь по умолчанию.
Дополнительные сведения см. в разделе Как используются состояния категорий рабочего процесса в невыполненных работах и досках Azure Boards.
Используйте следующие примеры, содержащие только ссылки:
| Сообщение о фиксации или пул-реквесте. | Action |
|---|---|
AB#123 |
Связывает рабочий элемент 123 в Azure Boards. Переход состояния не происходит. |
Adds a new feature, AB#123. |
Связывает с рабочим элементом 123 в Azure Boards. Переход состояния не происходит. |
AB#123, AB#124, and AB#126 |
Связывает рабочие элементы 123, 124 и 126 в Azure Boards. Переход состояния не происходит. |
Fixing multiple bugs: issue #123 and user story AB#234 |
Ссылки на задачу GitHub 123 и работу Azure Boards 234. Переходы не осуществляются. |
Используйте следующие примеры ссылок и перехода:
| Сообщение о фиксации или пул-реквесте. | Action |
|---|---|
Fixed AB#123 |
Связывает и перемещает рабочий элемент в категорию состояния разрешенного рабочего процесса или, если он не определен, то категория состояния завершенного рабочего процесса. |
Closed AB#123 |
Связывает и перемещает рабочий элемент в состояние закрытого рабочего процесса. Если ни один из них не определен, переходы не выполняются. |
Adds a new feature, fixes AB#123. |
Связывает и перемещает рабочий элемент в категорию состояния разрешенного рабочего процесса или, если он не определен, то категория состояния завершенного рабочего процесса. |
Fixes AB#123, AB#124, and AB#126 |
Ссылки на рабочие элементы Azure Boards 123, 124 и 126. Перемещает только первый элемент, 123, в категорию состояния разрешенного рабочего процесса или, если он не определен, то категория состояния завершенного рабочего процесса. |
Fixes AB#123, Fixes AB#124, Fixes AB#125 |
Ссылки на рабочие элементы Azure Boards 123, 124 и 125. Перемещает все элементы в категорию состояния рабочего процесса «Разрешено» или, если она не определена, то категорию состояния рабочего процесса «Завершено». |
Note
Если вы подключили один и тот же репозиторий GitHub к проектам, определенным в двух или более организациях Azure DevOps, вы можете столкнуться с неожиданным связыванием упоминаний AB#. Дополнительные сведения см. в разделе "Устранение проблем с подключением". По этой причине рекомендуется подключить только репозиторий GitHub к проектам, определенным в одной организации Azure DevOps.
При добавлении ссылки на рабочий элемент с помощью AB# в описании pull request, эти ссылки отображаются в разделе Development pull request в GitHub. Эти ссылки доступны только при использовании AB# в описании запроса на вытягивание. Они не отображаются, если вы переходите по ссылке из рабочего элемента к pull request. Удаление AB# ссылки из описания также удаляет ее из раздела "Разработка".
Создание ветви GitHub из рабочего элемента
Чтобы создать ветвь GitHub непосредственно из рабочего элемента, выполните следующие действия.
Найдите рабочий элемент, который вы хотите использовать для создания ветки на GitHub.
Выберите действия
Work item actions>New GitHub branch.
В диалоговом окне Create GitHub branch введите имя ветви. Выберите репозиторий GitHub и базовую ветвь.
Нажмите кнопку "Создать".
Azure Boards создает ветвь в указанном репозитории GitHub и связывает ее с рабочим элементом. Дополнительные сведения см. в интеграции Azure Boards-GitHub.
Добавление ссылки на рабочий элемент к ветке, коммиту или pull request в GitHub
Откройте рабочий элемент и перейдите в область разработки .
Выберите " Добавить ссылку". В каждом раскрывающемся меню выберите ваш тип ссылки, репозиторий GitHub и запрос на вытягивание GitHub. Вы можете выполнять поиск и углублённый поиск в репозитории, чтобы найти и выбрать конкретный запрос на вытягивание или коммит, без необходимости копировать и вставлять URL-адрес.
Выберите " Добавить ссылку".
Azure Boards выполняет проверку, чтобы убедиться, что введена действительная ссылка. Связанный с GitHub репозиторий должен быть подключен к проекту Azure Boards или проверка не будет пройдена.
Note
Если вы используете Azure DevOps Server и GitHub Enterprise Server, возникает задержка при обработке ссылок AB#. Процесс использует модель push-and-pull для извлечения данных из событий GitHub каждый час, чтобы отслеживать инкрементные изменения в коммитах, PR и задачах.
Автоматическое обновление ссылок
Несколько событий автоматически обновляют ссылки в форме рабочего элемента, поэтому их не нужно создавать вручную. К этим событиям относятся:
| событие GitHub | Action |
|---|---|
| Ссылка на ветвь | При создании запроса на вытягивание из ветки он автоматически связывается с соответствующим рабочим элементом. |
| Фиксация слияния | После объединения пул-реквеста результирующий коммит слияния автоматически связывается с рабочим элементом. |
| Удаление ветви | Если ветвь удаляется (обычно после объединения), ее ссылка автоматически удаляется из рабочего элемента. |
Просмотр или открытие ссылок из раздела "Разработка"
В разделе "Разработка" формы рабочего элемента перечислены ссылки, созданные на коммиты и pull requests в GitHub с использованием значка
GitHub.
Выберите ссылку, чтобы открыть коммит или pull-реквест в GitHub.
GitHub информация о pull request
В разделе Development связанные pull request'ы GitHub показывают дополнительные сведения о статусе. Вы можете оценить прогресс, не открывая pull request в GitHub.
Предварительные требования для инcайтов по пулл-реквестам
Чтобы просмотреть аналитику по запросу на пулл-реквест, откройте приложение Azure Boards в GitHub и примите обновленные разрешения на чтение и запись для Проверок.
Просмотр статуса пул-реквеста
Откройте рабочий элемент, имеющий связанный GitHub pull запрос.
В разделе "Разработка" найдите связанный pull request. Следующие сведения о состоянии отображаются рядом со ссылкой на pull request:
- Состояние черновика: показывает, является ли запрос на вытягивание черновиком.
- Статус проверки: показывает, требует ли запрос на включение изменений проверки, одобрен ли он или требуются ли изменения.
- Проверяет состояние: показывает, успешно проходят ли проверки CI, завершаются ли они с ошибками или находятся в ожидании.
Наведите указатель мыши на индикатор состояния, чтобы увидеть подробности, или выберите ссылку pull request, чтобы открыть её прямо в GitHub.
Указывайте GitHub pull-запросы с помощью !
Используйте ! упоминания, чтобы ссылаться и обсуждать запросы на извлечение GitHub непосредственно из любого поля с форматированным текстом рабочего элемента или комментария для обсуждения. Когда вы вводите ! в текстовом поле, появляется селектор, с помощью которого можно искать и выбирать запрос на извлечение GitHub из подключенного репозитория. Выбранный pull request вставляется в виде ссылки, щелчок по которой доступен.
Эта функция позволяет легко ссылаться на связанные pull requests в описаниях рабочих элементов, критериях принятия или потоках обсуждения, не копируя URL-адреса вручную.
Отображение статуса сборки для конвейеров на YAML (входит в состав сборки)
При использовании Azure Pipelines YAML для сборки кода, размещенного в репозитории GitHub, вы можете автоматически создавать связи интеграция в сборке на связанные с этим элементы рабочего процесса. Эта функция обеспечивает трассировимость сборки для репозиториев GitHub, достигая равенства с возможностями, доступными для Azure Repos.
Чтобы включить эту функцию:
Откройте конвейер YAML, выберите
"Дополнительные действия" и выберите "Параметры".В диалоговом окне "Параметры конвейера" включите автоматическое связывание новых рабочих элементов в этой сборке.
Когда сборка завершится, в разделе "Разработка" каждого связанного рабочего элемента автоматически отображается ссылка "Интегрировано в сборке", обеспечивая команде полную трассировку от рабочего элемента к сборке.
Дополнительные сведения о настройке этого параметра см. в разделе "Настройка конвейеров для поддержки отслеживания работы".
Просмотр объектов GitHub на доске
Когда вы включаете аннотации GitHub на доске, можно быстро открывать связанные коммиты GitHub, pull-запросы или задачи, чтобы получить более подробную информацию. Дополнительные сведения см. в разделе "Настройка карточек".
Используйте ИИ, чтобы связывать рабочие процессы в GitHub и управлять ими
Если настроить Azure DevOps MCP Server, можно описывать задачи по связыванию GitHub с рабочими элементами на естественном языке, вместо того чтобы вручную заполнять форму рабочего элемента.
Используйте эти запросы в качестве примеров сценариев. Поддерживаемые операции зависят от настроенных наборов инструментов, версии расширения и разрешений.
Некоторые запросы могут возвращать рекомендации вместо выполнения действия записи или требовать несколько запросов в зависимости от включенных средств MCP.
Перед запуском промпта замените плейсхолдеры, такие как <Contoso>, <owner/repo> и <sha>, своими фактическими значениями.
Используйте этот быстрый поток выполнения и проверки:
- Выполните один запрос из таблицы.
- Просмотрите ответ на действия, выполненные.
- Откройте рабочий элемент и подтвердите результат в разделе "Разработка ".
- Откройте связанный артефакт GitHub и подтвердите ожидаемую ссылку или обновление.
Сначала попробуйте выполнить следующие запросы:
Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha>Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso>
| задачи | Пример запроса |
|---|---|
| Связать рабочий элемент с пул-реквестом | Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42 |
| Связать рабочий элемент с коммитом | Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha> |
| Связывание рабочего элемента с проблемой | Link work item AB#500 in project <Contoso> to GitHub issue <owner/repo>#10 |
| Создание ветви GitHub из рабочего элемента | Create a GitHub branch named feature/checkout for work item 500 in project <Contoso> from repo <owner/repo> base branch main |
| Обновить состояние связанного рабочего элемента после слияния PR | After PR <owner/repo>#42 merges, update linked work item AB#125 to Resolved |
| Массовое связывание связанных рабочих элементов | Link all active user stories in area path <Contoso\\Web> to GitHub PR <owner/repo>#42 |
| Найти несвязанные рабочие элементы | List all closed work items in project <Contoso> from the last 30 days that have no linked GitHub pull request |
| Сводно опишите активность GitHub для рабочего элемента | Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso> |
| Добавление ссылки AB# на PR | Suggest an AB# reference line to add to PR <owner/repo>#42 description that links to work items 125 and 126 |
| Проверьте статус связанных PR | Show the review and check status of all GitHub pull requests linked to active user stories in project <Contoso> |
Note
Если вы используете Visual Studio Code, используйте режим агента. Для доступа к данным Azure DevOps и выполнения операций серверу MCP для Azure DevOps требуется режим агента.
Устранение неполадок при связывании с помощью искусственного интеллекта
- Если запрос не выполняется, убедитесь, что режим агента включен в клиенте ИИ.
- Если запрос завершается ошибкой доступа, убедитесь, что у вашей учетной записи есть доступ к проекту Azure DevOps и репозиторию GitHub.
- Если ссылки не созданы, замените все заполнители (например,
<Contoso>,<owner/repo>, )<sha>реальными значениями и снова запустите запрос. - Если массовый запрос завершается ошибкой, сначала повторите попытку с одним рабочим элементом, а затем повторите попытку с меньшим пакетом.
- Если результаты по-прежнему не соответствуют ожиданиям, проверьте результат в разделе Development рабочего элемента и в связанном артефакте GitHub.