Branch-Aware Commit Routing
When you push a commit to GitHub, Pxxl’s webhook handler intercepts the payload and routes it through a four-step pipeline before triggering a build. This ensures only the right project is deployed for the right branch, and that no rogue pushes cause unexpected production changes.Signature Verification
Pxxl validates the
X-Hub-Signature-256 header in the incoming payload against the webhook secret registered in your GitHub repository. Any payload that fails verification is rejected immediately.Target Extraction
Pxxl reads the repository name and the target branch ref from the push event payload to determine where the commit landed.
Project Matching
The control plane looks up all Pxxl projects associated with that repository and branch combination. Commits to branches that don’t match any project are silently ignored.
Pull Request Previews
Pull request previews are temporary, isolated environments that Pxxl provisions automatically whenever a developer opens a pull request against your configured base branch. Each preview gets its own live URL, so reviewers and stakeholders can interact with the real, running application — not a screenshot or a staging slot shared across multiple PRs. Pxxl listens for the following pull request hook activities:| Event | What happens |
|---|---|
opened | Pxxl provisions a new isolated environment and maps a temporary preview URL. |
synchronize | Triggered when new commits are pushed to the PR source branch. The preview is rebuilt and redeployed automatically. |
reopened | Pxxl restarts the preview environment or creates a fresh one if the previous instance was cleaned up. |
closed | Pxxl shuts down the environment, deletes the associated routes, and releases all environment resources. |
Preview Lifecycles
Preview environments are intentionally short-lived to conserve resources. Every preview follows this lifecycle:- Manual closure: When you merge or close the pull request on GitHub, the Pxxl webhook agent receives the
closedevent and terminates the environment immediately. - Automatic expiry: If a pull request stays open for 72 hours, a background cleanup worker stops the environment and marks its preview state as expired. You can re-open the PR to trigger a fresh preview build.
Preview Metadata Payload
You can query the active deployment metadata for any preview environment using the platform API. The response gives you the full context of the running preview, including its source branch, commit SHA, and expiry timestamp.Setting Up Previews
Follow these steps to enable pull request previews for a project in your dashboard:Specify the base branch
Enter the target base branch that previews should watch — typically
main or master.