Taskcluster Shell Client is a command-line client offering control and access to taskcluster from the comfort of your command-line. It provides utilities ranging from direct calls to the specific API endpoints to more complex and practical tasks like listing and cancelling scheduled runs.
For a list of all commands run taskcluster help, detailed information about
each command is available with
taskcluster help <command> [<sub-command> [...]]. You can also use the -h
or --help parameter to get a command's help information.
To install, download the taskcluster binary for the latest release your
platform, and run it! On POSIX platforms you will need to chmod +x of
course.
This package requires Go version 1.12 and uses Go Modules.
To build the client, clone the Taskcluster repository, switch to the clients/client-shell directory, and run go build -o taskcluster ..
The API specifications are generated automatically as part of running yarn generate in the root directory of this repository.
We are using cobra to manage the various commands and sub-commands that are implemented in taskcluster-cli.
Each command is a instance of the cobra.Command struct, and is dynamically
registered at run-time in the command tree (in func init() {...}). Thus,
commands are registered as an import side-effect. Commands are implemented in
sub-packages.
To add a new command, create a new sub-package under cmds and add an import
for that sub-package to subtree_import.go, keeping the imports in order.