Name

jira - The Jira command is an entrypoint for all of the commands related to Jira. It has no features on its own, aside from pulling in the specified auth configuration for accessing jira.

Synopsis

jira [OPTIONS]

Description

This command serves as an entry point for all of the subcommands related to Jira. It provides configuration for accessing the Jira instance. Jira has both the benifit and drawback that it's highly configurable. That means that the command can't make assumptions about the configuration and status of your particular installation. The command builds an internal 'general' model for issues, status' and resolutions. You need to map everything in your instance need to into the internal model.

Issue Types

This command supports two classes issues. Those classes are issues representing Planned work and Unplanned work. You can think of this as work that you plan out over time and work that comes in and you need to do it now.

Resolution Types

Jira comes with a large number of resolution types. You can also customize types if you need to. The command only cares about three. Those three are Unresolved, Rejected and Delivered. If its Unresolved, then it's still in progress. If it's done it's in one of two states, Rejected, or Delivered. Rejected means you don't plan on doing the work, regardless of the reason. Delivered means that you did the work and it's now in production.

Issue Status

Much like resolutions, this command supports a small number of statuses. Those status' are:

  • ToDo
  • Ready
  • InDev
  • InTest
  • Waiting
  • Completed

If your Jira instance is like most Jira instances then you have hundreds of statuses. You need to map those statuses into one of these statuses. This command only requires you to map a status when it runs into that status. So if you are running one of the jira subcommands and it runs into an unmapped status, it error, letting you know what status you haven't mapped.

Configuration

You must provide the configuration through the --config-file options. The config file is a YAML formatted file an example file is:

jira_instance: https://foo.atlassian.net
username: spongebob
token: <your atlassian private access token>
# Optional, shows the custom field name of the resolution field
# This is needed only if you are not using the built-in resolution
# field. Why aren't you using the built-in resolution field?
resolution_field: <field name>
# This system assumes two types of work, Planned work and 
# Unplanned work. You need to tell the system which issue types
# are planned work and which are operational work. 
issue_types:
    planned:
        - Story
        - Task
    unplanned:
        - Bug
status_mapping:
    MyRandomStatusThatSoundedGoodFiveYearsAgo: InDev
    resolution_mapping:
        LostInterest: Rejected

This is a lot of configuration, but you only have to do it once for each Jira installation.

Options

-h, --help

: Prints brief usage information.

-v, --version

: Prints the current version number.

-c, --config-file

: The path to the configuration file.

Subcommands