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 file 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 in the repository. If using an existing file, 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, skipped, waiting, retrying, async_wait, approval_waitconcluded
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}/runsExample 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"
}
}