Skip to main content

Pulp plugin to trigger webhooks on package uploads

Project description

Pulp RPM Webhook Plugin

This plugin extends Pulp's functionality by adding webhook notifications when artifacts are published or uploaded.

Features

  • Triggers webhooks on artifact publications for following types:
  • RPM
  • File
  • Provides detailed artifact information in webhook payloads
  • Supports authentication via secret tokens
  • Configurable webhook endpoint URL

Installation

pip install pulp-webhook

Configuration

Add the following to your Pulp settings:

# Webhook endpoint URL
WEBHOOK_URL = "https://your-webhook-endpoint.com"

# Optional secret token for authentication (adds header X-PulpWebhook-Token)
WEBHOOK_SECRET = "your-secret-token"

Usage

RPM

  1. Create an RPM repository:
pulp rpm repository create --name my-rpm-repo
  1. Create a distribution:
pulp rpm distribution create --name my-dist --base-path my-dist --repository my-rpm-repo
  1. Upload or sync RPM packages to the repository. The plugin will automatically trigger webhooks when packages are published.

File

  1. Create a file repository:
pulp file repository create --name my-file-repo --autopublish
  1. Create a distribution:
pulp file distribution create --name my-dist --base-path my-dist --repository my-file-repo
  1. Upload or sync files to the repository. The plugin will automatically trigger webhooks when packages are published.

Webhook Payload Structure

The webhook payload includes:

  • Event type ("rpm.published")
  • Repository name
  • Publication details
  • List of added packages with:
    • Package metadata (name, version, release, etc.)
    • Distribution URLs
    • Upstream URLs (if synced from a remote)

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulp_webhook-0.1.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pulp_webhook-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file pulp_webhook-0.1.0.tar.gz.

File metadata

  • Download URL: pulp_webhook-0.1.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pulp_webhook-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3bb5189ed20f443b5decd98b49cac571d9ac1aed7c4c06c2538e3886ea954fc3
MD5 f73432ed56608edbab3363a6add71a6f
BLAKE2b-256 b326df753633759af61a907819c4fbbb4b500d89b23af0f402b0c790171f18d5

See more details on using hashes here.

File details

Details for the file pulp_webhook-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pulp_webhook-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pulp_webhook-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70316067cef79b9970717ae15cfc54f3d98b55b236f5291e33230f36da805db7
MD5 d23a1326b803b3747cdd231fabdb2951
BLAKE2b-256 0f6f0e921461648e33b3aaf6e867c92f7624d6b930993e7a0b8e097462a350f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page