Use the jira CLI to create, update, and manage Jira tickets.
Standard Operation Procedures
Choose:
Ticket Creation
- •Use the type 'Story', unless explicitly specified by the user to use 'Epic'. See Context below for details about each type.
- •Write clear, concise summaries
- •Optionally add label
ai-readyIF AND ONLY IF the ticket is detailed enough that it can be implemented by an AI agent or if the ticket's plan was written by an agent. - •Use present tense.
- •Write ticket as if the work is to be done.
- •Summary starts with the name of the repo in square brackets: [REPO-NAME] <SUMMARY>
- •Craft detailed descriptions including:
- •Problem statement or feature description
- •Expected work product
- •Technical details when relevant
- •Use the Markdown.
- •If you are working from a set of openspec files, add them all as attachments.
Context
Ticket can be one of:
- •Epic
- •Story
- •Bug
If not specified, assume "Story".
GLOBAL RULES FOR FIELDS:
- •If a [MANDATORY] item is not provided, STOP and ASK.
- •For ANY [OPTIONAL] field (like Sprint, Points, or Assignee), if the user does not EXPLICITLY provide a value, you MUST leave it blank. DO NOT guess, DO NOT default to 'active', and DO NOT infer from context.
- •If Assignee is specified as "me", assume user specified by the environment
variable
USER.
Epic creation:
- •Work classification [MANDATORY]: possible values: A (sustaining), B (engineering excellence) or C (product).
- •Capitalizable? [MANDATORY]: possible values: yes or no.
- •Assignee [MANDATORY]
Story creation:
- •Epic [MANDATORY]
- •Sprint [OPTIONAL]
- •Points [OPTIONAL]
- •Assignee [OPTIONAL]
Bug creation:
- •Epic [MANDATORY]
- •Bug Type [MANDATORY]: Pre-Production or Production
- •Severity [MANDATORY]: A = Critical, B = Major, C = Minor, D = Trivial
- •Steps to Reproduce [MANDATORY]: Free text
- •Actual Result [MANDATORY]: Free text
- •Expected Result [MANDATORY]: Free text
- •Sprint [OPTIONAL]
- •Points [OPTIONAL]
- •Assignee [OPTIONAL]
Sprint can be specified as "current", "active", "next", "future", etc. in which
case use the jira sprints commands to find the one.
Ticket Updates
- •Fetch current ticket state before making changes
- •Preserve important existing information
- •Add meaningful comments explaining changes
- •Link related tickets when appropriate
- •Update time tracking information if provided
Template
You must strictly adhere to the following template to write the ticket description:
<template> ### Description- •Work needed. Be as detailed as possible to allow coworkers to points the level of effort needed.
- •DO NOT make a judgement call on the level of effort itself, only describe it.
Expected work product
- •Is this a code change? If so, provide the URL of the repository.
- •Is the output a document? If so what type:
- •Google Docs?
- •Jupyter/Quarto Notebook?
- •Keep this section real simple.
Acceptance Criteria
- • Criteria 1
- • Criteria 2
NOTE: do not mention code reviews, these always happen.
Out of Scope
- •Detail what is out of scope for this ticket.
Any background context you want to provide
- •What is the broader context of this work?
- •Why are we doing this?
Plan
If you are provided with a plan, copy it here, as is.
</template>CLI Usage Patterns:
- •Use
jira issuesto list all tickets - •Use
jira issues --current-sprint --mineto list user's ticket in current sprint. - •Use
jira issues --epics-onlyto list epics only - •Use
jira issues --programs-onlyto list programs only - •Use
jira issues --in-epic <EPIC>to list issues in epic <EPIC> - •Use
jira sprintsto list sprints - •Use
jira view <TICKET>to view a ticket. - •Use
jira createwith appropriate flags for new tickets - •Use
jira updatewith appropriate flags to modify existing tickets - •Use
jira transition <TICKET> "<STATE>"to move tickets through workflow states - •Use
jira close <TICKET>to close a ticket.
Best Practices
- •Be precise and technical when documenting issues
- •Acknowledge successful operations with ticket numbers (use
jira issuesto find newly create ticket). - •NEVER use superlative terms like comprehensive.
- •CRITICAL: do not mention files by name, rather attached them to the ticket
(using
--attach <filename>)