Redmine REST API,使用PHP更新问题

时间:2013-08-27 16:00:25

标签: php api redmine

我是API的新手,我无法更新问题的状态。我已成功列出项目和问题但不确定如何更新它们。我正在使用PHP来访问API。有人可以在php中分享一些如何使用json更新问题的例子。我已经阅读了API文档,但它太少了。我不熟悉PUT,我无法在互联网上找到任何好的例子或教程。三江源!

这是我尝试但没有工作的

function update_issue($issue_id){
    // set url
    $planio_url = "http://something.plan.io/issues/".issue_id.".json?key=185f1edsadfsdafy86578ce82ea70a0eb4267";

    // create curl resource
    $ch = curl_init();

    $data = '{"issue":{"status":{"name":"done","id":21},"notes":"closing all old issues"}}';
    $data = json_decode($data);

    $ch = curl_init($planio_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($data));

    $response = curl_exec($ch);

    if(!$response) {
        return false;
    }else{
        return $response;
    }
}

返回空响应。

1 个答案:

答案 0 :(得分:0)

适用于每个想要复制上面代码段的人。更新机票(就像我一样)

$ planio_url中的URL缺少$

..issues/".issue_id.".json

必须是:

issues/".$issue_id.".json

我还用true作为第二个参数解码了json,以获取用于http_build_query的数组

像魅力一样工作。