feat: add UUIDs and URLs to webhook notifications

- Add resource UUIDs (application_uuid, database_uuid, server_uuid, task_uuid) to all webhook notifications
- Standardize URL field naming from various formats (resource_url, task_url, server_url) to consistent 'url' field
- Include parent resource UUIDs for scheduled tasks (application_uuid or service_uuid)
- Add direct URLs to Coolify resources for all notification types
- Update UI to show "Webhook URL (POST)" label for clarity

This enables webhook consumers to:
- Uniquely identify resources using UUIDs used throughout Coolify UI
- Directly link back to Coolify resource pages via the url field

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Andras Bacsai
2025-10-10 18:41:46 +02:00
parent bdffa4704d
commit 0303f529d3
17 changed files with 354 additions and 29 deletions

View File

@@ -185,4 +185,30 @@ class DeploymentFailed extends CustomEmailNotification
color: SlackMessage::errorColor()
);
}
public function toWebhook(): array
{
$data = [
'success' => false,
'message' => 'Deployment failed',
'event' => 'deployment_failed',
'application_name' => $this->application_name,
'application_uuid' => $this->application->uuid,
'deployment_uuid' => $this->deployment_uuid,
'deployment_url' => $this->deployment_url,
'project' => data_get($this->application, 'environment.project.name'),
'environment' => $this->environment_name,
];
if ($this->preview) {
$data['pull_request_id'] = $this->preview->pull_request_id;
$data['preview_fqdn'] = $this->preview->fqdn;
}
if ($this->fqdn) {
$data['fqdn'] = $this->fqdn;
}
return $data;
}
}