使用javascript创建新的Phabricator任务

时间:2018-11-08 17:22:35

标签: javascript phabricator

我正在尝试连接Phabricator管道API并通过绑定到Google工作表的JavaScript创建任务。

Conduit API文档linked here的解释并不多。我看过更好的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"
    }
  ] \

2 个答案:

答案 0 :(得分:0)

通常来说,步骤是:

首先,在以下位置生成API令牌: https://phabricator.yourdomain.com/settings/user/username/page/apitokens/

其中phabricator.yourdomain.com必须由已安装Phabricator的子域更改,而username必须由您的管理用户名更改。

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

https://phabricator.yourdomain.com/api/method_name?parameter1=value1&parameter2=value2 ...

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

例如,如果要读取任务编号125的内容,并使用生成的API令牌值为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调用。

答案 1 :(得分:0)

我和您有类似的问题(我在Ruby中使用HTTParty)。 为了解决这个问题,我使用了以下正文(使用您的示例):

"transactions[0][type]=title&transactions[0][value][0]=A value from a cell on the googlesheet&transactions[1][type]=description&transactions[1][value]=A value from a cell on the googlesheet&transactions[2][type]=subscribers.add&transactions[2][value][0]=A value from a cell on the googlesheet"