Skip to content

General webhook setup #131

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jul 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions docs/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,27 @@ For Private Packagist to be able to access repositories that require authenticat

Note: Even though you need to select a domain when you create a credential Private Packagist will not automatically apply the credential for all HTTP calls to that domain. Private Packagist will only suggest it where it might be useful. Therefore it is important that you explicitly select it when you add the credential or else Private Packagist will not be able to import the repository.

### General webhook setup

Webhooks are automatically configured for packages from GitHub, GitLab, and Bitbucket when added through a synchronization or added by URL with a credential with permissions to configure a webhook.

See integration specific information on webhooks here: [Integrations](/features/integration-github-bitbucket-gitlab)

For other code-hosting platforms or custom setups, you can also configure the webhook manually.

Find your unique webhook URL on the package details page:

![Webhook Setup](/Resources/public/img/docs/integration-setup/webhook-setup.png)

Configure your webhook to trigger on the following repository events:
- On each pus
- When a branch is created
- When a branch is deleted
- When a tag is created
- When a tag is deleted

These events ensure your package metadata stays synchronized with your repository changes, enabling automatic updates when you publish new versions or modify your codebase.

### Add a forked VCS repository

When adding a fork to Private Packagist it can happen that the original package was already added. Since Composer cannot load multiple packages by the same name from one URL, the new package will be marked as uninstallable with Composer due to a conflicting name. You will have to delete the original package and then add your fork. Once the changes of the fork are merged back upstream and you are ready to delete the fork you can also delete the package in Private Packagist. Private Packagist will then automatically mirror the original package from packagist.org again.
Expand Down Expand Up @@ -257,3 +278,4 @@ Once all the repository entries have been added to Private Packagist the setup i
}
}
```

7 changes: 7 additions & 0 deletions features/integration-github-bitbucket-gitlab.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,10 @@ Private Packagist integrates with the following systems:
* Webhooks:
* Users need to [create a Service Hook](https://docs.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops) using the generic hook URL from the package page
* Select the "Code pushed" event (includes commits and tags) and the repository that matches the package. No authentication or additional configuration is necessary.

#### Beanstalk
* Code Credentials: Grant us access via SSH key
* Webhooks:
* Users need to [create a Modular Webhooks Integration](https://support.beanstalkapp.com/article/56-modular-webhooks-integration) using the generic hook URL from the package page
* Following events need to be selected: `push`, `create_branch`, `delete_branch`, `create_tag`, `delete_tag`

Loading