ZCLI is a Zendesk CLI which helps you build and manage your Zendesk apps and themes from the command line. ZCLI is currently available in beta and is built using the oclif framework.
For more about ZCLI see the full documentation.
This is a Node.js module available through the npm registry.
Before installing, download and install Node.js. Node.js v20.17.0 or higher is required. Installation is done using the yarn
install command:
$ yarn global add @zendesk/zcli
Currently ZCLI has a dependency on libsecret
to save authentication information securely in the operating system's keychain.
Depending on your distribution, you will need to run one of the following commands prior to installing ZCLI:
- Debian/Ubuntu:
sudo apt install libsecret-1-dev
- Red Hat-based:
sudo yum install libsecret-devel
- Arch Linux:
sudo pacman -S libsecret
ZCLI's credential manager has a dependency on Linux's windowing manager (X11) which will cause some commands to fail to run on an environment without window manager support. These commands include: zcli login
, zcli logout
and zcli profiles
.
- Install
gnome-keyring
,dbus-x11
and the corresponding libsecret package listed above - Launch
dbus
export $(dbus-launch)
- Unlock the Gnome keyring daemon with a dummy password
echo "123456" | gnome-keyring-daemon -r --unlock --components=secrets
Refer to this sample Dockerfile to see how you can run ZCLI on a headless installation of Ubuntu.
WSL2 now supports running Linux GUI application. For users unable to upgrade to WSL2, there are a number of workarounds available:
- Manually starting a DBus session and unlocking the Gnome keyring with a password supplied via STDIN(similar to headless docker above)
- Using X11 forwarding to be able to enable the Gnome keyring prompt to display
ZCLI supports numerous commands. Further documentation on available commands can be found here.
$ zcli apps
- manage zendesk apps workflow.$ zcli themes
- manage zendesk themes workflow.$ zcli profiles
- manage zcli profiles.$ zcli login
- login to zendesk account.$ zcli logout
- logout and remove active profile.$ zcli autocomplete
- display autocomplete installation instructions.$ zcli help
- display help for zcli
To run your development copy of ZCLI locally, execute yarn link:bin
.
Under macOS if you are using a version manager like asdf
, it can additionally set up the global /usr/local/bin/zcli
.
Note you need global Node.js and ts-node
for this as well.
brew install --formula node yarn
yarn global add ts-node
Under Windows this can only be used in WSL2 or Cygwin.
Note: While ZCLI is in beta, we are not routinely reviewing issues and merging community-submitted pull requests. We hope to begin reviewing these again soon, but for the moment we appreciate your patience.
Thanks for your interest in ZCLI! Community involvement helps improve the experience for all developers using the Zendesk platform.
Got issues with what you find here? You can create an issue on Github, report the issue in the Zendesk Developers Slack group, or for other problems, contact Zendesk Customer Support.
If you'd like to take a crack at making some changes, please refer to our contributing guide.
Some useful app scaffolds for build ZAF apps that incorporate the ZCLI tool are avaliable at zendesk/app_scaffolds
Running the following command will create release tags, generate change logs docs and publish to npm.
Copyright 2022 Zendesk, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.