@foreach ($this->vendors as $vendor) @endforeach New Webhook Back
Vendor Provider Endpoint URL Deliveries (24h) Last Received Status Actions @forelse ($this->webhooks as $webhook)
{{ $webhook->vendor->name }}
{{ $webhook->vendor->slug }}
{{ $webhook->getProviderLabel() }} {{ $webhook->getEndpointUrl() }} @if($webhook->recent_deliveries_count > 0) {{ $webhook->recent_deliveries_count }} @else - @endif {{ $webhook->last_received_at?->diffForHumans() ?? 'Never' }} {{ $webhook->status_label }}
View Details View Deliveries Rotate Secret {{ $webhook->is_active ? 'Disable' : 'Enable' }} Delete
@empty
No webhooks configured Create a webhook to receive vendor release notifications Create Webhook
@endforelse
@if($this->webhooks->hasPages())
{{ $this->webhooks->links() }}
@endif
{{-- Webhook Detail Modal --}} @if($this->selectedWebhook)
{{ $this->selectedWebhook->vendor->name }} {{ $this->selectedWebhook->getProviderLabel() }} Webhook
{{ $this->selectedWebhook->status_label }}
Webhook Endpoint URL
{{ $this->selectedWebhook->getEndpointUrl() }}
Total Deliveries
{{ $this->selectedWebhook->deliveries_count }}
Last 24 Hours
{{ $this->selectedWebhook->recent_deliveries_count }}
Last Received
{{ $this->selectedWebhook->last_received_at?->format('d M Y H:i') ?? 'Never' }}
Failure Count
{{ $this->selectedWebhook->failure_count }}
@if($this->selectedWebhook->isInGracePeriod())
Secret rotation in progress

Both old and new secrets are accepted until {{ $this->selectedWebhook->grace_ends_at->format('d M Y H:i') }}.

@endif
Setup Instructions
@if($this->selectedWebhook->provider === 'github')

1. Go to your GitHub repository Settings > Webhooks

2. Click "Add webhook"

3. Paste the endpoint URL above

4. Set Content type to application/json

5. Enter your webhook secret

6. Select "Let me select individual events" and choose "Releases"

@elseif($this->selectedWebhook->provider === 'gitlab')

1. Go to your GitLab project Settings > Webhooks

2. Enter the endpoint URL

3. Add your secret token

4. Select "Releases events" trigger

@elseif($this->selectedWebhook->provider === 'npm')

1. Configure your npm package hooks using npm hook add

2. Use the endpoint URL and your webhook secret

@elseif($this->selectedWebhook->provider === 'packagist')

1. Go to your Packagist package page

2. Edit the package settings

3. Add a webhook URL pointing to this endpoint

@else

Configure your system to POST JSON payloads to the endpoint URL.

Include the version in your payload as version, tag, or tag_name.

Sign payloads with HMAC-SHA256 using your secret and include in X-Signature header.

@endif
Delete
Rotate Secret View Deliveries Close
@endif
{{-- Create Webhook Modal --}}
Create Webhook Configure a new vendor release webhook
@foreach ($this->vendors as $vendor) @endforeach
Cancel Create Webhook
{{-- Secret Display Modal --}}
Webhook Secret Copy this secret now - it will not be shown again
Important

This is the only time you will see this secret. Copy it now and store it securely.

@if($displaySecret)
Webhook Secret
{{ $displaySecret }}
@endif
I have copied the secret
{{-- Deliveries Modal --}}
Webhook Deliveries Recent webhook delivery history
@forelse ($this->selectedWebhookDeliveries as $delivery) @if($delivery->error_message) @endif @empty @endforelse
Time Event Version Status Signature Actions
{{ $delivery->created_at->format('d M H:i:s') }} {{ $delivery->event_type }} {{ $delivery->version ?? '-' }} {{ ucfirst($delivery->status) }} {{ ucfirst($delivery->signature_status ?? 'unknown') }} @if($delivery->canRetry()) Retry @endif
Error: {{ $delivery->error_message }}
No deliveries recorded yet
Close