Подключение Azure Boards to GitHub (cloud)

Azure DevOps Services

Используйте GitHub.com репозитории для разработки программного обеспечения и проекта Azure Boards для планирования и отслеживания работы. Подключение проект и репозиторий, чтобы ваши GitHub фиксации и запросы на вытягивание были связаны с рабочими элементами в Azure Boards.

Примечание.

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

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

  • У вас должен быть проект Azure Boards или Azure DevOps. Если у вас еще нет проекта, создайте его.
  • Вы должны быть членом группы Администратор istrator Project. Если вы создали проект, у вас есть разрешения.
  • Для подключения необходимо быть администратором или владельцем репозитория GitHub. Вы можете подключиться к нескольким репозиториям GitHub до тех пор, пока вы являетесь администратором этих репозиториев.

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

Следующие параметры проверки подлинности поддерживаются на основе платформы GitHub, к которой вы хотите подключиться.

GitHub.com

GitHub Enterprise Server

Примечание.

Если вы решили подключить Github к PAT, убедитесь, что вы настроите единый вход (SSO) для PAT в учетной записи GitHub. Это необходимо для того, чтобы получить список репозиториев организации с настроенной проверкой подлинности единого входа на языке разметки утверждений безопасности (SAML).

Подключение Azure Boards в репозиторий GitHub.

  1. Войдите в проект Azure DevOps.

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

    Screenshot of open Project Settings>GitHub connections.

  3. Если вы впервые при подключении из проекта, выберите Подключение учетной записи GitHub для использования учетных данных учетной записи GitHub.

    Screenshot of first time connecting with GitHub credentials.

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

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

Добавление подключения GitHub с учетными данными GitHub

Вы можете подключить до 500 репозиториев GitHub к проекту Azure Boards.

  1. Если вы впервые подключаетесь к GitHub из Azure Boards, вам будет предложено войти с помощью учетных данных GitHub. Выберите учетную запись, для которой вы являетесь администратором репозитория.

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

    Если все репозитории для организации уже подключены к Azure Boards, вы увидите следующее сообщение.

    Screenshot of message where no more repositories exist to connect.

  3. Введите учетные данные GitHub. Если у вас включена двухфакторная проверка подлинности, введите код проверки подлинности, отправленный GitHub, и нажмите кнопку "Проверить". В противном случае система автоматически распознает организацию GitHub как учетную запись GitHub, ранее связанную с учетной записью Azure DevOps Services.

Выбор репозиториев

После проверки подлинности можно выбрать репозитории, которые вы хотите подключить.

  1. Диалоговое окно "Добавление репозиториев GitHub" автоматически отображает и выбирает все репозитории GitHub.com, для которых вы являетесь администратором выбранной организации. Отмените выбор любых репозиториев, которые вы не хотите участвовать в интеграции.

    Screenshot showing GitHub repos.

    Совет

    Рекомендуется подключить репозиторий GitHub только к проектам, определенным в одной организации Azure DevOps. Подключение одного репозитория GitHub к проектам, которые определены в двух или более организациях Azure DevOps, может привести к созданию непредвиденных связей между упоминаниями AB#. Дополнительные сведения см. в статье "Устранение неполадок интеграции GitHub и Azure Boards".

    Если все репозитории уже подключены к текущей или другой организации, отобразится следующее сообщение.

    Screenshot of message where no more repositories exist to connect.

  2. По завершении выберите Сохранить.

Подтверждение подключения

  1. Просмотрите страницу GitHub, которая отображается, а затем выберите "Утвердить", " Установить" и "Авторизовать".

    Screenshot showing confirming GitHub repositories.

  2. Укажите пароль GitHub для подтверждения.

  3. По завершении вы увидите новое подключение с выбранными репозиториями, перечисленными.

Screenshot of list of connected repositories.

Сведения об изменении конфигурации или управлении приложением Azure Boards для GitHub см. в статье "Изменение доступа репозитория к Azure Boards".

