n8n/packages/cli
Val 1bb987140a
feat: Add variables feature (#5602)
* feat: add variables db models and migrations

* feat: variables api endpoints

* feat: add $variables to expressions

* test: fix ActiveWorkflowRunner tests failing

* test: a different fix for the tests broken by $variables

* feat: variables licensing

* fix: could create one extra variable than licensed for

* feat: Add Variables UI page and $vars global property (#5750)

* feat: add support for row slot to datatable

* feat: add variables create, read, update, delete

* feat: add vars autocomplete

* chore: remove alert

* feat: add variables autocomplete for code and expressions

* feat: add tests for variable components

* feat: add variables search and sort

* test: update tests for variables view

* chore: fix test and linting issue

* refactor: review changes

* feat: add variable creation telemetry

* fix: Improve variables listing and disabled case, fix resource sorting (no-changelog) (#5903)

* fix: Improve variables disabled experience and fix sorting

* fix: update action box margin

* test: update tests for variables row and datatable

* fix: Add ee controller to base controller

* fix: variables.ee routes not being added

* feat: add variables validation

* fix: fix vue-fragment bug that breaks everything

* chore: Update lock

* feat: Add variables input validation and permissions (no-changelog) (#5910)

* feat: add input validation

* feat: handle variables view for non-instance-owner users

* test: update variables tests

* fix: fix data-testid pattern

* feat: improve overflow styles

* test: fix variables row snapshot

* feat: update sorting to take newly created variables into account

* fix: fix list layout overflow

* fix: fix adding variables on page other than 1. fix validation

* feat: add docs link

* fix: fix default displayName function for resource-list-layout

* feat: improve vars expressions ux, cm-tooltip

* test: fix datatable test

* feat: add MATCH_REGEX validation rule

* fix: overhaul how datatable pagination selector works

* feat: update  completer description

* fix: conditionally update usage syntax based on key validation

* test: update datatable snapshot

* fix: fix variables-row button margins

* fix: fix pagination overflow

* test: Fix broken test

* test: Update snapshot

* fix: Remove duplicate declaration

* feat: add custom variables icon

---------

Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2023-04-18 12:41:55 +02:00
..
bin ci: Drop support for Node.js 14 (#5835) 2023-03-30 12:23:39 +02:00
scripts refactor: Setup typescript project references across workflow, core, and cli (#4519) 2022-11-09 15:25:00 +01:00
src feat: Add variables feature (#5602) 2023-04-18 12:41:55 +02:00
templates feat(core): Make OAuth2 error handling consistent with success handling (#5555) 2023-03-22 12:53:49 +01:00
test feat: Add variables feature (#5602) 2023-04-18 12:41:55 +02:00
.eslintrc.js refactor: Integrate consistent-type-imports in BE packages (no-changelog) (#5270) 2023-01-27 14:56:56 +01:00
.npmignore feat(core): Live reload node/credential descriptions in development (no-changelog) (#4939) 2023-02-08 19:26:07 +01:00
BREAKING-CHANGES.md ci: Drop support for Node.js 14 (#5835) 2023-03-30 12:23:39 +02:00
jest.config.js ci: Setup code-coverage reporting (no-changelog) (#5669) 2023-03-10 16:53:05 +01:00
LICENSE.md docs: scope Sustainable Use License to contents of the main branch (#4450) 2022-10-26 16:50:33 +02:00
LICENSE_EE.md docs(license): Introduce n8n Enterprise License (#3945) 2022-08-29 22:08:42 +02:00
nodemon.json refactor: Consolidate .prettierignore patterns (no-changelog) (#4692) 2022-11-22 14:11:29 +01:00
package.json build: Update license SDK to v2.1.0 (no-changelog) (#5987) 2023-04-17 17:32:41 +02:00
README.md docs: Refer to docker.n8n.io/n8nio/n8n for pulling n8n docker images (no-changelog) (#5763) 2023-03-23 15:38:01 +01:00
tsconfig.build.json feat: Add global event bus (#4860) 2023-01-04 09:47:48 +01:00
tsconfig.json feat(core): Add SAML XML validation (#5600) 2023-03-06 09:44:25 +01:00

n8n.io - Workflow Automation

n8n - Workflow Automation Tool

n8n is a free and open fair-code distributed node-based Workflow Automation Tool. You can self-host n8n, easily extend it, and even use it with internal tools.

n8n.io - Screenshot

Contents

Demo

📺 Here's a 📺 short video (< 4 min) that goes over key concepts of creating workflows in n8n.

Getting Started

There are a couple of ways to get started with n8n.

Use npx

To spin up n8n using npx, you can run:

npx n8n

It will download everything that is needed to start n8n.

You can then access n8n by opening: http://localhost:5678

Note: The minimum required version for Node.js is v14.15. Make sure to update Node.js to v14.15 or above.

Run with Docker

To play around with n8n, you can also start it using Docker:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  docker.n8n.io/n8nio/n8n

Be aware that all the data will be lost once the Docker container gets removed. To persist the data mount the ~/.n8n folder:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

Refer to the documentation for more information on the Docker setup.

Install with npm

To install n8n globally using npm:

npm install n8n -g

After the installation, start n8n running the following command:

n8n
# or
n8n start

Sign-up on n8n.cloud

Sign-up for an n8n.cloud account.

While n8n.cloud and n8n are the same in terms of features, n8n.cloud provides certain conveniences such as:

  • Not having to set up and maintain your n8n instance
  • Managed OAuth for authentication
  • Easily upgrading to the newer n8n versions

Available integrations

n8n has 280+ different nodes that allow you to connect various services and build your automation workflows. You can find the list of all the integrations at https://n8n.io/integrations

Documentation

To learn more about n8n, refer to the official documentation here: https://docs.n8n.io

You can find additional information and example workflows on the n8n.io website.

Create Custom Nodes

You can create custom nodes for n8n. Follow the instructions mentioned in the documentation to create your node: Creating nodes

Contributing

🐛 Did you find a bug?

Do you want to contribute a feature?

The CONTRIBUTING guide will help you set up your development environment.

You can find more information on how you can contribute to the project on our documentation: How can I contribute?

What does n8n mean, and how do you pronounce it?

Short answer: n8n is an abbreviation for "nodemation", and it is pronounced as n-eight-n.

Long answer: In n8n, you build your automation ("-mation") workflows by connecting different nodes in the Editor UI. The project is also built using Node.js. As a consequence, the project was named nodemation.

However, the name was long, and it wouldn't be a good idea to use such a long name in the CLI. Hence, nodemation got abbreviated as "n8n" (there are eight characters between the first and the last n!).

Support

If you run into issues or have any questions reach out to us via our community forum: https://community.n8n.io.

Jobs

If you are interested in working at n8n and building the project, check out the job openings.

Upgrading

Before you upgrade to the latest version, make sure to check the changelogs: Changelog

You can also find breaking changes here: Breaking Changes

License

n8n is fair-code distributed under the Sustainable Use License.

Additional information about the license can be found in the docs.