创建通过 webhook 启动的工作流程

哪些人员可以使用此功能?

工作流程是自动化多步骤任务或流程,可以直接在 Slack 中运行。工作流程繁简随意,通常无需编写任何代码。要创建工作流程并设置为在外部服务中发生某个事件时运行,你可以使用 webhook。

开始使用须知

  • 熟悉如何使用命令行或其他工具来发送 HTTP 申请
  • 了解 incoming webhook。如需获取指导,请阅读关于 Slack API 的文档,或向你团队中的开发人员寻求帮助

注意:拥有者和管理员可以限制对使用 webhook 创建工作流程的访问。如果你在工作流程构建器中看不到此选项,请向拥有者或管理员求助。


工作流程设置

Webhook 工作流程基础知识

Slack 中的所有工作流程都是响应触发器的操作启动的。要使用 webhook 触发工作流程,你将需要配置 webhook,以便在另一个服务中发生特定事件时运行工作流程。例如,你可以创建这种工作流程:在网站出现问题后在特定频道中发布消息,以便工程团队检查相应故障。

配置你的 webhook

你用来创建和配置 webhook 的外部服务必须允许你在某些事件发生时向 Slack 发出 HTTP POST 请求。你的工作流程一旦发布,Slack 将为其生成唯一的请求网址,你可以配置 webhook 以通过 HTTP 请求主体将信息传递至 Slack。你的 webhook 发送至 Slack 的任何数据都可以通过创建变量,以供添加到工作流程中的步骤引用。

小窍门:如果你不确定如何配置你的 webhook,我们建议你向团队中的开发人员寻求帮助,或参考由所用服务提供的支持文档,如 PostmanZapier

创建自定义变量

你可以添加最多 20 个变量,以从另一项服务将数据传递给 Slack,并在添加到你的工作流程的 步骤中包含特定于 Slack 的信息(例如显示名或电子邮件地址)。

要创建自定义变量,你可以在工作流程构建器中添加键值对作为基于文本的变量。在你添加变量后,你会看到 HTTP 正文的预览,这样你就可以确保这些值与你通过 webhook 连接至 Slack 的其他服务中的 JSON 输出相匹配。请注意,工作流程变量中目前还不能使用嵌套的 JSON 结构。

在下面的示例中,如果用户、严重程度和事件说明没有与你的 webhook 请求一起发送,工作流程就会失败。

工作流程构建器中显示了 webhook URL 和自定义变量的 webhook 配置

小窍门:如果你需要在任何节点添加、移除或修改变量,请在工作流程构建器中打开工作流程。然后单击先从 webhook 开始旁边的 铅笔图标,以便作出修改。你还需要确保对变量的任何修改都会反映在发送 webhook 请求的外部服务中。

获取你的网络请求网址

当你发布工作流程时,Slack 会生成一个唯一的请求网址,你可以将其添加到你的 webhook 中,以确保它将你设置的 POST 发送至正确频道。申请网址以 https://hooks.slack.com/triggers 作为开头,后接随机字符串。

保证你的申请网址的安全,因为任何拥有此链接的人员都可以触发你的工作流程。

注意:webhook 工作流程每秒只能接受一个申请。了解更多关于 Slack API 速率限制的信息


添加步骤来结束工作流程

增加步骤

一旦你配置了 webhook 并创建了任何你想使用的变量,你就可以为你的工作流程添加步骤了。 

  1. 在工作流程构建器中打开你的工作流程。 
  2. 单击添加步骤。 
  3. 选择你想要添加的步骤类型,然后按照提示自定义步骤。


测试你的工作流程

在将工作流程发布至你的工作区成员经常使用的频道中之前,你可以设置将第一步发布到测试频道中。

  1. 向你的工作流程的请求网址发送一个 POST,并执行所有步骤来确保一切正常工作。
  2. 回到工作流程构建器,更新工作流程的第一步,将其发布到你喜欢的频道,然后发布更改