Добавление подключения GitHub с помощью PAT

Мы рекомендуем использовать учетные данные учетной записи GitHub для подключения к репозиторию GitHub. Однако если вам нужно использовать PAT, выполните следующие действия.

Совет

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

  1. Выберите личный маркер доступа.

    Screenshot of New GitHub connection dialog, choosing Personal Access Token.

    Чтобы создать GitHub PAT, перейдите к GitHub Developer Параметры > Личные маркеры доступа.

  2. Введите PAT и выберите Подключение.

    Screenshot showing entered PAT.

  3. Выберите репозитории, которые вы хотите подключить к проекту, следуя процедурам, описанным в разделе "Выбор репозиториев " ранее в этой статье.

  4. Если вы впервые подключаетесь к учетной записи или организации GitHub из Azure Boards, необходимо также установить приложение Azure Boards для GitHub. Подтвердите подключение ранее в этой статье.

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

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

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

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

    Screenshot of sign in for GitHub Enterprise server.

  2. Откройте Параметры> Developer settings>Oauth Apps>New Приложение OAuth.

    Screenshot showing sequence for New OAuth App.

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

    Для URL-адреса домашней страницы укажите URL-адрес организации.
    Для URL-адреса обратного вызова авторизации используйте следующий шаблон, чтобы создать URL-адрес.

    {Azure DevOps Services Organization URL}/_admin/oauth2/callback

    Например:

    https://dev.azure.com/fabrikam/_admin/oauth2/callback

    Screenshot showing app to register.

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

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

    Screenshot of Client ID and Client Secret for the registered OAuth application.

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

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

  2. Добавьте конфигурацию Oauth GitHub Enterprise в вашу организацию.

  3. В параметрах организации выберите конфигурации>Oauth Добавить конфигурацию Oauth.

    Screenshot of Open Organization Settings, OAuth configurations.

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

    OAuth configurations dialog.

Подключение Azure DevOps Services на GitHub Enterprise Server

Важно!

Чтобы подключить Azure DevOps Services к серверу GitHub Enterprise Server, сервер GitHub Enterprise должен быть достаточно доступен из Интернета. Убедитесь, что Azure DNS может разрешить имя сервера GitHub Enterprise Server, а брандмауэр разрешает доступ из IP-адресов Центра обработки данных Azure. Чтобы определить диапазон IP-адресов, ознакомьтесь с диапазонами IP-адресов Центра обработки данных Microsoft Azure. Часто возникает сообщение об ошибке при возникновении проблем с подключением:

Не удалось разрешить удаленное имя: "github-enterprise-server.contoso.com"

Если возникла эта ошибка, проверка, что сервер доступен. Дополнительные сведения см. в статье "Вопросы и ответы по Azure DNS".

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

    First connection, choose GitHub Enterprise Server.

    Или в диалоговом окне "Новое подключение GitHub" выберите GitHub Enterprise Server.

    Screenshot of New GitHub connection dialog, choose GitHub Enterprise Server.

  2. Выберите метод проверки подлинности.

    Screenshot showing authentication method dialog.

    Подключение с OAuth

    Выберите конфигурацию, настроенную на шаге 4 регистрации конфигурации OAuth в Azure DevOps Services, а затем выберите Подключение.

    Screenshot of New GitHub Enterprise connection, OAuth connection dialog.

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

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

    Screenshot of New GitHub Enterprise connection, Personal access token connection dialog.

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

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

    Screenshot of New GitHub Enterprise connection screen, User Name connection dialog.

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

    Screenshot of repositories listed.

    Совет

    Вы можете подключиться только к репозиториям, определенным в одной организации GitHub. Чтобы подключить проект к другим репозиториям, определенным в другой организации GitHub, необходимо добавить другое подключение.

  4. Если вы впервые подключаетесь к учетной записи или организации 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

