Поделиться через


Подключение Azure DevOps Server к GitHub (локально)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

При подключении проекта Azure DevOps Server к репозиториям GitHub поддерживается связывание между фиксациями в GitHub и pull-запросами на рабочие элементы. Вы можете использовать GitHub для разработки программного обеспечения, используя Azure Boards для планирования и отслеживания работы.

Примечание.

Локальная среда Azure DevOps Server 2020 поддерживает интеграцию с репозиториями GitHub.com и GitHub Enterprise Server. Если вы хотите подключиться из Azure DevOps Services, см. статью Connect Azure Boards to GitHub.

Предварительные условия

Категория Требования
Разрешения — Член администраторов коллекции проектов групп и группы участников проекта участников проекта. Если вы создали проект, у вас есть разрешения.
- Администратор сервера GitHub Enterprise, к которому вы подключаетесь.
членство в проекте член проекта.
интеграция с GitHub — Azure DevOps Server 2020.1.1 Патч 2. Без этого исправления вы можете подключиться только к репозиториям GitHub Enterprise Server.
- приложение Azure Boards для GitHub, установленное в организациях или учетной записи GitHub.

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

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

Примечание.

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

Подключение 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 или более поздняя версия.

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

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

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

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

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

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

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

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

  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. Наведите указатель мыши на оповещение, и оно покажет, что учетные данные больше недействительны. Чтобы устранить проблему, удалите подключение и создайте новое подключение.

Снимок экрана: сбой подключения.

Рассмотрим следующие решения:

  • Если подключение использует 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>  

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