Checking the validation keywords
This section contains options for each type of parameter (the type can be found in the "type" keyword)
IMPORTANT: If an errorMessage is present, please update it so that it covers all possible validation errors for the type (the more it covers the better)
ALSO IMPORTANT: Check that the help_text and description keywords are clear enough
Type-independent keywords
- enum: A list of allowed values for the value
- default: The default value, make sure this is filled in if the default value is not
null, "" or false
- required: A list of required parameters for each section
string
- minLength and maxLength: specify the minimal and/or maximum length of the
string value
- pattern: A regular expression the
string value has to adhere to
- format: This is mainly used to define if a value should be a
"file-path", "directory-path", "path" or "file-path-pattern". Other formats are allowed that are part of the official JSON schema specs, but are rarely used in Nextflow JSON schemas
- exists: Make sure this is
true if the file should exist (Be careful, some times files or directories do not have to exist for a pipeline to succesfully start e.g. --outdir)
- schema: The relative path from the root of the pipeline to another schema to validate the file specified by that value. Please also check this schema very carefully
number and integer
boolean
The boolean type has no type-specific keywords
array
WARNING: This type is not supported in nextflow_schema.json, but is supported in other schemas
- uniqueEntries: A list of keys that need to be unique in the objects present in this array
- uniqueItems: Set to
true if you want each entry in the array to be unique
object
WARNING: This type is not supported in nextflow_schema.json (apart from the root "type" keyword of the file and of each section in "$defs"), but is supported in other schemas
This type can be very complex and will not be used in 99% of the cases. You can take a look at the official object documentation or ask for help in #hackathon-mar-2025-json-schema-improvements if you need to check object types
Copy the master branch only)devbranch and sync the upstream changes (Sync fork->Update branch)json-schema-improvementswith thedevbranch as base in the forkjson-schema-improvementsbranch of the fork either locally (git clone) or online (via Github Codespaces, GitPod...)nextflow_schema.jsonfile"$schema"is"https://json-schema.org/draft/2020-12/schema". The pipeline should be updated to nf-schema if this is not the case. See the migration guide on how to do thisassets/schema_input.jsonnextflow run main.nf -profile test,docker --outdir results -stubto check for any failures in validation with the basic test setupdevbranch of the nf-core repositoryReady to review(PR: )DoneChecking the validation keywords
This section contains options for each type of parameter (the type can be found in the
"type"keyword)IMPORTANT: If an
errorMessageis present, please update it so that it covers all possible validation errors for the type (the more it covers the better)ALSO IMPORTANT: Check that the
help_textanddescriptionkeywords are clear enoughType-independent keywords
null,""orfalsestringstringvaluestringvalue has to adhere to"file-path","directory-path","path"or"file-path-pattern". Other formats are allowed that are part of the official JSON schema specs, but are rarely used in Nextflow JSON schemastrueif the file should exist (Be careful, some times files or directories do not have to exist for a pipeline to succesfully start e.g.--outdir)numberandintegerbooleanThe boolean type has no type-specific keywords
arrayWARNING: This type is not supported in
nextflow_schema.json, but is supported in other schemastrueif you want each entry in the array to be uniqueobjectWARNING: This type is not supported in
nextflow_schema.json(apart from the root"type"keyword of the file and of each section in"$defs"), but is supported in other schemasThis type can be very complex and will not be used in 99% of the cases. You can take a look at the official object documentation or ask for help in #hackathon-mar-2025-json-schema-improvements if you need to check
objecttypes