Deploy from CI
Trigger a deployment from your own pipeline with an API token.
Any pipeline can ship a new version with a single request. This is the usual setup for image apps, where your own CI builds and pushes the image, then tells Out Plane which tag to run.
Trigger a Deployment
Create an API Token
Create a token under API Tokens in Settings, then store it as a secret in your pipeline. The token is shown once, at creation.
Copy the Application ID
Open the application in the console. The ID is the last part of the address,
https://console.outplane.com/applications/APPLICATION_ID.
Call the Endpoint
curl -X POST "https://api.outplane.com/api/AppDeployment/CreateAppDeployment/APPLICATION_ID" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"imageName":"ghcr.io/acme/api:1.4.0"}'The call returns as soon as the deployment is accepted. Follow the rest on the Deployments tab.
GitHub Actions
Add the token as a repository secret, then deploy in the step after your image is pushed:
- name: Deploy to Out Plane
env:
IMAGE_NAME: ghcr.io/${{ github.repository }}:${{ github.sha }}
run: |
curl -fsS -X POST \
"https://api.outplane.com/api/AppDeployment/CreateAppDeployment/${{ vars.OUTPLANE_APP_ID }}" \
-H "Authorization: Bearer ${{ secrets.OUTPLANE_API_TOKEN }}" \
-H "Content-Type: application/json" \
-d "{\"imageName\":\"${IMAGE_NAME}\"}"Choosing the Image
imageName becomes the application's current image, so a later redeploy with no body runs
that same image.
| Request body | Result |
|---|---|
{"imageName":"..."} | Deploys that image and makes it current. |
| Empty, or no body at all | Redeploys the current image. |
Applications that build from GitHub reject imageName, because the platform builds their
image for them. Send no body and the default branch is built and deployed again.