jira-term

CLI for Jira based on jira-cli

npm install jira-term
1 downloads in the last week
30 downloads in the last month

jira-term

Build Status

Get the low down before you get started

GitHub Documentation

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).

Why use this?

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.

How do I get this?

  • Install the module with: npm install -g jira-term
  • Run it with jira-term

Great, so what does it do now?

  • 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

Known things that aren't working 100%

  • 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

What's the short-term roadmap?

  • 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

Documentation

GitHub Documentation

Examples

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

Notes

This is built off of the great node-jira API so please refer to their documentation on the requirements needed for connectivity and security to your Jira instance.

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

Testing

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.

Release History

  • 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

License

Licensed under the MIT license. I forked, you fork, whatever let's all have some fun and get shit done.

npm loves you