Content CLI is a tool to help manage content in Celonis EMS. It provides various commands to help extract content like analyses, packages, assets and others from your Celonis EMS team to your local machine, which you can then push to other teams. This process can be easily achieved by creating profiles for your different teams and execute commands in a profile's context.
To get started with using Content CLI, you will need to have node
installed in your local machine. Please download
the LTS version that is recommended for most users from the node
web page here. After
installing node
you can run the following command in the terminal (cmd for Windows users) to install Content CLI.
Note that the same command is used for updating Content CLI too.
npm install -g @celonis/content-cli
You can verify that the installation was successful by running the following command in the terminal, which prints the installed version of Content CLI:
content-cli -V
To get started with using Content CLI, you can follow some examples to manage content that are available as part of our pycelonis examples library here.
Content CLI has three core functionalities:
Profile: The CLI connects to the EMS environments through profiles. For each of the commands you can specify which profile you want to use. This makes it powerful in the sense that you can pull something from let's say team1.cluser1 and push it directly to team2.cluster2 easily. You can create a profile using the following command:
content-cli profile create
Pull: This feature allows you to download content from the EMS to your local machine. Let's take Studio package as an example. These can be exported in the EMS as ZIP files that contain all package assets. By using the following command using the package key and profile you have created, you will pull the ZIP file.
content-cli pull package -p <profile-name> --key <package-key>
Example, if you want to pull a package with key "interesting-package" from your profile "my-dev-profile", the command will look like this:
content-cli pull package -p my-dev-profile --key interesting-package
Push: This feature allows you to push a content file to a team in the EMS. To continue the last example, you can use the following command to push he previously pulled package in another team.
content-cli push package -p <profile-name> --spaceKey <space-key> -f <file-to-push.zip>
Example, if you want to push a package from zipped file "interesting-package.zip" to you team of profile "my-dev-profile" with the space "my-cool-space", the command will look like this:
content-cli push package -p my-dev-profile --spaceKey my-cool-space -f interesting-package.zip
A more comprehensive list of Content CLI capabilities can be found on the following documentation.
You can still explore the full capabilities of Content CLI and the list of options for the different commands
by using the -h
option in your command.
content-cli -h
content-cli pull package -h
This tool is tightly connected with the Celonis EMS and all capabilities require to have access to a Celonis EMS Team.
After cloning the project, the next step is to install the project dependencies. We use yarn
as our package manager,
so running yarn install
on the project root folder should install all the necessary dependencies. After installing
the project dependencies, you can run yarn build
to build the project artifact. To use the built artifact, you can
run node content-cli.js
in the generated dist
folder.
We manage releases using Github Actions with the Build and Publish Workflow
. This action runs after merging to
the master branch, which builds the project and publishes the package to the Github registry. You can install
a published version of the Content CLI using the following command:
npm i -g @celonis/content-cli
We encourage public contributions! Please review CONTRIBUTING.md for details on our code of conduct and development process.
Copyright (c) 2021 Celonis SE
This project is licensed under the MIT License - see LICENSE file for details.