trello_cli
Simple Ruby Trello Command Line Interface
Installation
Install the trello_cli gem
gem install trello_cli
Setup
Sign-in to trello.com as the user you want to use for trello_cli.
Get API key (open this link in a web browser):
https://trello.com/1/appKey/generate
The top field contains your Developer API Key. Use it to replace YOUR_API_KEY in the member token links below as well as the TRELLO_DEVELOPER_PUBLIC_KEY environment variable.
Next, get a member token. You will need to replace YOUR_API_KEY in the links below with the API key obtained in the previous step.
To get a read only member token:
https://trello.com/1/connect?key=YOUR_API_KEY&name=trello-cli&response_type=token
To get a read / write member token:
https://trello.com/1/authorize?key=YOUR_API_KEY&name=trello-cli&expiration=never&response_type=token&scope=read,write
Set the api key and member token environment variables:
export TRELLO_DEVELOPER_PUBLIC_KEY=api_key
export TRELLO_MEMBER_TOKEN=member_token
Usage
The CLI takes the following form:
trello TARGET COMMAND OPTIONS
To see a list of targets:
# trello -h
trello [board|card|list] [command] OPTIONS
Append -h for help on specific target.
To see a list of commands for a given target:
# trello card -h
Valid commands for card: create, list
For further help, append -h to sub command.
To see help for a specific command:
# trello card create -h
Usage: trello card [create] [options]
-b, --board [BOARD] Trello Board Id
-d, --description [DESCRIPTION] Description Of Card
-l, --list [LIST] List Of Card
-n, --name [NAME] Name Of Card
Output Formatters
To allow for piping output to other utilies, the output of any command can be format as either TSV (Tab Seperated Values) or JSON.
JSON Output
# trello card list -o json
[{"name":"board1","id":"123456781234567812345678"},{"name":"board2","id":"876543218765432187654321"}]
This can be used with tools like jq to parse the data:
# trello board list -o json |jq '.[0] | {id}'
{
"id": "123456781234567812345678"
}
TSV Output
# trello card list -o tsv
123456781234567812345678 board1
876543218765432187654321 board2
For example, you can grep out specific cards and then cut specific fields:
# trello board list -o tsv |grep board1 |cut -d$'\t' -f 1
123456781234567812345678
The default is currently set to output as legacy to match previous versions of the trello CLI. This will be changed to TSV or another human format in a future release.
Examples
List the boards available to the given credentials:
trello board list
List the lists for a given board id and output as a TSV list:
trello list list -b 123 -o tsv
Create a card and output as JSON:
trello card create -b 123 -l 321 -n 'card name' -d 'card description' -o json
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request