> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scitix.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure Registry Webhook

> Configure event callbacks for registry projects and view webhook delivery records.

A webhook is an event notification mechanism for the container image registry. After you configure a webhook, when an artifact in a project triggers a specified event, the system sends event information to the target address via HTTP POST. You can use webhooks to trigger CI/CD pipelines, synchronize the status of external systems, record audit information, or send notifications.

## Pre-Action Confirmation

* A callback URL (Endpoint) ready to receive HTTP POST requests has been prepared.
* If the callback service requires authentication, authentication headers for request validation have been prepared.

## Create Webhook

1. Log in to the [GPU Cloud console](https://console.scitix.ai/gpu-cloud/home).

2. Go to **STORAGE > Registry** and select the region where the project is located.

3. On the **Projects** tab, click the name of the target project.

4. In the project sidebar, go to the **Webhook** page and click **Create Webhook**.

5. Fill in the Webhook configuration.

   | Configuration Item | Description |
   | - | - |
   | **Name** | Enter a name that makes it easy to identify the receiving system or purpose. |
   | **Description** | Record the callback purpose as needed, for example, image synchronization, audit logging, or external notifications. |
   | **Event Type** | Select the events that the downstream system needs to process. Select only the necessary events to prevent external systems from receiving irrelevant notifications. |
   | **Target Address** | Enter the receiving address of the callback service, and ensure that the service can receive HTTP POST requests sent by the registry. |
   | **Authentication Header** | If the callback service requires requests to include authentication headers, enter the relevant information. Do not include keys in the description or other public content. |
   | **Certificate Verification** | When using an HTTPS callback address, choose whether to verify the certificate based on the certificate configuration of the receiving service. |

   Select the **Event Type** from the table below. Callback requests sent to the target URL vary by event and typically include the event type, occurrence time, operator, and information about the relevant repository or artifact.

   | Event | Event Type | Description | Main Callback Content |
   | - | - | - | - |
   | Push artifact to repository | `PUSH_ARTIFACT` | Triggered when an artifact is pushed to a repository in a project. | Namespace, repository, resource URL, tag, manifest digest, artifact name, push time, operator. |
   | Pull artifact from repository | `PULL_ARTIFACT` | Triggered when an artifact is pulled. | Namespace, repository, manifest digest, artifact name, pull time, operator. |
   | Delete artifact from repository | `DELETE_ARTIFACT` | Triggered when an artifact is deleted. | Namespace, repository, manifest digest, artifact name, artifact size, deletion time, operator. |
   | Project quota exceeded | `QUOTA_EXCEED` | Triggered when the project quota is exceeded. | Namespace, repository, tag, manifest digest, artifact name, push time, operator. |
   | Project quota reaches warning threshold | `QUOTA_WARNING` | Triggered when the project quota reaches the warning threshold. | Namespace, repository, tag, manifest digest, artifact name, push time, operator. |
   | Artifact scanning completed | `SCANNING_COMPLETED` | Triggered when an artifact scanning task is completed. This event indicates that the scanning process has finished; it does not mean that the artifact has no vulnerabilities. | Namespace, repository, tag, artifact name, number of vulnerabilities, scan completion time, user who performed the scan. |
   | Artifact scanning stopped | `SCANNING_STOPPED` | Triggered when an artifact scanning task is stopped or aborted. This event does not indicate that the scan was completed successfully. | Namespace, repository, tag, artifact name, scan status. |
   | Artifact scanning failed | `SCANNING_FAILED` | Triggered when an artifact scanning task fails. This event indicates that the scan did not complete normally. | Namespace, repository, tag, artifact name, error message, user who performed the scan. |
   | Artifact replication status changed | `REPLICATION` | Triggered when the status of an artifact replication task changes. | Namespace, repository, tag, manifest digest, artifact name, replication status, operator. |
   | Artifact tag retention completed | `TAG_RETENTION` | Triggered when an artifact retention policy has finished executing. | Namespace, repository, retention count, retention rules, deleted artifact results. |

6. Save the configuration, and confirm on the **Webhook** page that the webhook has been created.

   ![Webhook List](https://mintcdn.com/scitix-adfc65c2/zAestxkyOFggIEE8/gpu-cloud/registry/media/image-webhook-list.png?fit=max\&auto=format\&n=zAestxkyOFggIEE8\&q=85\&s=05bb1b8ec55f22b20ff080e279c0ea43)

## View Delivery Records

1. On the **Webhook** page, locate the target webhook and click the expand icon.

2. View delivery records.

   **Payload** is the event content that the webhook actually sends to the target URL. If the external system does not receive the callback, first check whether the webhook is enabled, whether the event type matches, whether the target URL is available, and whether the receiving service can process the current event content.

   ![Webhook delivery records](https://mintcdn.com/scitix-adfc65c2/zAestxkyOFggIEE8/gpu-cloud/registry/media/image-webhook-records.png?fit=max\&auto=format\&n=zAestxkyOFggIEE8\&q=85\&s=45c78d1a6105a2a7c5f6d2a0845884f5)

## Update or Disable a Webhook

* To modify the destination URL, event type, or authentication information, click **Edit** in the **Actions** column for the target webhook, make the changes, and save them.
* To pause event notifications, click **Disable**. Once disabled, the webhook no longer delivers events to the destination URL.
* When the webhook is no longer needed, click **Delete** and follow the prompts to confirm. Before deleting it, ensure that downstream systems no longer depend on the corresponding event notifications.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.