Бөлісу құралы:


Подключение 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 Enterprise Server, к которому вы подключаетесь.
членство в проекте член проекта.
интеграция с GitHub — Azure DevOps Server 2020.1.1 Патч 2. Без этого исправления вы можете подключиться только к репозиториям GitHub Enterprise Server.
- приложение Azure Boards для GitHub, установленное в организациях или учетной записи GitHub.

Варианты проверки подлинности

Поддерживаются следующие параметры проверки подлинности.

Примечание.

OAuth не поддерживается для Azure DevOps Server 2020.

Регистрация Azure DevOps в GitHub в качестве Приложение OAuth

Если вы планируете использовать OAuth для подключения Azure DevOps Server к GitHub Enterprise Server, сначала необходимо зарегистрировать приложение в качестве Приложение OAuth. Дополнительные сведения см. в статье "Создание Приложение OAuth".

Регистрация Сервера Azure DevOps

  1. Войдите на веб-портал для сервера GitHub Enterprise.

    Снимок экрана: вход для GitHub Enterprise Server.

  2. Выберите >

    Снимок экрана: последовательность получения на экран

  3. Введите сведения для регистрации приложения Azure DevOps Server.

    Снимок экрана: регистрация проекта Azure DevOps Server.

    Для URL-адреса домашней страницы укажите общедоступный URL-адрес коллекции проектов. Этот URL-адрес можно найти при открытии консоли администрирования Azure DevOps и просмотре узла уровня приложений.

    Снимок экрана: консоль администрирования сервера 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

  4. Выберите Register application (Зарегистрировать приложение).

  5. Откроется страница, которая предоставляет идентификатор клиента и секрет клиента для зарегистрированного приложения OAuth.

    Снимок экрана: идентификатор клиента и секрет клиента для зарегистрированного приложения OAuth.

Регистрация конфигурации OAuth в Azure DevOps Server

  1. Войдите на веб-портал для сервера Azure DevOps.

  2. Добавьте конфигурацию Oauth GitHub Enterprise в коллекцию Azure DevOps Server.

  3. Выберите

    Снимок экрана: последовательность шагов для добавления конфигурации OAuth.

  4. Введите сведения и нажмите кнопку "Создать".

    Снимок экрана: диалоговое окно конфигурации 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. Это ограничение нельзя изменить.

  1. Откройте веб-портал для сервера Azure DevOps.

  2. Выберите логотип Azure DevOps, чтобы открыть Проекты, а затем выберите проект Azure Boards, который вы хотите настроить для подключения к репозиториям GitHub Enterprise.

  1. Выберите параметры>проекта подключения GitHub.

    Снимок экрана: открытие подключений>GitHub параметров проекта.

  2. Если это первый раз при подключении из проекта, выберите метод проверки подлинности, который вы хотите использовать для подключения:

    Снимок экрана: первый раз при подключении с учетными данными GitHub.

    В противном случае выберите новое подключение и выберите метод проверки подлинности в диалоговом окне "Создать подключение".

  1. Выберите настройки проекта>подключения GitHub>Подключите вашу учетную запись GitHub Enterprise или выберите другие параметры аутентификации, что мы не рекомендуем.

    Снимок экрана: параметры проекта, выбранные интеграции.

Подключение с помощью OAuth

Выберите конфигурацию, настроенную на шаге 4 регистрации конфигурации OAuth в Azure DevOps Server. Затем щелкните Connect (Подключиться).

Снимок экрана: новое подключение GitHub Enterprise, диалоговое окно OAuth.

Подключение с помощью личного маркера доступа

  1. Сведения о создании PAT см. в статье "Создание личного маркера доступа".

    Совет

    При создании GitHub PAT убедитесь, что вы включаете следующие области: repo, admin:repo_hook, read:user, user:email

  2. Введите URL-адрес сервера GitHub Enterprise и учетные данные маркера личного доступа, распознанные этим сервером. А затем нажмите кнопку "Подключить".

Снимок экрана: вход с помощью PAT.

Подключение с помощью учетных данных GitHub

  1. Введите URL-адрес сервера GitHub Enterprise и учетные данные учетной записи администратора, распознанные этим сервером. Затем нажмите кнопку "Подключить".

снимок экрана входа с учетными данными GitHub.

  1. В диалоговом окне перечислены все репозитории, для которых у вас есть права администрирования GitHub. Вы можете переключаться между "Шахта " и "Все ", чтобы определить, отображаются ли другие пользователи, а затем проверить те, которые нужно добавить. Нажмите кнопку "Сохранить " после завершения.

    Снимок экрана: репозитории, которые нужно добавить.

  2. Чтобы подключиться к учетной записи или организации 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
  • Учетные данные GitHub

Azure DevOps Server 2020

Нет данных

  • PAT
  • Учетные данные GitHub

Сервер Azure DevOps 2019

Нет данных

  • OAuth
  • PAT
  • Учетные данные GitHub

Примечание.

С приложением 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:

    • PAT был отозван, или изменились необходимые области разрешений, и они недостаточны.

    • Возможно, пользователь потерял административные разрешения в репозитории GitHub.

      Повторно создайте PAT и убедитесь, что область для маркера включает необходимые разрешения: repo, read:user, user:email, admin:repo_hook Для получения дополнительной информации см. рекомендации по использованию PATs.

Обновление определений XML для выбора типов рабочих элементов

Если организация настраивает отслеживание работы с помощью модели процесса размещенного XML или локального XML-процесса и хочет интегрировать типы ссылок GitHub в раздел "Разработка" форм рабочих элементов, необходимо обновить определения XML для соответствующих типов рабочих элементов.

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

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

  1. Найдите раздел Group Label="Development".
  2. Чтобы поддерживать типы внешних ссылок, GitHub Commit и GitHub Pull Request, добавьте следующие строки кода:

Эта интеграция позволяет легко отслеживать действия GitHub непосредственно из рабочих элементов в Azure Boards.

             <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>  

Следующие шаги