Skip to content

platogo/zube-cli

Repository files navigation

About

Go

zube-cli is a small Command Line Utility written in Go for interacting with the Zube issue tracking system.

Features

  • Fetch various Zube resources
  • Construct complex Zube queries
  • Create cards same way you would using the web client
  • Client-side request caching

Install

Using Nix Install using profiles:
nix profile install github:platogo/zube-cli
Using Homebrew
brew install platogo/tap/zube-cli
Manually Make sure you have `go` and `make` installed, then run
make
make install

Optionally install ZSH completions with:

make completions.zsh

Configuration

zube expects a configuration file with your client_id. zube looks for this configuration file, in order, in:

  • ~/config/zube/config.yml
  • $XDG_CONFIG_HOME/zube/config.yml

You can find out how to get the client_id in the offical Zube docs.

Example of a config.yml:

client_id: some-super-long-client-id

Easiest way to set your client_id is by:

Creating the configuration file, with either

touch ~/config/zube/config.yml
touch $XDG_CONFIG_HOME/zube/config.yml

Initializing the config

zube config init

You must also save your Zube private key .pem file in ~/.ssh/zube_api_key.pem

This file is also used to cache your access token, so make sure only you have access to it.

Usage

Simply call zube to see a list of available commands and flags.

For example, to view your current user's information and check that everything works:

$ zube currentPerson

Username: Daniils-Petrovs
Name: Daniils Petrovs

To list cards by a filter (e.g. by status), you would do:

$ zube card ls --status done

Number Title                                          Status
------ ---------------------------------------------- ----------
13260  Use matrix in github build actions...          done
13252  Fix export timestamp...                        done

Contributing

Read CONTRIBUTING

Roadmap

  • Cards
    • interactive creation
    • editing
    • movement
    • archiving
    • commenting
    • Card queries / search by text
  • Homebrew formula
  • Zube Query Launguage (ZQL) parser as alternative for command line flag filters
  • Filter support by name instead of just by IDs
  • Optionally dump response data as JSON
  • zubed daemon for periodic update polling
  • Move zube functionality into dedicated zube-go library
  • Internal
    • request caching
    • smart automatic auth using browser cookie store access