Как отправить действие с помощью webhook в trello? - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь создать комментарий к своей карточке всякий раз, когда карточка создается на моей доске trello. У меня есть доступ к моему ключу Api и токену.

    $json = file_get_contents("php://input");
    $data = json_decode($json,true);
    $fp = fopen("myjson.txt",'w');
    fwrite($fp,$json);
    fclose($fp);
    $id = (string) $data["action"]["data"]["card"]["id"];
    $actionThatTriggered = (string) $data["action"]["type"];

   if($actionThatTriggered == "createCard"){
     $ch = curl_init();
     curl_setopt($ch,CURLOPT_URL,"https://api.trello.com/1/cards/".$id."/actions/comments?text=hello+world&key=".$apikey."&token=".$tokennumber);
     curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
     curl_setopt($ch,CURLOPT_POST,true);
     curl_setopt($ch,CURLOPT_HEADER,false);
     $server_response = curl_exec($ch);
     curl_close($ch);
}

Я могу сохранить ответ от webhook в моем json .txt, но не могу отправить запрос POST curl для комментирования карты, которая создано. Я разместил этот файл на сервере apache2, который работает.

Кроме того, когда я запускаю этот скрипт независимо через свое ядро, я вижу новый комментарий на моей карточке. Я думаю, что есть некоторая проблема с размещением файла на сервере.

Я новичок в веб-материалах, поэтому подробное объяснение будет очень полезно.

1 Ответ

0 голосов
/ 15 января 2020

По умолчанию json_decode возвращает объект. Если вы sh вернете вывод в ассоциативный массив, вам нужно будет передать второй аргумент как логическое значение "true". Итак, замените 2-ю строку следующим:

$data = json_decode($json, true);
...