Use for any question or task about a bug tracker workflow in Jira, Linear, GitHub Issues or Azure DevOps, including severity vs priority, filing bugs from failing CI tests without duplicates, and defect counts that are wrong (missing top-severity bugs, fixed items counted as new): dedupe before filing, lifecycle, transitions and CI filing.
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Deep Jira specifics for bug-tracker-workflow. Auth setup, create,
transition, and JQL search stay in SKILL.md; this file holds the
custom-field, update, and result-parsing detail.
severity is usually a custom field, not the built-in priority. Discover the
field ID once per tenant:
curl -u "$JIRA_EMAIL:$JIRA_TOKEN" \
"$JIRA_BASE/rest/api/3/field" \
| jq '.[] | select(.name=="Severity") | {id, name}'
# {"id": "customfield_10039", "name": "Severity"}Then submit it in the create payload:
"customfield_10039": {"value": severity}, # "Critical" | "High" | ...PUT /rest/api/3/issue/{key} for arbitrary field updates:
def update_priority(issue_key, priority_name):
r = requests.put(
f"{BASE}/rest/api/3/issue/{issue_key}",
json={"fields": {"priority": {"name": priority_name}}},
headers=HEADERS,
)
r.raise_for_status()create_bug returns the new issue key (e.g. ENG-12345). Build a permalink:
url = f"{BASE}/browse/{issue_key}"Search responses include expand, total, startAt, and issues (the
array). Always check total against maxResults for pagination.
text ~ "user input" accepts JQL operators - always
escape quotes and reserved characters before interpolating.