通过 Zapier 的 Phabricator 任务和分配

Phabricator tasks and assignments via Zapier

这看起来非常小众,但我有一个工作系统,我想简单地添加到其中。

目前,我在我编写的游戏中有一个名为简单 Zapier url 的命令。比方说,https://zapier.com/xxxxxxxx?name=me&message=hello%20there&location=location.

调用时,它会将名称、位置和消息发布到不和谐频道。我想延长它。

理想情况下,我需要弄清楚 Zapier 如何在 Phabricator 清单中创建一个名为“Bug 231”的新任务,上下文包括名称、位置和消息,并将其放在项目中特定类别下的工作板并将用户分配给它。

我觉得这是可能的,但无法找出正确的语法。

Zapier 本身可以使用“Multi-Step zaps”执行额外的操作out-of-the-box。您可以在 Discord 步骤之后添加一个操作来创建 Phabricator 任务。

但是,Zapier 上似乎没有 Phabricator 集成。如果 Phabricator 有一个允许创建任务的网络 API,您可以通过以下任一方式将其插入 Zapier:

  • 发出请求的“Zapier Webhooks”步骤
  • 如果需要额外处理,则执行“Zapier 编码”步骤
  • 自定义 Zapier 集成 w/Phabricator 如果您预计需要比“创建任务”更多的操作

对于那些寻求类似的人,我找到了一种适合我的方法:

1- 我使用 https://www.freeformatter.com/json-formatter.html#ad-output 来帮助我满足 Phabricator 的有趣要求。

2- 我进入了 conduit / maniphest.edit 并在第一个字段中使用了这个 JSON 来获得我想要的 curl 输出:[{"type":"title", "value" :"test title"},{"type":"description", "value":"This is the description."},{"type":"projects.set", "value":["PHID-PROJ-4dufje6oug3liomahstg"]}]

  1. 我把它给我的卷曲放在这里:https://curl.trillworks.com 把它变成 python。

  2. 我将 python 放入 Zapier python 模块,用 Zapier 提供的变量替换了几个地方的文本。