zendesk / zcli

A command-line tool for Zendesk
https://developer.zendesk.com
Apache License 2.0
56 stars 18 forks source link
Zendesk Logo

ZCLI

npm version Test

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.

Zendesk Logo

For more about ZCLI see the full documentation.

Getting started

This is a Node.js module available through the npm registry.

Before installing, download and install Node.js. Node.js 20.13.1 or higher is required. Installation is done using the yarn install command:

$ yarn global add @zendesk/zcli

Installation prerequisites for Linux

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:

Note for environments without Linux window manager (X11) support

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.

For headless Linux in a Docker container

Refer to this sample Dockerfile to see how you can run ZCLI on a headless installation of Ubuntu.

For Windows users running Linux on WSL

WSL2 now supports running Linux GUI application. For users unable to upgrade to WSL2, there are a number of workarounds available:

Commands

ZCLI supports numerous commands. Further documentation on available commands can be found here.

Local development

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.

Contributing


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.

ZAF App Scaffolding

Some useful app scaffolds for build ZAF apps that incorporate the ZCLI tool are avaliable at zendesk/app_scaffolds

Releasing

Running the following command will create release tags, generate change logs docs and publish to npm.

$ ./scripts/release.sh

License

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.