Подключение Azure DevOps Server к GitHub (локально)
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
При подключении проекта Azure DevOps Server к репозиториям GitHub поддерживается связывание между фиксациями GitHub и запросами на вытягивание рабочих элементов. Вы можете использовать GitHub для разработки программного обеспечения, используя Azure Boards для планирования и отслеживания работы.
Примечание.
Локальная среда Azure DevOps Server 2020 поддерживает интеграцию с репозиториями GitHub.com и GitHub Enterprise Server. Если вы хотите подключиться из Azure DevOps Services, см. статью Connect Azure Boards to GitHub.
При подключении проекта Azure DevOps Server к репозиториям GitHub Enterprise Server поддерживается связывание между фиксациями GitHub и запросами на вытягивание рабочих элементов. Вы можете использовать GitHub Enterprise для разработки программного обеспечения при использовании Azure Boards для планирования и отслеживания работы.
Примечание.
Локальная среда Azure DevOps Server 2019 поддерживает интеграцию с репозиториями GitHub Enterprise Server. Если вы хотите подключиться из Azure DevOps Services, см. статью Connect Azure Boards to GitHub.
Необходимые компоненты
- Подключитесь к репозиториям GitHub.com, установив Azure DevOps Server 2020.1.1 с исправлением 2. Без этого исправления вы можете подключиться только к репозиториям GitHub Enterprise Server.
- Установите приложение Azure Boards для GitHub в организациях или учетной записи GitHub .
- Подключитесь к проекту Azure Boards или Azure DevOps. Если у вас еще нет проекта, создайте его.
- Вы должны быть членом группы "Администраторы коллекции проектов" и группы участников проекта. Если вы создали проект, у вас есть разрешения.
- Вы должны быть администратором GitHub Enterprise Server, к которому вы подключаетесь.
Варианты проверки подлинности
Поддерживаются следующие параметры проверки подлинности.
Примечание.
OAuth не поддерживается для Azure DevOps Server 2020.
Регистрация Azure DevOps в GitHub в качестве Приложение OAuth
Если вы планируете использовать OAuth для подключения Azure DevOps Server к GitHub Enterprise Server, сначала необходимо зарегистрировать приложение в качестве Приложение OAuth. Дополнительные сведения см. в статье "Создание Приложение OAuth".
Регистрация Сервера Azure DevOps
Войдите на веб-портал для сервера GitHub Enterprise.
Выберите параметры>>разработчика Oauth Apps>New Приложение OAuth.
Введите сведения для регистрации приложения Azure DevOps Server.
Для URL-адреса домашней страницы укажите общедоступный URL-адрес коллекции проектов. Этот URL-адрес можно найти при открытии консоли администрирования Azure DevOps и просмотре узла уровня приложений.
Для URL-адреса обратного вызова авторизации используйте следующий шаблон, чтобы создать URL-адрес.
{Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback
Например:
http://contoso/DefaultCollection/_admin/oauth2/callback
https://tfs.contoso.com/MyCollection/_admin/oauth2/callback
Выберите Register application (Зарегистрировать приложение).
Откроется страница, которая предоставляет идентификатор клиента и секрет клиента для зарегистрированного приложения OAuth.
Регистрация конфигурации OAuth в Azure DevOps Server
Войдите на веб-портал для сервера Azure DevOps.
Добавьте конфигурацию Oauth GitHub Enterprise в коллекцию Azure DevOps Server.
Выберите параметры Oauth для настройки>Oauth, чтобы добавить конфигурацию Oauth.>
Введите сведения и нажмите кнопку "Создать".
Подключение Azure DevOps Server к GitHub Enterprise Server
Вы можете подключить к проекту Azure Boards до 250 репозиториев GitHub.
Примечание.
Для подключения к более чем 100 репозиториям GitHub требуется обновление до Azure DevOps Server 2020.1 или более поздней версии.
Для подключения к репозиториям GitHub.com требуется azure DevOps Server 2020.1.1 с исправлением 2 или более поздней версией.
Вы можете подключить к проекту Azure Boards до 100 репозиториев GitHub. Это ограничение нельзя изменить.
Откройте веб-портал для сервера Azure DevOps.
Выберите логотип Azure DevOps, чтобы открыть Проекты, а затем выберите проект Azure Boards, который вы хотите настроить для подключения к репозиториям GitHub Enterprise.
Выберите параметры>проекта подключения GitHub.
Если это первый раз при подключении из проекта, выберите метод проверки подлинности, который вы хотите использовать для подключения:
- Личный маркер доступа см. в разделе "Подключение с помощью личного маркера доступа".
- Имя пользователя и пароль см. в разделе "Подключение с помощью имени пользователя и пароля".
В противном случае выберите новое подключение и выберите метод проверки подлинности в диалоговом окне "Создать подключение".
Выберите параметры>проекта подключения>GitHub Connect вашей учетной записи GitHub Enterprise.
Или выберите личный маркер доступа или имя пользователя и пароль, если вы используете эти учетные данные.
Подключение с помощью OAuth
Выберите конфигурацию, настроенную на шаге 4 регистрации конфигурации OAuth в Azure DevOps Server. Затем щелкните Connect (Подключиться).
Подключение с помощью личного маркера доступа
Сведения о создании PAT см. в статье "Создание личного маркера доступа".
Совет
При создании GitHub PAT убедитесь, что вы включаете следующие области:
repo, admin:repo_hook, read:user, user:email
Введите URL-адрес сервера GitHub Enterprise и учетные данные маркера личного доступа, распознанные этим сервером. А затем нажмите кнопку "Подключить".
Подключение с помощью имени пользователя и пароля
- Введите URL-адрес сервера GitHub Enterprise и учетные данные учетной записи администратора, распознанные этим сервером. Затем нажмите кнопку "Подключить".
В диалоговом окне перечислены все репозитории, для которых у вас есть права администрирования GitHub. Вы можете переключаться между "Шахта " и "Все ", чтобы определить, отображаются ли другие пользователи, а затем проверить те, которые нужно добавить. Нажмите кнопку "Сохранить " после завершения.
Чтобы подключиться к учетной записи или организации GitHub из Azure Boards в первый раз, вы также установите приложение Azure Boards для GitHub. Выполните интеграцию, выполнив процедуры, описанные в разделе "Подтверждение подключения".
Устранение неполадок с подключением
Интеграция Azure Boards-GitHub использует различные протоколы проверки подлинности для поддержки подключения. Изменения области разрешений пользователя или учетных данных проверки подлинности могут привести к отзыву репозиториев GitHub, подключенных к Azure Boards.
Общие сведения об интеграции, которую поддерживает приложение Azure Boards для GitHub, см. в статье об интеграции Azure Boards-GitHub.
Поддерживаемые параметры проверки подлинности
Следующие параметры проверки подлинности поддерживаются на основе платформы GitHub, к которой вы хотите подключиться.
Платформа
GitHub.com
GitHub Enterprise Server
Azure DevOps Services
- учетная запись пользователя GitHub.com
- Личный маркер доступа
- OAuth
- PAT
- Имя пользователя и пароль
Azure DevOps Server 2020
Нет данных
- PAT
- Имя пользователя и пароль
Сервер Azure DevOps 2019
Нет данных
- OAuth
- PAT
- Имя пользователя и пароль
Примечание.
С приложением Azure Boards для GitHub, Azure Boards и Azure DevOps Services интегрируются с репозиториями GitHub.com и GitHub Enterprise Server. Azure DevOps Server 2019 и более поздних версий поддерживают интеграцию только с репозиториями GitHub Enterprise Server. Интеграция с другими репозиториями Git не поддерживается.
Устранение проблем с доступом
Когда подключение Azure Boards к GitHub больше не имеет доступа, оно отображает состояние оповещения в пользовательском интерфейсе с красным X. Наведите указатель мыши на оповещение и указывает, что учетные данные больше не допустимы. Чтобы устранить проблему, удалите подключение и создайте новое подключение.
Если подключение Azure Boards к GitHub больше не имеет доступа, в пользовательском интерфейсе отображается состояние оповещения с подсказкой red-X, например не удается подключиться к GitHub.
Рассмотрим следующие решения:
Если подключение использует OAuth:
Приложение Azure Boards было отказано в доступе для одной из репозиториев.
GitHub может быть недоступным или недоступным. Эта недоступность может быть вызвана сбоем в службе или локальной проблеме инфраструктуры или сети. Состояние службы можно проверить со следующими ссылками:
Удалите и повторно создайте подключение к репозиторию GitHub. Это повторное подключение приводит к тому, что GitHub запрашивает повторную проверку подлинности Azure Boards.
Если подключение использует PAT:
Возможно, ПАТ был отозван или изменены необходимые области разрешений и недостаточно.
Возможно, пользователь потерял разрешения администратора в репозитории GitHub.
Повторно создайте PAT и убедитесь, что область для маркера включает необходимые разрешения:
repo, read:user, user:email, admin:repo_hook
Обновление определений XML для выбора типов рабочих элементов
Если в организации используется модель размещенного XML-процесса или локального xml-процесса для настройки интерфейса отслеживания работы, и вы хотите связаться с типами ссылок GitHub из раздела "Разработка" в формах рабочих элементов, необходимо обновить определения XML для типов рабочих элементов.
Например, если вы хотите связать пользовательские истории и ошибки с фиксациями GitHub и вытягивать запросы из раздела "Разработка ", необходимо обновить xml-определения для пользовательских историй и ошибок.
Следуйте последовательности задач, предоставленных в модели процесса размещенного XML, чтобы обновить определения XML. Для каждого типа рабочего элемента найдите Group Label="Development"
раздел и добавьте следующие две строки в следующем синтаксисе кода для поддержки типов внешних ссылок: GitHub Commit и GitHub Pull Request.
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
При обновлении раздел должен отображаться следующим образом.
<Group Label="Development">
<Control Type="LinksControl" Name="Development">
<LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">
<ListViewOptions GroupLinks="false">
</ListViewOptions>
<LinkFilters>
<ExternalLinkFilter Type="Build" />
<ExternalLinkFilter Type="Integrated in build" />
<ExternalLinkFilter Type="Pull Request" />
<ExternalLinkFilter Type="Branch" />
<ExternalLinkFilter Type="Fixed in Commit" />
<ExternalLinkFilter Type="Fixed in Changeset" />
<ExternalLinkFilter Type="Source Code File" />
<ExternalLinkFilter Type="Found in build" />
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
</LinkFilters>
</LinksControlOptions>
</Control>
</Group>