Templates /
Run template
Run a template
Required permission
Account > Templates > General > Run
Path parameters
templateId
string requiredID of the template
Request body
- {object}
arguments
{object}A set of arguments that can be referenced in a template using '${args.argumentName}'.
Response body
- {object}Response object.
data
{object} requiredResult data.name
string requiredName of the template.min length3max length100pattern^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$description
stringDescription of the template.max length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$apiVersion
string requiredThe version of the Northflank API to run the template against.one ofv1.2options
{object}Options regarding how the template is run.autorun
booleanIf true, the template will run automatically whenever a change is made to it.concurrencyPolicy
stringDefines the concurrency behaviour of the template with respect to parallel runs.one ofallow, queue, forbidarguments
{object}A set of arguments that can be referenced in a template using '${args.argumentName}'.gitops
{object}vcsService
string requiredThe VCS provider to use.one ofbitbucket, gitlab, github, self-hosted, azureselfHostedVcsId
stringIf projectType is self-hosted, the ID of the self-hosted vcs to use.pattern^([A-Za-z0-9-]+\/[A-Za-z0-9-]+)|([0-9a-f]{24})$accountLogin
stringBy default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.vcsLinkId
stringLegacy key. Please used accountLogin instead.repoUrl
string requiredURL of the Git repo to sync the template with.pattern^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$branch
string requiredThe name of the branch to use.filePath
string requiredThe file path to the template in the repository. If using an existing template, it should be in JSON format.pattern^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]+$$schema
stringspec
(multiple options: oneOf) requiredA node representing an action to be performed as part of the template.refs
{object}id
string requiredIdentifier for the template runtemplateId
string requiredIdentifier for the templatestatus
string requiredStatus of the template runone ofpending, running, success, failure, aborted, aborting, queued, unknown, skippedconcluded
boolean requiredWhether the run has concluded (aborted, success, failed)createdAt
string requiredTimestamp the run was created at.updatedAt
string requiredTimestamp the run was last updated at.
API
CLI
JS Client
POST /v1/templates/{templateId}/runs
Example request
Request body
curl
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
--request POST \
--data 'undefined' \
https://api.northflank.com/v1/templates/{templateId}/runs
Example response
200 OK
Details about the newly create template run.
JSON
{
"data": {
"name": "Example Template",
"description": "This is a sample template.",
"apiVersion": "v1.2",
"options": {
"autorun": false,
"concurrencyPolicy": "allow"
},
"gitops": {
"vcsService": "github",
"accountLogin": "github-user",
"repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
"branch": "main"
},
"spec": {
"settings": {
"maxAttempts": 3,
"backoff": {
"type": "fixed",
"delay": 60
}
},
"kind": "Workflow",
"response": {
"status": "success",
"retries": {
"attempts": 1,
"maxAttempts": 3,
"timestamp": 1657296265
},
"startTime": 1657296265,
"endTime": 1657296265
}
},
"id": "3dd592f6-ce63-45ee-acf8-13dc5ec5235c",
"templateId": "example-template",
"status": "success",
"concluded": true,
"createdAt": "2021-01-01 12:00:00.000Z",
"updatedAt": "2021-01-01 12:00:00.000Z"
}
}