How It Works
- Ctrlplane creates a job and dispatches it to GitHub
- GitHub triggers your workflow with
workflow_dispatch - Your workflow fetches job context (version, environment, resource)
- Your workflow executes the deployment
- Job status is reported back to Ctrlplane
Prerequisites
- GitHub App installed in your organization
- Workflow file with
workflow_dispatchtrigger - Repository permissions for the GitHub App
Configuration
Job Agent Setup
Create a job agent with typegithub-app:
Deployment Configuration
Configure the deployment to use GitHub Actions:| Field | Required | Description |
|---|---|---|
installationId | Yes | GitHub App installation ID |
owner | Yes | Repository owner (org or user) |
repo | Yes | Repository name |
workflowId | Yes | Workflow ID (numeric) |
ref | No | Git ref to run workflow on (default: main) |
Finding Your Workflow ID
Use the GitHub API to find your workflow ID:Workflow Setup
Create a workflow file in your repository:Available Job Context
Theget-job-inputs action provides these outputs:
| Output | Description |
|---|---|
job_id | The Ctrlplane job ID |
version_tag | Version tag being deployed |
version_name | Version name |
environment_name | Target environment name |
environment_id | Target environment ID |
resource_identifier | Target resource identifier |
resource_name | Target resource name |
resource_kind | Target resource kind |
resource_config | Resource config (JSON) |
deployment_name | Deployment name |
deployment_variables | Deployment variables (JSON) |