将 Azure Pipelines 与 Microsoft Teams 集成

注意

Microsoft Teams 对服务挂钩的集成支持将于 2024 年 12 月 31 日起停用,用于新集成,2025 年 1 月 31 日为现有集成停用。 建议使用 Power Automate 工作流为数据提供最大的安全性。 有关详细信息,请参阅 Microsoft Teams 中的 Office 365 连接器停用。

Azure DevOps Services

注意

此功能仅适用于 Azure DevOps Services。 通常,新功能首先会在云服务中引入,然后在 Azure DevOps Server 的下一个主要版本或更新中本地提供。 有关详细信息,请参阅 Azure DevOps 功能时间线

本文介绍如何使用适用于 Microsoft Teams 的 Azure Pipelines 应用监视管道事件。 可以在 Teams 频道中设置和获取有关管道生成、发布和审批的通知。 审批者还可以在 Teams 频道中批准发布。

注意

Teams 聊天或直接消息中不支持 Azure Pipelines 通知。

先决条件

  • 在 Microsoft Teams 中访问团队,可在其中添加应用。
  • Azure DevOps 项目中的项目管理员或生成管理员 权限 。 有关详细信息,请参阅 创建项目管道安全资源
  • 在 Azure DevOps 组织设置中启用了通过 OAuth 访问第三方应用程序

设置 Azure Pipelines 应用

  1. 在 Microsoft Teams 中,选择“应用”,搜索 Azure Pipelines,然后选择“Azure Pipelines”。

    选择“应用”按钮,然后选择“Azure Pipelines”按钮的屏幕截图。

  2. 选择“添加”旁边的下拉箭头,然后选择“添加到团队”。

    选择“打开”按钮,然后选择“添加到团队”按钮的屏幕截图。

  3. 选择或输入你的团队名称,然后选择设置机器人

    选择“设置机器人”按钮的屏幕截图。

使用 Azure Pipelines 应用命令

Azure Pipelines Teams 应用支持以下命令:

/ 命令 功能
@azure pipelines signin 登录到 Azure Pipelines 帐户。
@azure pipelines signout 从 Azure Pipelines 帐户注销。
@azure 管道订阅 <管道 URL | 项目 URL> 订阅项目中的管道或所有管道以接收通知。
@azure pipelines subscriptions 查看、添加或删除此频道的订阅。
@azure 管道取消订阅所有 <项目 URL> 从频道中删除属于项目及其关联订阅的所有管道。
@azure pipelines help 获取有关命令的帮助。
@azure pipelines feedback 报告一个问题或建议一项功能。

登录到 Azure Pipelines

  1. 在 Teams 对话窗格中,输入 @azurePipelines signin
  2. 选择“登录”并完成对 Azure Pipelines 的身份验证。

订阅管道

使用以下命令订阅和监视项目或仅特定管道中的所有管道。

  • 项目中的所有管道: URL 可以是项目或项目中的任何页面,但管道除外。 例如:

    @azure pipelines subscribe https://dev.azure.com/myorg/myproject/
    
  • 特定管道: 管道 URL 可以是管道中具有或 definitionId buildId/releaseId URL 的任何页面。 例如:

    @azure pipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123
    

展开链接通知

特定文章的所有答复都链接在一起。

显示紧凑会话视图的屏幕截图。

若要展开该会话,请选择压缩的会话链接。

显示展开的会话视图的屏幕截图。

管理订阅

当你订阅管道时,默认会创建几个未应用任何筛选器的订阅。 这些订阅包括 运行状态已更改运行阶段,等待 YAML 管道审批 ,以及 等待经典版本的发布部署审批 。 可以删除这些订阅或添加更多订阅。

Azure Pipelines 应用还支持筛选器来自定义频道中看到的内容。 例如,你可能希望仅在生成失败或将部署推送到生产环境时收到通知。

