CLI for Jira based on jira-cli
This is a fork of the jira-cli project which isn't active at the moment, so I built on top of it. Also, I forked and used the jira-cli project because my current day job has very tightly controlled custom workflows where various fields can be required based on workflow actions, and I wanted to keep that separate.
This is also a project for me to get back into CoffeeScript and to better understand using Travis, GitHub pages, self documenting code, and other tools. Make no mistake, I use this in my daily work, but until version 0.3.0 or so is hit, this might be buggy in edge cases (e.g. custom fields required on create, and so on).
Managing an eight person dev team, plus having work of my own, I'm stuck in Jira about three hours a day. That's answering status questions, attending scrums and pulling lists for people, prepping and tagging releases, and then I have my own queue in Jira for designs and prototype I owe for various projects. Easily an hour of the three I spend is fidning what to click in the Jira UI and then fumbling around. I wanted, and needed, a faster way to get my answers and data in something I'm fairly fast at: shell.
Oh and I love Node.js and CoffeeScript, and since the Jira-cli project had about 80% of what I needed, this all worked out well.
This is mainly a fork I created for my day job's Jira work...so for now if you have a problem adding a new item, or selecting a status/transition let me know.
- Install the module with:
npm install -g jira-term
- Run it with
- Lists your issues by default
- List all projects you have access to
- Finds an issue by Key (AB-123) or Id (123456)
- Opens an issue
- Allows user to add a new ticket to different projects
- Transitions an issue (shows all available transition states)
- Adds a worklog to an issue
- Allow searching to be limited by project id or name
- Returns results in a simple or detailed output
- Colors things you care about which is (somewhat) customizable
- Transitions are being listed with the Jira ID and not 1,2,3,etc
- Adding a new issue want's "QA Acceptance Criteria". That's from my day job, and will be extracted and removed
- Mixing args is awkward, need to throw errors if you mix when not needed/expected
- Fix bugs - Meh.
- Handle custom fields on create/transition to keep everyone working smoothly
- Better/refactored testing FOR SURE
- Fully customizable colors and options
- Ability to open your browser on a selected project or issue
- Support for arrays of items to transition, log work, etc
jira-term -l to list your assigned items
jira-term -f AB-123 to find an item
jira-term -f AB-123 -d to find an item and show details
jira-term -p to list al projects
jira-term -t AB-123 to transition the item
If you use
https: for jira, add
"protocol": "https:" to your .jiraclirc.json
If your ssl certs are also self-signed add:
"strictSSL": false to your .jiraclirc.json
Using jasmine-node with grunt currently and needs a ton of work. Spies are working, but brute force unit tests are needed for coverage and sanity.
- 0.0.1 Initial Release
- 0.0.2 NPM Updates
- 0.1.0 Stable Release
- 0.1.1 meta update
- 0.1.2 meta update
- 0.1.3 I can't spell
- 0.1.4 documentation
Licensed under the MIT license. I forked, you fork, whatever let's all have some fun and get shit done.