Jobs /
Create manual job
Required permission
Project > Jobs > General > Create
Path parameters
projectId
string requiredID of the project
Request body
- {object}
name
string requiredThe name of the job.
min length3max length20pattern^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$description
stringA description of the job.
max length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$billing
{object} requireddeploymentPlan
string requiredThe ID of the deployment plan to use.
pattern^[A-Za-z0-9-]+$backoffLimit
integer requiredThe number of attempts to rerun a job before it is marked as failed.
runOnSourceChange
stringConfigure when the job should be run if the source image changes.
one ofnever, cd-promote, alwaysactiveDeadlineSeconds
integerThe maximum amount of time, in seconds, for a job to run before it is marked as failed.
min1deployment
(multiple options)Where to deploy the job from.
- {object}
Deploy from version control
cmdOverride
stringIf set, the job runs a custom command rather than one defined in the Dockerfile.
entrypointOverride
stringIf set, the job runs a custom entrypoint rather than one defined in the Dockerfile.
storage
{object}ephemeralStorage
{object}storageSize
integerEphemeral storage per container in MB
one of1024, 5120, 10240, 20480min1024max20480vcs
{object} requiredprojectUrl
string requiredURL of the Git repo to build.
pattern^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$projectType
string requiredThe VCS provider to use.
one ofbitbucket, gitlab, github, self-hostedselfHostedVcsId
stringIf projectType is self-hosted, the ID of the self-hosted vcs to use.
pattern^[A-Za-z0-9-]+\/[A-Za-z0-9-]+$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.projectBranch
string requiredThe name of the branch to use.
- {object}
Deploy from an external image
cmdOverride
stringIf set, the job runs a custom command rather than one defined in the Dockerfile.
entrypointOverride
stringIf set, the job runs a custom entrypoint rather than one defined in the Dockerfile.
storage
{object}ephemeralStorage
{object}storageSize
integerEphemeral storage per container in MB
one of1024, 5120, 10240, 20480min1024max20480external
{object} requiredimagePath
string requiredImage to be deployed. When not deploying from Dockerhub the URL must be specified.
pattern^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+)(\/v1)?)?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$credentials
stringID of the saved credentials to use to access this external image.
pattern^[A-Za-z0-9-]+$- {object}
Deploy from a Northflank build service
cmdOverride
stringIf set, the job runs a custom command rather than one defined in the Dockerfile.
entrypointOverride
stringIf set, the job runs a custom entrypoint rather than one defined in the Dockerfile.
storage
{object}ephemeralStorage
{object}storageSize
integerEphemeral storage per container in MB
one of1024, 5120, 10240, 20480min1024max20480internal
{object} requiredid
stringID of the build service to deploy
pattern^[A-Za-z0-9-]+$branch
stringBranch to deploy
buildSHA
Commit SHA to deploy, or 'latest' to deploy the most recent commit
buildId
stringID of the build that should be deployed
- {object}
Choose later
buildConfiguration
{object}pathIgnoreRules
[array]An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow
.gitignore
syntax.- string
A path ignore rule, following
.gitignore
syntax. For example,*.md
will ignore all files ending with.md
. buildSettings
(multiple options)- {object}
Build from a Dockerfile
dockerfile
{object} requiredbuildEngine
stringBuild engine to use. Defaults to recommended build engine
kaniko
one ofkaniko, buildkituseCache
booleanShould intermediate image layers be cached? Only supported by Kaniko.
dockerFilePath
string requiredThe file path of the Dockerfile.
pattern^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]+$dockerWorkDir
string requiredThe working directory of the Dockerfile.
pattern^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*$- {object}
Build from a Buildpack
buildpack
{object} requiredbuilder
stringBuildpack stack to use. Defaults to recommended stack
HEROKU_20
.one ofHEROKU_20, HEROKU_18, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_TINY, PAKETO_BASE, PAKETO_FULLbuildpackLocators
[array]Array of custom Buildpacks to use.
- string
Url or registry identifier of custom Buildpack.
buildContext
stringThe working directory to build in.
pattern^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*$runtimeEnvironment
{object}An object containing the runtime environment to set for the job. Keys must only contain letters and numbers separated with underscores, may not start with a number
runtimeFiles
{object}Secret files as JSON object, encrypted at rest. File path must be absolute
buildArguments
{object}An object containing the build arguments to set for the job. Keys must only contain letters and numbers separated with underscores, may not start with a number
buildFiles
{object}Secret files as JSON object, encrypted at rest. File path must be absolute
OR
OR
OR
OR
Response body
- {object}
Response object.
data
{object} requiredResult data.
id
string requiredIdentifier for the job
appId
string requiredFull identifier used for job deployment
name
string requiredJob name
description
stringA short description of the job
projectId
string requiredID of the project that the job belongs to
createdAt
date requiredThe time the job was created.
vcsData
{object}projectUrl
string requiredURL of the repository being built
projectType
string requiredVCS provider for the repo being built
one ofbitbucket, gitlab, github, self-hostedselfHostedVcsId
stringID of the self-hosted VCS, if applicable.
projectBranch
stringBranch of the repo being built
publicRepo
booleanWhether the repo is being accessed without authentication.
dockerWorkDir
string requiredWorking directory used by the dockerfile
dockerFilePath
string requiredFile path of the Dockerfile
buildConfiguration
{object}pathIgnoreRules
[array]An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow
.gitignore
syntax.- string
A path ignore rule, following
.gitignore
syntax. For example,*.md
will ignore all files ending with.md
. buildEngineConfiguration
{object}buildEngine
stringThe build engine used.
one ofbuildpack, kaniko, buildkitbuildpack
{object}Details about Buildpack settings.
builder
stringThe Buildpack stack used.
one ofHEROKU_20, HEROKU_18, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_TINY, PAKETO_BASE, PAKETO_FULLbuildpackLocators
[array]Array of custom Buildpacks used.
- string
Url or registry identifier of custom Buildpack.
kaniko
{object}Details about Kaniko settings.
useCache
booleanShould intermediate image layers be cached?
disabledCI
boolean requiredWhether Continuous Integration is disabled
disabledCD
boolean requiredWhether Continuous Deployment is disabled
deployment
{object}region
stringRegion where this job is deployed and built
docker
{object}Details about the Docker overrides for this deployment.
cmd
{object} requiredDetails about the CMD override for this deployment.
enabled
boolean requiredWhether the CMD override is enabled.
value
string requiredThe CMD to run instead of the default if CMD override is enabled.
entrypoint
{object} requiredDetails about the entrypoint override for this deployment.
enabled
boolean requiredWhether the entrypoint override is enabled.
value
string requiredThe CMD to run instead of the default if entrypoint override is enabled.
storage
{object}Details about storage settings for this deployment.
ephemeralStorage
{object}Details about ephemeral storage settings for this deployment.
storageSize
number requiredEphemeral storage per container in MB
billing
{object} requireddeploymentPlan
string requiredID of the billing plan used by this job
jobType
string requiredType of the job (manual or cron)
one ofmanual, cronsettings
{object} requiredJob settings
backoffLimit
integer requiredThe number of attempts to rerun a job before it is marked as failed.
activeDeadlineSeconds
integer requiredThe maximum amount of time, in seconds, for a job to run before it is marked as failed.
min1cron
{object}buildInitiated
boolean requiredWhether the job will be built immediately
POST /v1/projects/{projectId}/jobs/manual
Example request
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
--request POST \
--data '{"name":"Example Job","description":"A job description","billing":{"deploymentPlan":"nf-compute-20"},"backoffLimit":0,"runOnSourceChange":"never","activeDeadlineSeconds":600,"deployment":{"cmdOverride":"nginx -g","entrypointOverride":"/custom-entrypoint.sh","storage":{"ephemeralStorage":{"storageSize":1024}},"vcs":{"projectUrl":"https://github.com/northflank/gatsby-with-northflank","projectType":"github","accountLogin":"github-user","projectBranch":"master"}},"buildConfiguration":{"pathIgnoreRules":["README.md"]},"buildSettings":{"dockerfile":{"buildEngine":"kaniko","useCache":false,"dockerFilePath":"/Dockerfile","dockerWorkDir":"/"}},"runtimeEnvironment":{"variable1":"abcdef","variable2":"12345"},"runtimeFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"buildArguments":{"variable1":"abcdef","variable2":"12345"},"buildFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}}}' \
http://api.northflank.com/v1/projects/{projectId}/jobs/manual
Example response
200 OK
JSON
{
"data": {
"id": "example-job",
"appId": "/example-user/default-project/example-job",
"name": "Example Job",
"description": "This is the job description",
"projectId": "default-project",
"createdAt": "2021-01-20T11:19:53.175Z",
"vcsData": {
"projectUrl": "https://github.com/northflank/gatsby-with-northflank",
"projectType": "github",
"selfHostedVcsId": "example-team/self-hosted-vcs",
"projectBranch": "master",
"publicRepo": false,
"dockerWorkDir": "/",
"dockerFilePath": "/Dockerfile"
},
"buildConfiguration": {
"pathIgnoreRules": [
"README.md"
]
},
"buildEngineConfiguration": {
"buildEngine": "buildpack",
"buildpack": {
"builder": "HEROKU_20",
"buildpackLocators": [
"https://buildpack-registry.heroku.com/cnb/mars/create-react-app"
]
},
"kaniko": {}
},
"disabledCI": false,
"disabledCD": false,
"deployment": {
"region": "europe-west",
"docker": {
"cmd": {
"enabled": true,
"value": "nginx -g"
},
"entrypoint": {
"enabled": true,
"value": "/docker-entrypoint.sh"
}
},
"storage": {
"ephemeralStorage": {
"storageSize": 1024
}
}
},
"billing": {
"deploymentPlan": "nf-compute-20"
},
"jobType": "manual",
"settings": {
"backoffLimit": 0,
"activeDeadlineSeconds": 600,
"cron": {}
},
"buildInitiated": true
}
}