2021-09-27 00:38:15 +00:00
{
"title" : "Woodpecker CI configuration file" ,
"$schema" : "http://json-schema.org/draft-07/schema#" ,
2021-10-14 16:13:57 +00:00
"$id" : "https://woodpecker-ci.org/schema/woodpecker.json" ,
"description" : "Schema of a Woodpecker pipeline file. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
"required" : [ "pipeline" ] ,
"additionalProperties" : false ,
"properties" : {
"$schema" : {
"type" : "string" ,
"format" : "uri"
} ,
"clone" : { "$ref" : "#/definitions/clone" } ,
"branches" : { "$ref" : "#/definitions/branches" } ,
"pipeline" : { "$ref" : "#/definitions/pipeline" } ,
"services" : { "$ref" : "#/definitions/services" } ,
"workspace" : { "$ref" : "#/definitions/workspace" } ,
"matrix" : { "$ref" : "#/definitions/matrix" } ,
"skip_clone" : { "type" : "boolean" } ,
"depends_on" : {
"type" : "array" ,
"minLength" : 1 ,
"items" : { "type" : "string" }
} ,
"run_on" : {
"type" : "array" ,
"minLength" : 1 ,
"items" : { "type" : "string" }
}
} ,
"definitions" : {
"clone" : {
2021-10-14 16:13:57 +00:00
"description" : "Configures the clone step. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#clone" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"git" : {
"type" : "object" ,
"properties" : {
"image" : {
"type" : "string"
}
}
}
}
} ,
"branches" : {
2021-10-14 16:13:57 +00:00
"description" : "Only include commits based on their target branch. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#branches" ,
2021-09-27 00:38:15 +00:00
"oneOf" : [
{
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minProperties" : 1
} ,
{
"type" : "string"
} ,
{
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"exclude" : {
"oneOf" : [
{
"type" : "array" ,
"items" : { "type" : "string" } ,
"minLength" : 1
} ,
{ "type" : "string" }
]
} ,
"include" : {
"oneOf" : [
{
"type" : "array" ,
"items" : { "type" : "string" } ,
"minLength" : 1
} ,
{ "type" : "string" }
]
}
}
}
]
} ,
"pipeline" : {
2021-10-14 16:13:57 +00:00
"description" : "The pipeline section defines a list of steps which will be executed serially, in the order in which they are defined. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
"additionalProperties" : {
"$ref" : "#/definitions/step"
} ,
"minProperties" : 1
} ,
"step" : {
2021-10-14 16:13:57 +00:00
"description" : "Every step of your pipeline executes arbitrary commands inside a specified docker container. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#steps" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
2021-12-04 15:44:18 +00:00
"additionalProperties" : false ,
2021-09-27 00:38:15 +00:00
"required" : [ "image" ] ,
"properties" : {
"image" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#step-image" ,
2021-09-27 00:38:15 +00:00
"type" : "string"
} ,
"pull" : {
2021-10-14 16:13:57 +00:00
"description" : "Always pull the latest image on pipeline execution Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#step-image" ,
2021-09-27 00:38:15 +00:00
"type" : "boolean"
} ,
"commands" : {
2021-10-14 16:13:57 +00:00
"description" : "Commands of every pipeline step are executed serially as if you would enter them into your local shell. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#step-commands" ,
2021-09-27 00:38:15 +00:00
"oneOf" : [
{
"type" : "array" ,
"items" : { "type" : "string" } ,
"minLength" : 1
} ,
{ "type" : "string" }
]
} ,
"environment" : {
2021-10-14 16:13:57 +00:00
"description" : "Pass environment variables to a pipeline step. Read more: https://woodpecker-ci.org/docs/usage/environment" ,
2021-12-04 15:44:18 +00:00
"oneOf" : [
{
"type" : "array" ,
"items" : { "type" : "string" } ,
"minLength" : 1
} ,
{
"type" : "object" ,
"additionalProperties" : {
"type" : [ "boolean" , "string" , "number" ]
}
}
]
2021-09-27 00:38:15 +00:00
} ,
"secrets" : {
2021-10-14 16:13:57 +00:00
"description" : "Pass secrets to a pipeline step at runtime. Read more: https://woodpecker-ci.org/docs/usage/secrets" ,
2021-09-27 00:38:15 +00:00
"type" : "array" ,
"items" : {
"oneOf" : [
{ "type" : "string" } ,
{
"type" : "object" ,
"required" : [ "source" , "target" ] ,
"properties" : {
"source" : { "type" : "string" } ,
"target" : { "type" : "string" }
}
}
]
} ,
"minLength" : 1
} ,
"when" : {
"$ref" : "#/definitions/step_when"
} ,
"group" : {
2021-10-14 16:13:57 +00:00
"description" : "Execute multiple steps with the same group key in parallel. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#step-group---parallel-execution" ,
2021-09-27 00:38:15 +00:00
"type" : "string"
} ,
"volumes" : {
2021-10-14 16:13:57 +00:00
"description" : "Mount files or folders from the host machine into your step container. Read more: https://woodpecker-ci.org/docs/usage/volumes" ,
2021-09-27 00:38:15 +00:00
"oneOf" : [
{ "type" : "string" } ,
{ "type" : "array" , "items" : { "type" : "string" } , "minLength" : 1 }
]
2021-12-04 15:44:18 +00:00
} ,
"detach" : {
"description" : "Detach a step to run in background until pipeline finishes. Read more: https://woodpecker-ci.org/docs/usage/services#detachment" ,
"type" : "boolean"
} ,
"settings" : {
"description" : "Change the settings of your plugin. Read more: https://woodpecker-ci.org/docs/usage/plugins/plugins" ,
"type" : "object" ,
"additionalProperties" : {
2021-12-08 17:17:52 +00:00
"type" : [ "boolean" , "string" , "number" , "array" , "object" ]
2021-12-04 15:44:18 +00:00
}
2021-09-27 00:38:15 +00:00
}
}
} ,
"step_when" : {
2021-10-14 16:13:57 +00:00
"description" : "Steps can be skipped based on conditions. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#step-when---conditional-execution" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"branch" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#branch" ,
2021-09-27 00:38:15 +00:00
"type" : "string"
} ,
"event" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#event" ,
2021-09-27 00:38:15 +00:00
"oneOf" : [
{
"type" : "array" ,
"items" : {
"enum" : [ "push" , "pull_request" , "tag" , "deployment" ]
} ,
"minLength" : 1
} ,
{
"enum" : [ "push" , "pull_request" , "tag" , "deployment" ]
}
]
} ,
"tag" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#tag" ,
2021-09-27 00:38:15 +00:00
"type" : "string"
} ,
"status" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#status" ,
2021-09-27 00:38:15 +00:00
"type" : "array" ,
"items" : {
"enum" : [ "success" , "failure" ]
}
} ,
2021-10-08 16:10:17 +00:00
"platform" : {
2021-10-14 16:13:57 +00:00
"description" : "Execute a step only on a specific platform. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#platform" ,
2021-09-27 00:38:15 +00:00
"oneOf" : [
{
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"minLength" : 1
} ,
{ "type" : "string" }
]
} ,
"environment" : {
2021-10-14 16:13:57 +00:00
"description" : "Execute a step only for a specific environment. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#environment" ,
2021-09-27 00:38:15 +00:00
"type" : "string"
} ,
"matrix" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#matrix" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
"additionalProperties" : {
"type" : [ "boolean" , "string" , "number" ]
}
} ,
"instance" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#instance" ,
2021-09-27 00:38:15 +00:00
"type" : "string"
} ,
"path" : {
2021-10-14 16:13:57 +00:00
"description" : "Execute a step only on commit with certain files added/removed/modified. Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#environment" ,
2021-09-27 00:38:15 +00:00
"oneOf" : [
{ "type" : "string" } ,
{
"type" : "object" ,
"properties" : {
"include" : {
"type" : "array" ,
"items" : {
"type" : "string"
}
} ,
"exclude" : {
"type" : "array" ,
"items" : {
"type" : "string"
}
} ,
"ignore_message" : {
"type" : "string"
}
} ,
"additionalProperties" : false
}
]
}
}
} ,
"services" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/services" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
"additionalProperties" : true
} ,
"workspace" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/pipeline-syntax#workspace" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
"additionalProperties" : true
} ,
"matrix" : {
2021-10-14 16:13:57 +00:00
"description" : "TODO Read more: https://woodpecker-ci.org/docs/usage/matrix-builds" ,
2021-09-27 00:38:15 +00:00
"type" : "object" ,
"properties" : {
"include" : {
"type" : "array" ,
"items" : {
"type" : "object"
} ,
"minLength" : 1
}
} ,
"additionalProperties" : {
"type" : "array" ,
"items" : {
"type" : [ "boolean" , "string" , "number" ]
} ,
"minLength" : 1
}
}
}
}