n8n/packages/cli
Omar Ajoue 1e551a202f
🚨 Add Workflow testing framework (#1814)
* Added flag to simplify output to execute command and created executeAll

Also created a command that lists workflows so it can be used by
other applications that wish to interact with n8n via CLI.

* Added compare funcionality that helps us identify possible breaking changes

*  Add JSON flag to output execution result in json format

* Add execution time to execution result

* Add --output flag to save JSON formated results

* Fix typos

* Adding usage examples and warning message

* Changing command to always output JSON information

*  Add concurrency to executeAll command

*  Add IDs filter to executeAll command

* ✏️ Fix typos

* Fix lint issues

* Improvements to execute all

* Added colors and beautified execute all command output

* Improving premature termination of execute all command

* Refactored output

* Added detection for warnings instead of errors for a few cases

* Fixed linting

* Improved process finishing

* Added encryption key init, removed messages from non-debug run and created sample github actions file

* Updated test command to use correct encryption key

* Correcting paths

* Changed command name and changed concurrency to be slot based

* Added the retry functionality

* Improved typing and fixed executions filtering

* Updated test description

* Added concurrency

* Added skip list and concurrency

* Fixed termination behavior, removed unnecessary code and added main mode to executions

* Added special edge cases handling

* Added safe debug flag for non tty terminals

* Removed comparison and retries for testing

* Changed the way we run commands to add more debug info

* Test adding concurrency

* Testing with regular testing procedure without comparison

* Adding compare flag

* Fixing short output command

* Upgraded concurrency to 16, fixed short output and covered nodes count

* Fixed short output condition

* Correcting short output information

* Correcting the output for short output

* Added a string to possible warnings list

* Added example usages with more arguments

* Improvements to code made by Ivan

* Removed colorize output setting (always use colors), moved execution timeout to become static and removed node list from executions

* Moving types to a separate file on execute batch command

* Changed interfaces file extension to prevent oclif warnings

* Updated workflow pdf files

*  Change rule when tests run + minor formatting fixes

Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-07-01 09:04:24 +02:00
..
bin Revert " Simplify config imports in cli package (#1840)" (#1931) 2021-06-23 11:20:07 +02:00
commands 🚨 Add Workflow testing framework (#1814) 2021-07-01 09:04:24 +02:00
config Revert " Simplify config imports in cli package (#1840)" (#1931) 2021-06-23 11:20:07 +02:00
migrations Add tagging of workflows (#1647) 2021-05-29 13:31:21 -05:00
packages/cli Migration configs, migration files, removed test queries 2020-04-29 11:34:12 +02:00
src Revert " Simplify config imports in cli package (#1840)" (#1931) 2021-06-23 11:20:07 +02:00
templates Adjustions for utilizing an external OAuth Hook (#945) 2020-09-11 12:15:06 +02:00
test 📚 Update development cycle documentation and add placeholder tests 2019-08-14 13:45:18 +02:00
BREAKING-CHANGES.md Add breaking change for Node.js version update (#1733) 2021-05-07 22:37:09 -05:00
LICENSE.md 📚 License text fix 2020-09-15 07:55:09 +02:00
nodemon.json Revert "🔀 Merge branch 'oauth-support' of https://github.com/tildabio/n8n" 2020-01-10 14:26:06 -06:00
package.json 🚨 Add Workflow testing framework (#1814) 2021-07-01 09:04:24 +02:00
README.md 📚 Update documentation for npm package (#1770) 2021-05-12 14:52:31 -05:00
tsconfig.json 🚨 Add Workflow testing framework (#1814) 2021-07-01 09:04:24 +02:00
tslint.json 👕 Fix lint issue 2020-10-22 15:46:03 +02:00

n8n - Workflow Automation Tool

n8n.io - Workflow Automation

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 demo (<3 min) that shows how to create a simple workflow to automatically sends a notification on Slack every time a GitHub repository gets starred or un-starred.

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 \
  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 \
  n8nio/n8n

n8n also offers a Docker image for Raspberry Pi: n8nio/n8n:latest-rpi.

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 Apache 2.0 with Commons Clause license.

Additional information on the license can be found in the FAQ