将 Azure Boards 应用与 Slack 配合使用来管理工作项

Azure DevOps Services

如果使用 Slack,则可以使用 适用于 Slack 的 Azure Boards 应用 从 Slack 频道创建工作项并监视 Azure Boards 项目中的工作项活动。

使用适用于 Slack 的 Azure Boards 应用,用户可以在其 Slack 频道中设置和管理订阅。 他们可以管理订阅以创建和更新,也可以管理其他工作项事件。 用户还可以在其 Slack 频道中获取有关这些事件的通知。 Slack 频道中的对话可用于创建工作项。 工作项 URL 预览可帮助用户开始围绕工作展开讨论。

图片:通知

阅读此文,了解如何:

  • 将 Azure Boards 应用添加到 Slack 工作区
  • 将 Azure Boards 项目链接到 Azure Boards 应用和取消链接
  • 在 Slack 通道中设置与工作项相关的事件的订阅
  • 从 Slack 通道创建工作项
  • 监视 Slack 通道中的工作项活动
  • 在专用 Slack 通道中获取通知

注意

  • Azure Boards 和 Slack 集成仅支持 Azure DevOps Services。
  • 直接消息中当前不支持通知。

先决条件

  • 若要创建工作项,你必须是 Azure Boards 项目的参与者。 如果你还没有项目,可以注册并创建项目。 有关详细信息,请参阅开始使用 Azure Boards
  • 若要在 Slack 通道中为工作项事件创建订阅,你必须是 Azure Boards 项目管理员组或团队管理员的成员。 若要加入,请参阅更改项目级权限添加团队管理员
  • 若要接收通知,必须为组织启用“通过 OAuth 访问第三方应用程序”设置。 请参阅更改组织的应用程序访问策略

将 Azure Boards 应用添加到 Slack 工作区

  1. 若要将 Azure Boards 应用安装到 Slack 工作区,请打开 Web 浏览器,登录到 Slack,然后打开 Azure Boards 应用

  2. 添加后,会显示应用的欢迎消息,如下图所示。

    图片:欢迎消息

  3. 使用 /azboards Slack 句柄与应用交互。 本文稍后的命令参考中提供了命令列表。

若要使用该应用,必须先将 Azure Boards 项目链接到 Slack 通道。

  1. 在 Slack 工作区中安装应用后,将自己连接到 Azure Boards 并进行身份验证。

    登录的屏幕截图

  2. 登录后,在 Slack 通道内使用以下 slash 命令链接到使用 URL 指定的 Azure Boards 项目:

     /azboards link [project url]
    

    例如:

     /azboards link https://dev.azure.com/myorg/myproject
    

链接项目后,可以使用 /azboards create 命令或使用消息操作创建工作项。

设置订阅以监视工作项

可以随时使用 /azboards subscriptions 命令创建订阅以监视工作项。 可以选择在链接项目后设置订阅。

  1. 选择所需的区域路径、感兴趣的事件,并使用关联的筛选器自定义 Slack 通道。 为了轻松设置订阅,最近访问的区域路径显示在区域路径下拉列表中。

    设置订阅。

    如果团队的区域路径未显示在“区域路径”下拉列表中,请按照下一节添加区域路径中提到的说明进行操作。 使用 /azboards addAreapath 命令添加的区域路径以及在 Slack 通道中为其创建订阅的区域路径,连同最近访问的区域路径,始终显示在“区域路径”下拉列表中。

添加区域路径

可以将团队使用的区域添加到通道中,以便它们始终可用于创建工作项和订阅。 这主要对于具有超过 100 个区域路径的团队非常重要。

  • 使用以下命令将项目中的区域路径添加到 Slack 通道。

      /azboards addAreapath [area path]
    

    例如:

      /azboards addAreapath myproject\fabrikam
    

    添加区域路径成功消息

  • 如果选择项目名称作为区域路径,则会收到项目中所有区域路径的通知。 它在逻辑上等效于选择“任意”区域路径。

