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


Подключение Azure Boards к GitHub (облако)

Azure DevOps Services

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

Note

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

Prerequisites

Category Requirements
Разрешения — Член группы администраторов коллекции проектов , если вы создали проект, у вас есть разрешения.
- Администратор или владелец репозитория GitHub для подключения. Вы можете подключиться к нескольким репозиториям GitHub до тех пор, пока вы являетесь администратором этих репозиториев.
Членство в проекте член проекта.

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

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

GitHub.com

GitHub Enterprise Server

Note

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

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

  1. Войдите в проект (https://dev.azure.com/{Your_Organization/Your_Project}).

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

    Скриншот открытых настроек проекта>соединений GitHub.

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

    Скриншот первого подключения с учетными данными GitHub.

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

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

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

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

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

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

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

    Снимок экрана: сообщение, где больше нет репозиториев для подключения.

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

Добавление репозиториев GitHub

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

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

    Скриншот, показывающий репозитории GitHub.

    Tip

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

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

    Снимок экрана: сообщение, где больше нет репозиториев для подключения.

  2. После выбора нажмите кнопку "Сохранить".

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

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

    Скриншот, подтверждающий репозитории GitHub.

  2. Укажите свои GitHub учетные данные для подтверждения.

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

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

Чтобы изменить конфигурацию или управлять приложением Azure Boards для GitHub, см. раздел Изменение доступа к хранилищу для Azure Boards.

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

Important

Рассмотрите возможность использования более безопасных токенов Microsoft Entra вместо более рискованных персональных токенов доступа. Дополнительные сведения см. в разделе "Сокращение использования PAT". Просмотрите рекомендации по проверке подлинности , чтобы выбрать правильный механизм проверки подлинности для ваших потребностей.

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

Tip

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

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

    Скриншот нового диалогового окна подключения к GitHub, выбор токена личного доступа.

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

  2. Введите PAT и нажмите кнопку "Подключиться".

    Снимок экрана: введенный PAT.

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

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

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

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

Регистрация служб Azure DevOps

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

    Скриншот экрана входа в GitHub Enterprise Server.

  2. Откройте Настройки>Настройки разработчика>Приложения OAuth>Новое приложение OAuth.

    Снимок экрана, показывающий последовательность для нового приложения OAuth.

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

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

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

    Рассмотрим пример.

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

    Снимок экрана: регистрация приложения.

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

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

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

Регистрация конфигурации OAuth в службах Azure DevOps

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

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

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

    Снимок экрана: параметры открытой организации, конфигурации OAuth.

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

    Диалоговое окно конфигураций OAuth.

Подключение служб Azure DevOps к GitHub Enterprise Server

Important

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

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

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

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

    При первом подключении выберите GitHub Enterprise Server.

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

    Снимок экрана нового диалогового окна подключения GitHub, выберите GitHub Enterprise Server.

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

    Снимок экрана: диалоговое окно метода проверки подлинности.

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

    Выберите конфигурацию, настроенную в Step 4 регистрации конфигурации OAuth в службах Azure DevOps, а затем выберите Connect.

    Скриншот нового подключения GitHub Enterprise, диалоговое окно подключения OAuth.

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

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

    Снимок экрана нового подключения GitHub Enterprise, диалоговое окно подключения токена личного доступа.

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

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

    Снимок экрана нового окна подключения GitHub Enterprise, диалоговое окно для ввода имени пользователя.

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

    Снимок экрана: перечисленные репозитории.

    Tip

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

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

Устранение неполадок с подключением

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

Общие сведения об интеграции, поддерживаемой приложением Azure Boards для GitHub, см. статью интеграция Azure Boards и GitHub.

Поддерживаемые параметры проверки подлинности

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

Platform

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

  • учетная запись пользователя GitHub.com
  • Личный токен доступа
  • OAuth
  • PAT
  • учетные данные GitHub

Azure DevOps Server 2020

Неприменимо

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

Note

GitHub поддержка интеграции:

  • Azure DevOps Services: интегрируется с репозиториями GitHub.com и GitHub Enterprise Server через приложение Azure Boards для GitHub.
  • Azure DevOps Server 2020 и более поздних версий: поддерживает интеграцию только с репозиториями enterprise Server GitHub.
  • Другие репозитории Git: интеграция не поддерживается.

Предоставление доступа Azure Boards организации

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

  1. На веб-портале GitHub откройте Settings из меню профиля.
    Снимок экрана: открытый профиль, выберите

  2. Выберите Applications в разделе Integrations>Authorized OAuth Apps>Azure Boards.

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

    Снимок экрана доступа к организации, в котором указаны организации без доступа.

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

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

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

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

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

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

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

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

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

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

    • У пользователя могут не быть разрешения администратора в репозитории GitHub.

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

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

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

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

  • Fix URL-адрес веб-перехватчика: перейдите на страницу параметров репозитория GitHub и измените URL-адрес веб-перехватчика, указывающий на URL-адрес перенесенной организации Azure DevOps: 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. Если рабочий элемент упоминается в сообщении фиксации или пулл-реквесте, обе организации могут попытаться связаться с рабочим элементом с соответствующим идентификатором, что приводит к путанице.

Чтобы избежать этой проблемы, подключите один репозиторий GitHub только к одной Azure DevOps организации.

Note

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

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

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

Например, чтобы связать истории пользователей и ошибки с коммитами и пулл реквестами на GitHub из раздела Development, обновите XML-определения для историй пользователей и ошибок.

Следуйте последовательности задач, предоставленных в модели процесса размещенной XML, чтобы обновить определения XML. Для каждого типа рабочего элемента найдите раздел Group Label="Development" и добавьте следующие строки кода для поддержки типов внешних ссылок: GitHub коммит и 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>  

FAQs

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

Ответ: Нет. Попросите пользователей выйти из системы, а затем войти в учетную запись организации с помощью своих учетных данных GitHub в новом сеансе браузера. Это действие устанавливает их учетные записи GitHub.

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

Ответ. После изменения параметра выйдите из Azure DevOps, а затем войдите в организацию (dev.azure.com/{organizationName} или organizationName.visualstudio.com) с учетными данными GitHub из нового сеанса браузера.

Вопрос. Я вошел с помощью учетных данных GitHub, но почему я не могу приглашать GitHub пользователей?

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

Вопрос. Получают ли пользователи GitHub Enterprise бесплатный доступ к Azure DevOps?

Ответ. Дополнительные сведения см. в статье User и часто задаваемые вопросы об управлении разрешениями/GitHub Enterprise.

Дальнейшие шаги

Что можно сделать с помощью интеграции GitHub

После подключения вы можете:

  • Use GitHub Copilot: Использовать GitHub Copilot с рабочими элементами для автоматического создания кода
  • Связывание рабочих элементов: автоматическое связывание фиксаций, ветвей и запросов на вытягивание с рабочими элементами
  • Отслеживание разработки: контролируйте прогресс непосредственно из Azure Boards