CLI Reference
This page documents all command-line options for nodegenerator.jar. Run java -jar nodegenerator.jar without arguments to print the built-in help, which is always authoritative for the installed version.
Options marked (repeatable) can be specified multiple times.
Input
| Option | Description |
|---|---|
SPEC | Path or URL to the OpenAPI/Swagger spec. Required. Accepts local file paths and HTTP(S) URLs; URLs may include username:password for basic authentication. Specify multiple specs to merge them. |
Output
| Option | Default | Description |
|---|---|---|
--destination <path> | generated | Directory to write the generated project into. |
--plugin-folder <folder> | plugin | Sub-folder within the destination for the generated plugin code. |
--write-ignore <glob> | — | Gitignore-style glob — matching files are not written. Useful for preserving hand-edited support files such as feature.xml or CI config. (repeatable) |
Identity & Versioning
| Option | Default | Description |
|---|---|---|
--title <title> | From spec | Plugin title shown in KNIME and on the update site. |
--namespace <namespace> | Derived from server URL | Java package namespace, e.g. com.example.nodes. |
--plugin-namespace <namespace> | Same as --namespace | Separate namespace for the generated plugin bundle, if different from the API namespace. |
--plugin-version <version> | 0.0.1 | Plugin version number (SemVer). |
--knime-version <version> | 5.9 | Minimum supported KNIME version. The compatible version ceiling is determined automatically. |
Node & Category Appearance
| Option | Description |
|---|---|
--node-icon <png-file> | 16×16 px PNG file to use as the icon for all generated operation nodes. |
--category-name <name> | Root category name in the KNIME node repository. Defaults to the spec title. |
--category-icon <png-file> | 16×16 px PNG file to use as the root category icon. |
--root-categories <id>=<name> | One or more category levels to nest the generated nodes under. Syntax: root-id=Root Category|parent-id=Sub Category. |
--update-site-category-label <label> | Category label shown in the KNIME update site listing. Defaults to the title. |
--primary-color <hex> | Hex color (without #) used for node port colouring. Default: BCC6CC. |
--splash-icon-48 <png-file> | 48×48 px splash screen icon. Required together with --splash-icon-32 and --splash-icon-24. |
--splash-icon-32 <png-file> | 32×32 px splash screen icon. |
--splash-icon-24 <png-file> | 24×24 px splash screen icon. |
--product-icon <svg-file> | SVG icon used on the OAuth authorisation page. |
Node Name Transformations
| Option | Description |
|---|---|
--trim-names <regex> | Regex pattern stripped from node and category names before display. Useful for removing common prefixes such as an API name. (repeatable) |
--pretty-name <original>=<pretty> | Override the generated display name for a specific operation or parameter. (repeatable) |
--disable-grouping | Place all generated operation nodes directly in the root category rather than grouping them by spec tags. |
--alphabetically-sorted-nodes | Sort nodes alphabetically. Enabled by default; pass --alphabetically-sorted-nodes=false to preserve spec order. |
Filtering
| Option | Description |
|---|---|
--exclude-operation <operation-id> | Skip generating a node for the given operation ID. (repeatable) |
--exclude-tag <tag-name> | Skip all operations that carry the given tag. (repeatable) |
--exclude-parameter <param-name> | Omit the given parameter from all nodes. (repeatable) |
--exclude-response-type <content-type> | Omit the given response content type, e.g. text/html. (repeatable) |
--exclude-property <property-name> | Exclude a response property from automatic table mapping. (repeatable) |
Authentication
| Option | Default | Description |
|---|---|---|
--oauth-client-id <id> | — | OAuth 2.0 client ID to embed in the generated auth node. |
--oauth-client-secret <secret> | — | OAuth 2.0 client secret. |
--oauth-redirect-url <url> | http://localhost:54321 | OAuth redirect URL including protocol and port. Must not include a path component. |
--oauth-permanent-scope <scope> | — | OAuth scope always added to every authorisation request, e.g. offline_access. (repeatable) |
--api-key-prefix <name>=<prefix> | — | Prefix prepended to an API key before it is sent. Syntax: Authorization=Token produces the header Authorization: Token <key>. (repeatable) |
Table Mapping
By default, generated nodes expose the raw JSON response. Enable table mapping to have Node Generator automatically convert JSON responses into KNIME table rows.
| Option | Default | Description |
|---|---|---|
--enable-default-table-mapping | Off | Enables automatic response-to-table mapping for all operations. |
--default-table-mapping-operation-id-pattern <regex> | .* | Applies default table mapping only to operations whose ID matches the pattern, e.g. ^list.* for list operations. |
--default-table-mapping-path <path> | — | JSON property path within the response to use as the table source, e.g. data. |
For per-operation control, use the x-nodepit-mapping extension directly in your spec.
Networking
| Option | Default | Description |
|---|---|---|
--default-network-timeout <seconds> | 10 | Default connect, read, and write timeout for all generated HTTP requests. |
Node UI Style
| Option | Default | Description |
|---|---|---|
--target-type <type> | classic | Node UI style. classic generates AWT-based nodes compatible with all supported KNIME versions. modern generates WebUI nodes (beta). |
--ignore-ssl-errors-node | Off | Generate a configuration node that allows ignoring SSL errors. Only available with --target-type modern. |
NodePit Publishing
Configure these options to integrate the generated project with the NodePit distribution pipeline via the generated CI scripts.
| Option | Description |
|---|---|
--nodepit-product <product-id> | NodePit product identifier. When set, the generated CI pipeline uploads the update site, product page, and changelog to NodePit. Requires CI/CD secrets to be configured. |
--nodepit-disable-update-site | Disables update site upload even when --nodepit-product is set. |
--nodepit-disable-documentation | Disables documentation upload even when --nodepit-product is set. |
Contact mail@nodepit.com to set up a NodePit product listing.
Licensing
Node Generator can embed NodePit Licensing support into the generated plugin.
| Option | Description |
|---|---|
--license-public-key <gpg-file> | GPG public key used by the NodePit Licensing Plugin to validate licenses. Enables license enforcement in the generated nodes. |
--license-icon <png-file> | 16×16 px PNG icon displayed in the license UI. |
--license-server-only | Enforce license checks only on KNIME server environments; local installs can run without a license. |
--preferences-name <name> | Label for the generated preferences page. Defaults to the title. Only generated when licensing is enabled. |
--preferences-icon <png-file> | 16×16 px PNG icon for the preferences page. |
Contact Metadata
These values are embedded in the generated plugin's feature.xml and product metadata.
| Option | Default |
|---|---|
--contact-name <name> | NodePit |
--contact-address <address> | Bienertstraße 33 |
--contact-zip <zip> | 01187 |
--contact-city <city> | Dresden |
--contact-country <country> | Germany |
--contact-state <state> | — |
--contact-email <email> | mail@nodepit.com |
--contact-website <url> | https://nodepit.com |
CI/CD & Project Structure
| Option | Default | Description |
|---|---|---|
--source-code-hoster <hoster> | gitlab | CI/CD pipeline to generate. Accepted values: gitlab, github. Can be specified for both simultaneously. |
--extra-module <module-name> | — | Add an extra Maven module to the root pom.xml and the CI build paths. (repeatable) |
--extra-gitignore <pattern> | — | Add an extra entry to the generated .gitignore. (repeatable) |
--extra-plugin <plugin-id> | — | Add an extra OSGi plugin entry to feature.xml. (repeatable) |
Advanced
| Option | Description |
|---|---|
--test-workflows | Generate a testflowrunner/ directory with the structure for automated KNIME test workflows. |
--test-workflows-preferences <epf-file> | Preferences file to use during test workflow execution. |
--node-migrations | Generate a migration fragment module for evolving node settings across plugin versions. |
--node-fragment | Generate a fragment module for implementing custom nodes that extend the generated plugin. |
--example-default-fallback | Use the example value from the spec as the default value in node dialogs when no explicit default is defined. |