使用命令创建工作项

  1. 借助 Azure Boards 应用,可以从通道创建工作项。 该应用还支持自定义工作项。
  • 若要创建工作项,请使用 /azboards create

    使用命令创建工作项

  1. 可以通过将工作项类型和标题作为参数传递来直接从命令创建工作项。 仅当工作项没有任何字段需要强制填充时,才会创建工作项。

     /azboards create [work item type] [work item title]
    

    例如:

     /azboards create 'user story' Push cloud monitoring alerts to mobile devices
    

从消息操作创建工作项

通常,通道中的讨论需要创建工作项。 可以使用消息操作创建工作项。 所选消息预填充在工作项的说明部分中。 返回到通道中对话的链接存储在新创建的工作项的“讨论”部分中,使用户能够访问导致创建工作项的讨论。

  • 使用消息操作创建工作项

    使用消息操作创建工作项

管理 Azure Boards 订阅

  1. 若要查看、添加和删除通道的订阅,可使用 /azboards subscriptions 命令:

     /azboards subscriptions
    

    此命令会列出通道的所有当前订阅,并可用于添加新订阅和删除现有订阅。 作为添加订阅的一部分,还可以使用各种筛选器自定义通知内容。

[!注意]团队管理员无法删除或修改项目管理员创建的订阅。

图片:查看订阅

工作项 URL 预览

为了支持围绕通道中讨论的工作项进行协作,将显示通道中引用的工作项预览。 当用户粘贴工作项 URL 时,将显示类似于下图的预览。 此预览版有助于使与工作项相关的对话保持相关性和正确性。

图片:URL 展开

若要使用此功能,用户需要登录。 登录后,此功能适用于工作区中的所有频道。

Slack 通道一次只能链接到一个 Azure Boards 项目。 若要链接到其他项目,必须先使用 /azboards unlink 命令取消链接当前项目。

取消链接项目会从通道中删除所有订阅以及添加的区域路径。 如果通道没有订阅,则任何用户都可以取消链接项目。 但是,如果通道具有订阅,则只有项目管理员可以取消链接项目与通道。

命令参考

下表列出了可在 Slack 通道中使用的所有 /azboards 命令。

斜杠命令 功能
/azboards link [项目 URL] 将项目链接到此通道以创建工作项并接收通知
/azboards subscriptions 添加或删除此通道的订阅
/azboards create 或 /azboards create [工作项类型] [标题] 创建工作项
/azboards addAreapath [区域路径] 将项目中的区域路径添加到此通道
/azboards signin 登录到 Azure Boards 组织
/azboards signout 从 Azure Boards 组织注销
/azboards unlink 取消链接项目与此通道
/azboards feedback 报告一个问题或建议一项功能

在专用通道中管理工作

适用于 Slack 的 Azure Boards 应用也可以帮助你创建工作项并监视专用通道中的工作项活动。 若要邀请机器人加入专用通道,请输入 /invite @azboards。 发布后,可以像在公共通道中一样创建工作项和管理通知。

排查错误

如果在使用适用于 Slack 的 Azure Boards 应用时遇到以下错误,请执行本部分中的步骤。

很抱歉,出现了问题。 请重试。

Azure Boards 应用使用 OAuth 身份验证协议,且需要启用为组织通过 OAuth 访问第三方应用程序。 若要启用此设置,请转到“组织设置”“>安全>策略”,并将“通过 OAuth 对组织的第三方应用程序访问”设置设置为“开”。

启用“为组织通过 OAuth 访问第三方应用程序”设置

配置失败。 请确保组织“{组织名称}”存在,并且你有足够的权限。

转到浏览器注销 Azure DevOps https://aka.ms/VsSignout

打开 “专用隐身 浏览器”窗口,转到 https://aex.dev.azure.com/me 并登录。 在左侧配置文件图标下的下拉列表中,选择要链接的项目所在的组织位于的目录。

选择项目所在的组织位于的目录

在同一浏览器中,启动新选项卡,转到 https://slack.com,然后登录到工作区 (使用 Web 客户端) 。 运行 /azboards signout 命令,然后运行 /azboards signin 命令。

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

同意请求的应用权限

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