来自胡克的GitHub Payload没有回来?

时间:2014-11-15 23:43:34

标签: php git github githooks

我在公共服务器上创建了一个简单的脚本。

if($_GET['secret'])
{
   if($_GET['secret'] == $update_key)
   {
      $payload = json_decode(stripslashes($_POST['payload']));

      print_r($payload, TRUE);
   }
}
else
{
   die('You are not authorized');
}

然后我在我的GitHub项目中创建了一个WebHook,其应用程序类型为application/json,指向上面的脚本。

现在当我推送到我的存储库,然后在管理webhooks页面上查看GitHub中响应的主体时,我发现当请求时,页面正文是空白的。

为什么不显示GitHub的有效负载?

注意:我已尝试使用相同的结果$_POST['payload']$_REQUEST['payload']

你为什么试图找个钩子?

简单,我想在GitHub上创建新版本时调用钩子,然后从有效负载中提取发行说明并将它们存储在同一服务器上名为release.txt的文件中。

但是现在我甚至无法显示有效负载。

1 个答案:

答案 0 :(得分:2)

这也引起了我的注意。

您实际上需要获取请求的全部内容,而不仅仅是$_POST,您可以使用file_get_contents('php://input')将主体作为字符串来获取。有了这个,你应该能够json_decode并获得你需要的东西。

有关此在线帖子的一半仍然引用$_POST['payload'],但似乎已不再使用了。

希望这有帮助!