Merge pull request #5029 from IARayan/IARayan-bitbucket-preview-deployment-fix-pullrequest-update
fix: Handle pullrequest:updated for reliable preview deployments
This commit is contained in:
@@ -37,7 +37,7 @@ class Bitbucket extends Controller
|
|||||||
$headers = $request->headers->all();
|
$headers = $request->headers->all();
|
||||||
$x_bitbucket_token = data_get($headers, 'x-hub-signature.0', '');
|
$x_bitbucket_token = data_get($headers, 'x-hub-signature.0', '');
|
||||||
$x_bitbucket_event = data_get($headers, 'x-event-key.0', '');
|
$x_bitbucket_event = data_get($headers, 'x-event-key.0', '');
|
||||||
$handled_events = collect(['repo:push', 'pullrequest:created', 'pullrequest:rejected', 'pullrequest:fulfilled']);
|
$handled_events = collect(['repo:push', 'pullrequest:updated', 'pullrequest:created', 'pullrequest:rejected', 'pullrequest:fulfilled']);
|
||||||
if (! $handled_events->contains($x_bitbucket_event)) {
|
if (! $handled_events->contains($x_bitbucket_event)) {
|
||||||
return response([
|
return response([
|
||||||
'status' => 'failed',
|
'status' => 'failed',
|
||||||
@@ -48,14 +48,15 @@ class Bitbucket extends Controller
|
|||||||
$branch = data_get($payload, 'push.changes.0.new.name');
|
$branch = data_get($payload, 'push.changes.0.new.name');
|
||||||
$full_name = data_get($payload, 'repository.full_name');
|
$full_name = data_get($payload, 'repository.full_name');
|
||||||
$commit = data_get($payload, 'push.changes.0.new.target.hash');
|
$commit = data_get($payload, 'push.changes.0.new.target.hash');
|
||||||
if (! $branch) {
|
|
||||||
|
if (!$branch) {
|
||||||
return response([
|
return response([
|
||||||
'status' => 'failed',
|
'status' => 'failed',
|
||||||
'message' => 'Nothing to do. No branch found in the request.',
|
'message' => 'Nothing to do. No branch found in the request.',
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($x_bitbucket_event === 'pullrequest:created' || $x_bitbucket_event === 'pullrequest:rejected' || $x_bitbucket_event === 'pullrequest:fulfilled') {
|
if ($x_bitbucket_event === 'pullrequest:updated' || $x_bitbucket_event === 'pullrequest:created' || $x_bitbucket_event === 'pullrequest:rejected' || $x_bitbucket_event === 'pullrequest:fulfilled') {
|
||||||
$branch = data_get($payload, 'pullrequest.destination.branch.name');
|
$branch = data_get($payload, 'pullrequest.destination.branch.name');
|
||||||
$base_branch = data_get($payload, 'pullrequest.source.branch.name');
|
$base_branch = data_get($payload, 'pullrequest.source.branch.name');
|
||||||
$full_name = data_get($payload, 'repository.full_name');
|
$full_name = data_get($payload, 'repository.full_name');
|
||||||
@@ -119,7 +120,7 @@ class Bitbucket extends Controller
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($x_bitbucket_event === 'pullrequest:created') {
|
if ($x_bitbucket_event === 'pullrequest:created' || $x_bitbucket_event === 'pullrequest:updated') {
|
||||||
if ($application->isPRDeployable()) {
|
if ($application->isPRDeployable()) {
|
||||||
$deployment_uuid = new Cuid2;
|
$deployment_uuid = new Cuid2;
|
||||||
$found = ApplicationPreview::where('application_id', $application->id)->where('pull_request_id', $pull_request_id)->first();
|
$found = ApplicationPreview::where('application_id', $application->id)->where('pull_request_id', $pull_request_id)->first();
|
||||||
|
Reference in New Issue
Block a user