Если интеграция между Azure Boards и GitHub не работает должным образом, убедитесь, что вы предоставили доступ к организации.

  1. На веб-портале GitHub откройте Параметры из меню профиля.
    Screenshot of open profile, choose Settings.

  2. Выберите приложения в разделе "Авторизованные>Приложение OAuth>azure Boards".

  3. В разделе "Доступ к организации" устраните все проблемы, которые могут возникнуть. Выберите "Предоставить", чтобы предоставить доступ к любым организациям, которые отображаются как ожидающие запроса на доступ.

    Screenshot of Organization access with organizations without access.

Устранение проблем с доступом

Когда подключение Azure Boards к GitHub больше не имеет доступа, оно отображает состояние оповещения в пользовательском интерфейсе с красным X. Наведите указатель мыши на оповещение и указывает, что учетные данные больше не допустимы. Чтобы устранить проблему, удалите подключение и создайте новое подключение.

Screenshot of failed connection.

Чтобы устранить эту проблему, рассмотрите следующие элементы:

  • Если подключение использует OAuth:

    • Приложение Azure Boards было отказано в доступе для одной из репозиториев.

    • GitHub может быть недоступным или недоступным. Эта недоступность может быть вызвана сбоем в службе или локальной проблеме инфраструктуры или сети. Состояние службы можно проверка со следующими ссылками:

      Удалите и повторно создайте подключение к репозиторию GitHub. Это повторное подключение приводит к тому, что GitHub запрашивает повторную проверку подлинности Azure Boards.

  • Если подключение использует PAT:

    • Возможно, ПАТ был отозван или необходимые область разрешений изменены и недостаточно.

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

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

Разрешение неработаемого подключения GitHub Enterprise Server

Если вы перешли с Azure DevOps Server на Azure DevOps Services с существующим подключением GitHub Enterprise Server, существующее подключение не будет работать должным образом. Рабочие элементы упоминание в GitHub могут быть отложены или никогда не отображаются в Azure DevOps Services. Эта проблема возникает, так как URL-адрес обратного вызова, связанный с GitHub, больше не является допустимым.

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

  • Удалите и повторно создайте подключение: удалите и повторно создайте подключение к репозиторию GitHub Enterprise Server. Выполните последовательность шагов, описанных в Подключение из документации по Azure Boards.

  • Исправьте URL-адрес веб-перехватчика: перейдите на страницу параметров репозитория GitHub и измените URL-адрес веб-перехватчика, чтобы указать url-адрес перенесенной организации Azure DevOps Services: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Подключение в несколько организаций Azure DevOps

При подключении репозитория GitHub к двум или нескольким проектам, определенным в нескольких организациях Azure DevOps, таких как dev.azure.com/Contoso и dev.azure.com/Fabrikam, при использовании упоминание AB# могут возникнуть непредвиденные результаты при связывании с рабочими элементами. Эта проблема возникает, так как идентификаторы рабочих элементов не являются уникальными в организациях Azure DevOps, поэтому AB#12 может ссылаться на рабочий элемент в организации Contoso или Fabrikam. Таким образом, если рабочий элемент упоминание в сообщении фиксации или запросе на вытягивание, обе организации пытаются создать ссылку на рабочий элемент с соответствующим идентификатором (если он существует).

Как правило, пользователь намерен упоминание AB# связаться с одним рабочим элементом в одном из проектов. Но если рабочий элемент одного и того же идентификатора существует в обеих учетных записях, ссылки создаются для обоих рабочих элементов, скорее всего, вызывают путаницу.

В настоящее время нет способа обойти эту проблему, поэтому рекомендуется подключить один репозиторий GitHub только к одной организации Azure DevOps.

Примечание.

При подключении с помощью приложения Azure Boards для GitHub приложение запрещает подключение к двум различным организациям. Если репозиторий GitHub неправильно подключен к неправильной организации Azure DevOps, необходимо связаться с владельцем этой организации, чтобы удалить подключение, прежде чем добавить репозиторий в правильную организацию Azure DevOps.

Обновление определений 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>  

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