将 Azure Pipelines 与 Microsoft Teams 配合使用

Azure DevOps Services

使用适用于 Microsoft Teams 的 Azure Pipelines 应用可以监视管道事件。 可以在 Teams 通道中设置和接收有关发布、待审批、已完成生成等事件的通知。 还可以在 Teams 通道内审批发布。

注意

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

先决条件

  • 必须有一个 Azure DevOps 项目。 有关详细信息,请参阅创建项目
  • 若要设置管道订阅,你必须是项目管理员。

设置 Azure Pipelines 应用

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

    Screenshot of selecting the Apps button, then Azure Pipelines button.

  2. 选择“打开”下拉箭头,然后选择“添加到团队”。

    Screenshot of selecting Open button and then Add to a team button.

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

    Selecting the Set up a bot button.

  4. 在 Teams 对话窗格中,输入 @azurePipelines signin

  5. 选择“登录”并完成对 Azure Pipelines 的身份验证。

使用命令

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

  • 监视项目中的所有管道。 URL 可以指向项目中的任何页面,但指向管道的 URL 除外。 例如 @azure pipelines subscribe https://dev.azure.com/myorg/myproject/

    @azure pipelines subscribe [project url]
    
  • 监视特定的管道:管道 URL 可以指向管道中的、其 URL 包含 definitionIdbuildId/releaseId 的任何页面。 例如 @azure pipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123

    @azure pipelines subscribe [pipeline url]
    

    订阅“发布部署已开始”、“发布部署已完成”和“发布部署待审批”通知的发布管道的另一个示例是 @azure pipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

注意

  • 我们不支持应用了“在完成审批之前重新验证审批者的标识”策略的部署审批。
  • 启用“通过 OAuth 访问第三方应用程序”可接收针对 Azure DevOps 中的组织的通知。

管理订阅

当你订阅管道时,默认会创建几个未应用任何筛选器的订阅。 你可以自定义这些订阅。 例如,你可能希望仅在生成失败或将部署推送到生产环境时收到通知。 Azure Pipelines 应用支持通过筛选器自定义通道中显示的内容。 若要管理订阅,请完成以下步骤。

  1. 运行 @azure pipelines subscriptions 命令。

  2. 选择“查看所有订阅”。 如果订阅列表中包含你不需要的订阅,请选择“删除”。 View of list of subscriptions.

  3. 向下滚动并选择“添加订阅”。

  4. 选择所需的管道和事件。

  5. 选择相应的筛选器,然后选择“保存”。

    示例 1:生成失败时接收通知。

    Visual of build failures in Teams.

    示例 2:仅当部署推送到生产环境时才接收通知。

    Visual of failure notification.

    注意

    • 团队管理员无法删除或修改项目管理员所创建的订阅。
    • 聊天/直接消息中不支持通知。

从通道审批部署

可以在通道中审批部署,而无需转到 Azure Pipelines 门户。 订阅经典发布的“发布部署待审批”通知,或订阅 YAML 管道的“运行阶段等待审批”通知。 当你订阅管道时,默认会创建这两个订阅。

In Teams, notice ready for approval.

每当阶段的运行等待审批时,通道中就会发布一张通知卡片,其中包含用于批准或拒绝请求的选项。 审批者可以在通知中查看该请求的详细信息并采取适当的措施。 在以下示例中,部署已获批准,审批状态显示在卡片上。

Card showing approved deployment.

Azure Pipelines 应用支持 Azure Pipelines 门户中提供的所有检查和审批方案。 可以以个人或团队身份审批请求。

使用 compose 扩展搜索和共享管道信息

为了帮助用户搜索和共享有关管道的信息,适用于 Microsoft Teams 的 Azure Pipelines 应用支持 compose 扩展。 现在可以按管道 ID 或管道名称搜索管道。 若要正常使用组合扩展,用户必须通过运行 @azure pipelines signin 命令登录到他们感兴趣的 Azure Pipelines 项目,或直接登录到 compose 扩展。

Compose extension.

管道 URL 的预览

将管道 URL 添加到 Teams 时,wq 会看到类似于下图的预览。 该预览有助于保持管道相关对话的相关性和最新状态。 可以在紧凑和展开的卡片之间进行选择。

示例 1:生成 URL 预览

Build URL unfurling.

示例 2:发布 URL 预览

Release URL unfurling.

登录后,此功能适用于 Microsoft Teams 团队中的所有通道。

从管道通道取消订阅

使用以下命令从项目中的所有管道取消订阅。

@azure pipelines unsubscribe all [project url]

示例:使用 URL 全部取消订阅

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

此命令删除与项目中任何管道相关的所有订阅,并从通道中删除管道。

重要

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

链接到特定管道运行的所有通知将链接在一起。

示例 1:链接通知的紧凑视图。

Compact thread

示例 2:链接通知的展开视图。

Expanded thread

在 Azure Pipelines 应用中使用命令

参阅 Azure Pipelines 应用支持的以下命令:

斜杠命令 功能
@azure pipelines subscribe [pipeline url/ project url] 订阅项目中的某个管道或所有管道以接收通知
@azure pipelines subscriptions 添加或删除此通道的订阅
@azure pipelines feedback 报告一个问题或建议一项功能
@azure pipelines help 获取有关斜杠命令的帮助
@azure pipelines signin 登录到 Azure Pipelines 帐户
@azure pipelines signout 从 Azure Pipelines 帐户注销
@azure pipelines unsubscribe all [project url] 删除通道中的所有管道(属于某个项目)及其关联的订阅

连接多个租户

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

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

疑难解答

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

选择 Sign in 按钮,随即会重定向到以下示例中所示的同意页面。 确保电子邮件地址旁边显示的目录与你在上一步骤中选择的目录相同。 选择“接受”并完成登录过程。

Consent to the requested app permissions

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