goji is a minimal command line client for JIRA.
Installation on macOS using Homebrew:
$ brew install kylef/formulae/goji
Install goji using pip:
$ pip install goji
Once installed, goji requires the base URL of your Atlassian suite to be configured to run commands. There are a few ways to configured goji.
The ~/.config/goji/config.toml
file can be configured, by setting profiles
for different JIRA instances. For example:
[profile.default]
url = "https://goji.atlassian.net"
email = "kyle@fuller.li"
Then:
$ export GOJI_PASSWORD='my password'
$ goji whoami
$ export GOJI_BASE_URL=https://example.atlassian.net
$ goji --base-url https://example.atlassian.net show GOJI-43
To authenticate, use the login
command. This step is required to use
the other commands:
$ goji login
To provide authentication only for the current command, you can pass email and password as options:
$ goji --email kyle@example.com --password pass whoami
Or alternatively, you may set the credentials using environment variables.
$ export GOJI_EMAIL=kyle@example.com
$ export GOJI_PASSWORD=password
Subcommands:
- login - Authenticate with JIRA server
- whoami - View information regarding current user
- show - Show details about issue
- create - Create a new issue
- assign - Assign an issue to a user
- unassign - Unassign a user from an issue
- comment - Comment on an issue
- change-status - Change the status of an issue
- edit - Edit issue description
- link - Link an issue to another issue
- attach - Attach file(s) to an issue
- open - Open issue in a web browser
- search - Search issues using JQL
- sprint - Collection of commands to manage sprints
Authenticate with a JIRA server.
$ goji login
Email: delisa@example.com
Password:
Show detailed information about an issue.
$ goji show GOJI-1
-> GOJI-1
As a user, I would like to view an issue status
- Status: Closed
- Creator: Kyle Fuller (kylef)
- Assigned: Kyle Fuller (kylef)
- URL: https://cocode.atlassian.net/browse/GOJI-1
Related issues:
- Relates to: GOJI-2 (Closed)
Link an issue to another issue, for example. To link GOJI-2 to GOJI-1 as GOJI-2 is a duplicate of GOJI-1:
$ goji link GOJI-2 GOJI-1 Duplicate
Opens an issue in your browser.
$ goji open GOJI-1
Assigns yourself or another user to an issue.
$ goji assign GOJI-1
You have been assigned to GOJI-1.
$ goji assign GOJI-1 sam
sam has been assigned to GOJI-1.
$ goji unassign GOJI-1
GOJI-1 has been unassigned.
Add a comment to an issue, editing text in your $EDITOR
$ goji comment GOJI-1
Search issues using JQL
$ goji search "project=GOJI AND assignee=sam"
GOJI-21 Update core metrics
GOJI-40 Remove expired food from fridge
Change the status of an issue
$ goji change-status GOJI-311 "done"
Fetching possible transitions...
Okay, the status for GOJI-311 is now "Done".
$ goji change-status GOJI-311
Fetching possible transitions...
0: To Do
1: In Progress
2: Done
Select a transition: 1
Okay, the status for GOJI-311 is now "In Progress".
- create - Create a sprint
goji is released under the BSD license. See LICENSE.