Skip to content

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

OptionDescription
SPECPath 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

OptionDefaultDescription
--destination <path>generatedDirectory to write the generated project into.
--plugin-folder <folder>pluginSub-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

OptionDefaultDescription
--title <title>From specPlugin title shown in KNIME and on the update site.
--namespace <namespace>Derived from server URLJava package namespace, e.g. com.example.nodes.
--plugin-namespace <namespace>Same as --namespaceSeparate namespace for the generated plugin bundle, if different from the API namespace.
--plugin-version <version>0.0.1Plugin version number (SemVer).
--knime-version <version>5.9Minimum supported KNIME version. The compatible version ceiling is determined automatically.

Node & Category Appearance

OptionDescription
--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

OptionDescription
--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-groupingPlace all generated operation nodes directly in the root category rather than grouping them by spec tags.
--alphabetically-sorted-nodesSort nodes alphabetically. Enabled by default; pass --alphabetically-sorted-nodes=false to preserve spec order.

Filtering

OptionDescription
--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

OptionDefaultDescription
--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:54321OAuth 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.

OptionDefaultDescription
--enable-default-table-mappingOffEnables 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

OptionDefaultDescription
--default-network-timeout <seconds>10Default connect, read, and write timeout for all generated HTTP requests.

Node UI Style

OptionDefaultDescription
--target-type <type>classicNode UI style. classic generates AWT-based nodes compatible with all supported KNIME versions. modern generates WebUI nodes (beta).
--ignore-ssl-errors-nodeOffGenerate 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.

OptionDescription
--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-siteDisables update site upload even when --nodepit-product is set.
--nodepit-disable-documentationDisables 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.

OptionDescription
--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-onlyEnforce 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.

OptionDefault
--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

OptionDefaultDescription
--source-code-hoster <hoster>gitlabCI/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

OptionDescription
--test-workflowsGenerate 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-migrationsGenerate a migration fragment module for evolving node settings across plugin versions.
--node-fragmentGenerate a fragment module for implementing custom nodes that extend the generated plugin.
--example-default-fallbackUse the example value from the spec as the default value in node dialogs when no explicit default is defined.
Was this page helpful?