0

如此处所述

对于公共存储库 - https://bitbucket.org/kirchbergerknorr/test 我为 Pull Request POST 设置了挂钩: 挂钩设置

然后我创建了拉取请求,这里是 GET 和 POST 变量的转储:

GET: Array
(
    [type] => pullrequest
    [project] => test
)

POST: Array
(
)

我希望它应该与 POST 挂钩的工作方式相同:

POST: Array
(
    [payload] => {"repository": {"website": "", ...

但 POST var 完全为空

4

1 回答 1

1

Kaleb Elwert在 bugtracker 中发布了一个答案

现在,我将保持原样。但是,这不是错误。最初的 POST 挂钩在“有效负载”POST 变量中提供 JSON 数据,但这是一种较旧的处理方法。在较新的 Pull Request POST 挂钩中,我们只需提供 application/json 的 Content-Type 并将数据包含为原始 POST 数据。我们无意对这些钩子中的任何一个进行任何向后不兼容的更改,因此最好的办法是拥有一个单独的端点来管理拉取请求钩子。这是您的示例代码的修改版本,它将 json 拉入 $data 变量。

https://confluence.atlassian.com/display/BITBUCKET/Pull+Request+POST+hook+management

<?php

$json = file_get_contents('php://input');
if (!$json) {
    return false;
}

$data = json_decode($json);
于 2014-09-17T12:55:27.903 回答