Skip to content

Terjira is a very interactive and easy to use CLI tool for Jira.

License

Notifications You must be signed in to change notification settings

keepcosmos/terjira

Repository files navigation

Gem Version Build Status Test Coverage Code Climate

Terjira

Terjira is an interactive and easy to use command line interface (or Application) for Jira. You do not need to remember the resource key or id. Terjira suggests it with an interactive prompt.

Your Jira must support Rest API 2.0 and Agile Rest API 1.0.

Demo

Watch full demo

Sample

Installation

Install it yourself as:

$ gem install terjira

If you have permission problem,

$ sudo gem install terjira

# or

$ gem install terjira --user-install
# You need to export your gem path

Usage

Authentication:
  jira login                         # Login your Jira using your Jira email & password 
                                     # for Server or API token for Cloud.
                                     # Refer: https://confluence.atlassian.com/cloud/api-tokens-938839638.html
                                     #   [--ssl-config]  with ssl configuration
                                     #   [--proxy-config] with proxy configuration
  jira logout                        # Logout your Jira

Project:
  jira project help [COMMAND]        # Describe one specific subcommand
  jira project ( ls | list )         # List of all projects
  jira project [PROJECT_KEY]         # Show detail of the project

Board:
  jira board help [COMMAND]          # Describe one specific subcommand
  jira board ( ls | list)            # List of all boards
  jira board backlog                 # Backlog from the board


Sprint:
  jira sprint help [COMMAND]         # Describe one specific subcommand
  jira sprint ( ls | list )          # List of all sprint from the board
  jira sprint [SPRINT_ID]            # Show the sprint
  jira sprint active                 # Show active sprints and issues
                                     #   To show issues on the sprint(include no assignee)
                                     #   pass `--assignee ALL` or `-a ALL`.

Issue:
  jira issue help [COMMAND]          # Describe one specific subcommand
  jira issue ( ls | list )           # List of issues
                                     #   Default assignee option is current logged-in user
                                     #   To show issues of all users(include no assignee)
                                     #   pass `--assignee ALL` or `-a ALL`.
  jira issue jql "[QUERY]"           # Search issues with JQL
                                     # ex)
                                     #   jira issue jql "project = 'TEST' AND summary ~ 'authentication'"
  jira issue search "[SUMMARY]"      # Search for an issues by summary
  jira issue [ISSUE_KEY]             # Show detail of the issue
  jira issue assign [ISSUE_KEY] ([ASSIGNEE])  # Assign the issue to user
  jira issue attach_file [ISSUE_KEY] ([FILE_PATH])  #Attach a file to issue
  jira issue comment [ISSUE_KEY]     # Write comment on the issue
                                     #   pass `-E` or `--editor` to open system default editor for composing comment
  jira issue edit_comment [ISSUE_KEY] ([COMMENT_ID])     # Edit user's comment on the issue.
                                     #   If COMMENT_ID is not given, it will choose user's last comment.
  jira issue delete [ISSUE_KEY]      # Delete the issue
  jira issue edit [ISSUE_KEY]        # Edit the issue
                                     #   pass `-E` or `--editor` to open system default editor for composing issue description
  jira issue new                     # Create an issue
                                     #   pass `-E` or `--editor` to open system default editor for composing issue description
  jira issue open [ISSUE_KEY]        # Open browser
  jira issue url [ISSUE_KEY]         # Return url of the issue
  jira issue take [ISSUE_KEY]        # Assign the issue to self
  jira issue trans [ISSUE_KEY] ([STATUS])     # Do transition

Feature Todo

Contributions are welcome!

  • Add JQL command for find issues
  • Search issues by keyword
  • Manage worklog and estimate of issues
  • Manage component and version of issues
  • Track history of transitions
  • More friendly help

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rspec spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/keepcosmos/terjira. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.