-
Notifications
You must be signed in to change notification settings - Fork 5
Move custom schema documentation to pipeline-schema overview #1139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
fe4beca
2cbbf8c
bdb7d33
0c8bdd1
cd372d6
cab3c65
381cf85
36c3ac4
9d34edc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,6 +11,37 @@ You can populate the parameters in the pipeline by uploading a YAML or JSON file | |
|
|
||
| See [nf-core/rnaseq](https://github.com/nf-core/rnaseq/blob/e049f51f0214b2aef7624b9dd496a404a7c34d14/nextflow_schema.json) as an example of the pipeline parameters that can be represented by a JSON schema file. | ||
|
|
||
| ### Define pipeline schema | ||
|
|
||
| When adding or editing a pipeline, you can select one of three schema options to control parameter validation and the launch form: | ||
|
|
||
| 1. **Repository default**: Use the default schema provided by the Pipeline git repository. | ||
| 2. **Repository path**: Use a schema at a specific path in the repository. | ||
| 3. **Seqera Platform schema**: Use a Nextflow JSON schema stored in Seqera Platform (overrides repository). | ||
|
|
||
| The selected schema controls which pipeline parameters are exposed in the launch form. This allows you to restrict the parameters visible to launch users, simplifying the launch experience and preventing modification of parameters that should remain fixed. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 'prevent' is a strong word here. The user is still able to edit the config view directly. The launch form defined by the schema can hide parameters which the pipeline maintain wishes not to be fiddled with, but it cannot prevent direct specification in the config view. Actually, let me double check that.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Actually this is correct, it's possible to hide a parameter, set a default and a validation which only validates the default. |
||
|
|
||
| #### Seqera Platform schema | ||
|
|
||
| Users with [Maintain or higher](../orgs-and-teams/roles.md) permissions can upload a custom `nextflow_schema.json` file directly to Seqera Platform. When you upload a Platform schema: | ||
|
|
||
| - The schema content is validated to ensure it's a valid JSON schema | ||
| - The Platform schema controls which parameters appear in the pipeline launch form | ||
| - Changes to the Platform schema trigger a new draft version of the pipeline | ||
| - The Platform schema is applied to all launches using that pipeline version | ||
|
|
||
| To add or update a Seqera Platform schema: | ||
|
|
||
| 1. Navigate to **Add pipeline** or select **Edit** for an existing pipeline | ||
| 2. Select **Seqera Platform schema** from the schema options | ||
| 3. In the **Seqera Platform schema** field, paste your custom Nextflow schema JSON | ||
| 4. The schema is validated automatically as you enter it | ||
| 5. Select **Add** or **Save** to create a new draft version with the Platform schema | ||
|
|
||
| :::note | ||
| The schema `id` field must be unique. If you're pasting pipeline schema contents from an existing pipeline schema file, ensure you update the `id` field to a unique value. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. removal of the id is also a valid fix. |
||
| ::: | ||
|
|
||
| ### Building pipeline schema files | ||
|
|
||
| The pipeline schema is based on [json-schema.org](https://json-schema.org/) syntax, with some additional conventions. While you can create your pipeline schema manually, we highly recommend using [nf-core tools](https://nf-co.re/tools/#pipeline-schema), a toolset for developing Nextflow pipelines built by the nf-core community. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This list, the one below, and the next two should have fullstops at the end of the items. Thanks!