Out Plane

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 bodyResult
{"imageName":"..."}Deploys that image and makes it current.
Empty, or no body at allRedeploys 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.

On this page