将 Azure Repos 与 Microsoft Teams 配合使用
Azure DevOps Services
如果使用 Microsoft Teams 和 Azure Repos,则可以使用适用于 Teams 的 Azure Repos 应用 来监视存储库。 该应用支持监视 Git 和 Team Foundation 版本控制(TFVC)存储库,但它不支持与 GitHub 存储库集成。
本文介绍如何执行以下任务:
- 在 Microsoft Teams 中将 Azure Repos 应用添加到团队
- 将 Azure Repos 应用链接到存储库
- 管理通道中存储库相关事件的订阅
- 使用 compose 扩展搜索和共享 PR 信息
- 预览 PR URL
- 从通道中删除订阅和存储库
先决条件
- 管理订阅,使得每当代码被推送或签入,或者创建、更新或合并拉取请求 (PR) 时,你都会在通道中收到通知。 若要为与存储库相关的事件创建订阅,请成为 项目管理员 组或团队管理员的成员。 若要添加,请参阅 更改项目级权限 或 添加团队管理员。
- 若要接收通知,请通过 Azure DevOps 组织的 OAuth 设置启用
第三方应用程序访问。 请参阅 更改组织的应用程序访问策略。
注意
- 直接消息中当前不支持通知。
- 只能将用于 Microsoft Teams 的 Azure Repos 应用链接到 Azure DevOps Services 上托管的项目。
将 Azure Repos 应用添加到 Microsoft Teams 中的团队
转到 Microsoft Teams 中的 Azure Repos 应用,Microsoft Teams > Azure Repos。
选择 添加,或者如果已下载应用,请选择 打开旁边的下拉菜单,然后选择 添加到团队。
输入团队或频道名称,然后选择 设置机器人。
将 Azure Repos 应用连接到存储库
在团队中安装应用后,在回复字段中输入以下文本:
@azure repos signin
如果 Microsoft Teams 和 Azure Boards 位于不同的租户中,请选择使用不同的电子邮件登录。
显示登录完整回复的屏幕截图
若要监视项目中的所有 Git 存储库,请在通道中输入
@azure repos subscribe [project url]
。 请务必添加项目 URL。 项目 URL 可以指向项目内的任何页面(除存储库的 URL 外)。还可以使用:
@azure repos subscribe [repo url]
监视特定存储库。存储库 URL 可以指向存储库中具有存储库名称的任何页面,例如,
@azure repos subscribe https://dev.azure.com/myorg/myproject/_git/myrepo
或 TFVC 存储库:@azure repos subscribe https://dev.azure.com/myorg/myproject/_versionControl
。subscribe
命令可让你开始使用默认订阅。 对于 Git 存储库,通道订阅了已创建拉取请求事件(目标分支 = 主)。 对于 TFVC 存储库,通道订阅了已签入代码事件。
管理订阅
若要查看、添加和删除频道订阅,请输入以下文本:@azure repos subscriptions
。
可以看到频道的所有当前订阅的列表,可以添加新订阅或删除现有订阅。 使用各种筛选器自定义通知,如以下部分所述。
注意
团队管理员无法删除或修改项目管理员创建的订阅。
使用筛选器仅获取所需的通知
订阅具有 @azure repos subscribe
的存储库时,将创建默认订阅,且未应用筛选器。
通常,用户需要自定义这些订阅,以便仅在满足某些条件时才收到通知。
以下屏幕截图显示了仅当我们的团队位于 PR 的审阅者列表中时设置通知的示例。
在通道中输入以下文本:
@azure repos subscriptions
。在订阅列表中,如果有不需要或必须修改的订阅,请选择 删除 将其删除。
选择“添加订阅”按钮。
选择事件类型,然后选择“下一步”。
选择一个存储库,然后选择下一步。
选择适当的筛选器以自定义订阅,然后选择提交。
注意
- 所有筛选器通常都是下拉列表。 但是,如果下拉列表的项大于 100 个,则必须手动输入值。
- 对于 TFVC 的“代码已签入”事件,筛选器“路径下”的格式必须是
$/myproject/path
。
使用 compose 扩展搜索和共享拉取请求
为了帮助用户搜索和共享有关拉取请求的信息,适用于 Microsoft Teams 的 Azure Repos 应用支持 compose 扩展。 可以按 ID 或名称搜索拉取请求。 若要使扩展正常工作,请输入 @azure repos signin
或直接通过 compose 扩展登录到 Azure Repos 项目。
预览拉取请求 URL
粘贴 PR 的 URL 时,将显示如下图所示的预览,这有助于保持 PR 相关对话的上下文相关性和准确性。 登录后,你可以在团队的所有通道中预览 URL 的 PR。
从通道中删除订阅和存储库
若要删除与项目中任何存储库相关的所有订阅并从频道中删除存储库,请在 Teams 中输入以下文本:@azure repos unsubscribe all [project url]
。 请确保输入项目 URL。 只有项目管理员可以执行此任务。
线程化通知
为了将一组相关通知进行关联,并减少通道中通知占用的空间,通知将通过线程化来组织。 所有与特定拉取请求相关的通知都统一连接在一起。
线程通知的压缩视图
线程通知的展开视图
命令参考
下表列出了可在 Teams 频道中使用的所有 azure repos
命令。
命令 | 功能性 |
---|---|
@azure repos subscribe [repo url/ project url] |
订阅项目中的存储库或所有存储库以接收通知 |
@azure repos subscriptions |
添加或删除此频道的订阅 |
@azure repos signin |
登录到 Azure Repos 组织 |
@azure repos signout |
从 Azure Repos 组织注销 |
@azure repos feedback |
报告问题或建议功能 |
@azure repos unsubscribe all [project url] |
删除通道中的所有存储库(属于某个项目)及其关联订阅 |
多租户支持
如果对 Microsoft Teams 和 Azure DevOps 使用不同的电子邮件或租户,请根据用例执行以下步骤登录。
用例 | 电子邮件 ID + Microsoft Teams 租户 | 电子邮件 ID + Azure DevOps 租户 | 步骤 |
---|---|---|---|
1 | email1@abc.com(租户 1) | email1@abc.com(租户 1) | 选择“登录”。 |
2 | email1@abc.com(租户 1) | email1@abc.com(租户 2) | 登录到 Azure DevOps。 在同一浏览器中,启动新选项卡并转到 https://teams.microsoft.com/。 运行登录命令并选择登录。 |
3 | email1@abc.com(租户 1) | email2@pqr.com(租户 2) | 选择 使用不同的电子邮件地址登录,然后在电子邮件 ID 选取器中使用 email2 登录到 Azure DevOps。 |
4 | email1@abc.com(租户 1) | email2@pqr.com(非默认租户 3) | 不支持此方案。 |
疑难解答
如果在使用 Azure Repos 应用时遇到以下错误,请按照本部分中的过程进行操作。
很抱歉,出现问题。 请重试。
Azure Repos 应用使用 OAuth 身份验证协议,且需要启用为组织通过 OAuth 访问第三方应用程序。
若要启用此设置,请导航到
配置失败。 请确保组织“{组织名称}”存在,并且你有足够的权限。
使用浏览器导航到 https://aka.ms/VsSignout
,注销 Azure DevOps。
打开“专用”或“化名”浏览器窗口并导航到 https://aex.dev.azure.com/me
,然后登录。 在左侧配置文件图标下的下拉列表中,选择包含要订阅的存储库的组织所在的目录。
组织的目录
- 在同一浏览器中,启动一个新选项卡并登录到 https://teams.microsoft.com/
。 运行 @Azure Repos signout
命令,然后在安装了适用于 Microsoft Teams 的 Azure Repos 应用的通道中运行 @Azure Repos signin
命令。
选择 Sign in
按钮,你将被重定向到同意页面,如以下示例中的同意页面。 确保电子邮件旁显示的目录与上一步中选择的目录相同。 接受并完成登录过程。
如果这些步骤无法解决身份验证问题,请在 开发人员社区联系我们。