首页 > 解决方案 > 使用 javascript 创建一个新的 Phabricator 任务

问题描述

我正在尝试连接到 Phabricator 管道 API 并通过绑定到谷歌表的 javascript 创建任务。

此处链接的 Conduit API Docs并没有真正解释太多。我见过更好的 API 文档!

以下是我的想法,但这是一个 cURL,我不知道如何使它成为 Javascript 或枯萎这是否可行?我很感激帮助

curl https://secure.phabricator.com/api/maniphest.edit \
-d api.token=api-token \
-d param= [
    {
      "type": "title",
      "value": "A value from a cell on the googlesheet"
    },
    {
      "type": "description",
      "value": "A value from a cell on the googlesheet"
    },
    {
      "type": "subscribers.add",
      "value": "A value from a cell on the googlesheet"
    }
  ] \

标签: javascriptphabricator

解决方案


一般来说,步骤是:

首先,在: https ://phabricator.yourdomain.com/settings/user/username/page/apitokens/中生成一个API令牌

wherephabricator.yourdomain.com必须由您安装 Phabricator 的子域更改,并且username必须由您的管理用户名更改。

然后,假设您已经安装了 Phabricator phabricator.yourdomain.com,您可以使用以下类型的 URL 请求 API 方法

https://phabricator.yourdomain.com/api/method_name?parameter1=value1¶meter2=value2 ...

其中method_name必须替换为此目录中的真实方法的描述符: https ://secure.phabricator.com/conduit/

例如,如果您想读取任务编号的内容125,使用生成的 API 令牌 value api-svhcp2a3qmgkkjfa5f6sh7cm4joz,请使用该方法maniphest.info完成如下所示的 URL:

http://phabricator.yourdomain.com/api/maniphest.info?api.token=api-svhcp2a3qmgkkjfa5f6sh7cm4joz&task_id=125&output=json

可以直接在首选浏览器中测试此 URL,以获取包含有关任务编号 125 的信息的 JSON 响应(确保任务 ID 存在)。Firefox 甚至会以人类可读的方式显示返回的 JSON。

然后可以将这些工作 URL 插入到 Javascript 中

window.location.href=http://phabricator.yourdomain.com/api/maniphest.info?api.token=api-svhcp2a3qmgkkjfa5f6sh7cm4joz&task_id=125&output=json

或作为异步 Ajax 调用。


推荐阅读