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


Подключение 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.

Необходимые компоненты

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

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

Примечание.

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. Выберите параметры>>разработчика Oauth Apps>New Приложение OAuth.

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

  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 для настройки>Oauth, чтобы добавить конфигурацию Oauth.>

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

Подключение с помощью имени пользователя и пароля

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

Снимок экрана: вход с именем пользователя и паролем.

  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
  • Имя пользователя и пароль

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>  

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