若要管理订阅,请完成以下步骤。

  1. 若要列出所有管道订阅,请 @azure pipelines subscriptions 运行以下命令。

    显示订阅列表视图的屏幕截图。

  2. 若要删除订阅,请选择“ 查看所有订阅”。 在不需要的任何订阅下选择“删除,然后选择“确定”。

  3. 若要添加订阅,请选择“ 添加订阅”。

  4. 选择要订阅的事件和管道,然后选择“ 下一步”。

  5. 选择所需的任何阶段和环境筛选器,选择“提交,然后选择“确定”。

    例如,以下订阅仅在“已完成”状态“失败”时提供_default阶段的通知。

    显示通知筛选器的屏幕截图。

注意

团队管理员无法删除或修改项目管理员所创建的订阅。

查看审批通知

若要查看审批通知,请确保订阅 运行阶段,等待 YAML 管道的审批 通知或 经典版本的发布部署审批挂起 通知。 订阅管道时,默认情况下会创建这些订阅。

如果订阅 “运行阶段审批已完成 ”通知,则还可以查看该阶段何时获得批准。

显示部署已获批准的卡片。

注意

在完成应用的审批策略之前,无法订阅具有审批者的重新验证标识的部署审批。

从频道批准

如果你是审批者,可以从 Teams 频道内批准部署。 Azure Pipelines 应用支持所有 Azure Pipelines 检查和审批方案。 可以以个人或团队身份审批请求。

每当某个阶段的运行等待审批时,应用都会发布通知卡,其中包含在频道中批准拒绝请求的选项。 可以在通知中查看请求的详细信息,并采取适当的措施。

显示已准备好审批通知的屏幕截图。

响应将发送到应用。

显示审批挂起通知的屏幕截图。

如果订阅了 运行阶段审批已完成 通知,则还可以查看该阶段何时获得批准。

从频道取消订阅

unsubscribe运行以下命令,删除与项目中任何管道相关的所有订阅,并从通道中删除管道。 例如:

@azure pipelines unsubscribe all https://dev.azure.com/myorg/myproject

显示取消订阅挂起消息的屏幕截图。

若要从频道中删除项目和所有订阅,请选择“ 继续”。

重要

只有项目管理员可以运行此命令。

使用 compose 扩展

为了帮助你搜索和共享有关管道的信息,适用于 Teams 的 Azure Pipelines 应用支持消息中的撰写扩展。 可以使用扩展按管道 ID 或管道名称搜索项目中的管道。

若要使用该扩展,必须在 Teams 频道中登录到 Azure Pipelines 项目。 选择消息字段中的 + 符号,选择 Azure Pipelines,然后搜索管道或发布。

显示 compose 扩展的屏幕截图。

管道 URL 预览

使用撰写扩展将管道 URL 添加到 Teams 消息时,会看到类似于下图的预览。 预览有助于使与管道相关的对话保持相关且最新。

显示生成 URL 展开的屏幕截图。

以下示例显示了发布 URL 预览:

显示发布 URL 展开的屏幕截图。

连接多个租户

如果你为 Microsoft Teams 和 Azure DevOps 使用了其他电子邮件或租户,请执行以下步骤,以根据你的设置进行登录和连接。

Microsoft Teams Azure DevOps 登录操作
email1@abc.com(租户 1) email1@abc.com(租户 1) 选择“登录”
email1@abc.com(租户 1) email2@pqr.com(租户 2) 1. 登录 Azure DevOps。
2. 在同一浏览器中,启动一个新选项卡并转到 https://teams.microsoft.com/
3. 运行 sign in 命令并选择登录
email1@abc.com(租户 1) email2@pqr.com(租户 2) 1. 选择使用其他电子邮件地址登录
2. 在电子邮件 ID 选取器中,使用 email2 登录。
email1@abc.com(租户 1) email2@pqr.com(非默认租户 3) 不支持。

排查身份验证问题

- 在同一浏览器中,启动一个新选项卡并登录到 https://teams.microsoft.com/。 运行 @Azure Pipelines signout 命令,然后在安装了适用于 Microsoft Teams 的 Azure Pipelines 应用的通道中运行 @Azure Pipelines signin 命令。

选择登录按钮,并完成登录过程。 确保显示的目录与上一步中选择的目录相同。

如果上述步骤无法解决你遇到的身份验证问题,请通过开发人员社区联系我们。