Bitbucket webhook不发送有效载荷

Han*_*ias 3 php git bitbucket webhooks

我是webhooks的新手,每当我推送到我的仓库时,我都会尝试自动部署到我的网站.

我将我的bitbucket repo上的webhook设置为一个包含一个简单的php脚本的URL:

if(isset($_POST['payload'])) {
    logMsg("Got stuff\n");
} else {
    logMsg("No stuff\n");
}
Run Code Online (Sandbox Code Playgroud)

在我推送到我的仓库之后,webhook将请求脚本正常但没有发送有效负载.我的日志文件总是说"没有东西".

我错过了什么?

小智 5

新的Bitbucket webhooks在请求体中发送有效负载,而不是像之前的"服务"那样在请求头中发送.因此,要访问有效负载,您必须读取请求正文,如下所示:

$payload = file_get_contents('php://input');
Run Code Online (Sandbox Code Playgroud)

或者像那样:

$payload = stream_get_contents(STDIN);
Run Code Online (Sandbox Code Playgroud)

Etvoilà!