Skip to content

chore: Add Jira issue templates#55

Merged
tarun-etikala merged 4 commits into
red-hat-data-services:mainfrom
nickommen:jira-templates
Apr 29, 2026
Merged

chore: Add Jira issue templates#55
tarun-etikala merged 4 commits into
red-hat-data-services:mainfrom
nickommen:jira-templates

Conversation

@nickommen
Copy link
Copy Markdown
Contributor

@nickommen nickommen commented Apr 10, 2026

Summary

  • Add markdown templates with YAML metadata for Epic, Story, Task, Bug, and Spike issue types in .jira/templates/
  • Templates follow the Tooling Experience team playbook conventions and include default field values for project (RHAIENG), component, team, and activity type
  • Designed for use with Claude + Jira MCP to create new issues from templates

Test plan

  • Verify template YAML metadata parses correctly
  • Verify template descriptions render properly as Jira issue descriptions
  • Confirm custom field IDs match RHAIENG project configuration

🤖 Generated with Claude Code

Add markdown templates with YAML metadata for Epic, Story, Task, Bug,
and Spike issue types. Templates follow the team playbook conventions
and include default field values for project, component, team, and
activity type.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 10, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: 2fd96de8-e6df-4337-a53e-445f1996fdb9

📥 Commits

Reviewing files that changed from the base of the PR and between 6a17ff8 and b2287d0.

📒 Files selected for processing (2)
  • .jira/README.md
  • .jira/templates/spike.md
✅ Files skipped from review due to trivial changes (1)
  • .jira/README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • .jira/templates/spike.md

📝 Walkthrough

Walkthrough

Adds six new files under .jira/: five Jira issue templates (Bug, Epic, Spike, Story, Task) for project RHAIENG with YAML frontmatter and structured Markdown sections, plus a README describing template usage and frontmatter fields.

Changes

Cohort / File(s) Summary
Jira Issue Templates
.jira/templates/bug.md, .jira/templates/epic.md, .jira/templates/spike.md, .jira/templates/story.md, .jira/templates/task.md
Added five new issue templates containing YAML frontmatter (project, issue type, components, customfield mappings) and standardized body sections (Description/Objective, Steps/Approach, Acceptance Criteria, Testing Strategy, etc.).
Jira README
.jira/README.md
Added documentation describing the templates directory, YAML frontmatter fields (project, components, customfield_10001, customfield_10464), per-template intent, and usage instructions for copying/editing templates.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'chore: Add Jira issue templates' is clear, concise, and accurately describes the primary change—adding new Jira issue templates to the repository.
Description check ✅ Passed The description is directly related to the changeset, explaining the purpose of the templates, their design conventions, and the intended use case with Claude + Jira MCP.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nickommen nickommen changed the title Add Jira issue templates for RHAIENG project chore: Add Jira issue templates Apr 10, 2026
@nickommen nickommen marked this pull request as draft April 10, 2026 18:17
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.jira/templates/epic.md:
- Around line 13-14: Replace the empty required Epic field value by providing a
non-empty placeholder for customfield_12311141 (e.g., "TBD Epic Name" or "Epic
Name - TODO") so Epic creation won't fail when tooling doesn't override it;
update the template entry for customfield_12311141 to a sensible default string
and ensure any docs/comments note it should be replaced when creating real
Epics.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d45ba6c5-246f-4a6e-aef2-7821e90bfec9

📥 Commits

Reviewing files that changed from the base of the PR and between d20cf3e and 6cacb1f.

📒 Files selected for processing (5)
  • .jira/templates/bug.md
  • .jira/templates/epic.md
  • .jira/templates/spike.md
  • .jira/templates/story.md
  • .jira/templates/task.md

Comment thread .jira/templates/epic.md Outdated
Comment on lines +13 to +14
# Epic Name (required for Epics)
customfield_12311141: ""
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Verify whether any template leaves required Epic Name empty.
python - <<'PY'
from pathlib import Path
import re, sys

try:
    import yaml
except Exception:
    print("PyYAML not installed. Install with: pip install pyyaml")
    sys.exit(2)

p = Path(".jira/templates/epic.md")
txt = p.read_text(encoding="utf-8")
m = re.match(r"^---\n(.*?)\n---\n", txt, re.S)
if not m:
    print("[FAIL] epic.md missing frontmatter")
    sys.exit(1)

data = yaml.safe_load(m.group(1))
value = data.get("fields", {}).get("customfield_12311141", None)
if value == "":
    print("[FAIL] customfield_12311141 is empty string")
    sys.exit(1)

print("[OK] customfield_12311141 is non-empty:", value)
PY

Repository: red-hat-data-services/agentic-starter-kits

Length of output: 129


🏁 Script executed:

# Find all Jira template files and check for empty customfield entries
find .jira/templates -type f -name "*.md" | while read f; do
  echo "=== $f ==="
  grep -E "customfield_[0-9]+:\s*\"\"" "$f" || echo "(no empty customfields)"
done

Repository: red-hat-data-services/agentic-starter-kits

Length of output: 369


🏁 Script executed:

# Check for documentation about template usage and field requirements
fd -t f -e md -e txt -e yaml . | xargs grep -l "customfield_12311141\|Epic Name\|template" 2>/dev/null | head -20

Repository: red-hat-data-services/agentic-starter-kits

Length of output: 739


🏁 Script executed:

# Search for any comments or docs about required fields in templates
find .jira -type f \( -name "*.md" -o -name "*.txt" -o -name "*.yaml" \) -exec grep -l "required" {} \;

Repository: red-hat-data-services/agentic-starter-kits

Length of output: 133


🏁 Script executed:

# Read the epic.md template to see full structure
cat -n .jira/templates/epic.md

Repository: red-hat-data-services/agentic-starter-kits

Length of output: 1626


🏁 Script executed:

# Read task.md to compare how "required" is mentioned
cat -n .jira/templates/task.md

Repository: red-hat-data-services/agentic-starter-kits

Length of output: 1372


🏁 Script executed:

# Search for any usage or documentation about this field being required
rg "customfield_12311141|Epic.*Name.*required" --type md --type yaml

Repository: red-hat-data-services/agentic-starter-kits

Length of output: 68


Replace the empty Epic Name field with a non-empty placeholder.

The template sets customfield_12311141 to an empty string on line 14, but it is marked required for Epics. This will cause Epic creation to fail if the field is not overridden by calling tooling.

Suggested fix
-  # Epic Name (required for Epics)
-  customfield_12311141: ""
+  # Epic Name (required for Epics) - replace before creating issue
+  customfield_12311141: "[REQUIRED] Set Epic Name"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Epic Name (required for Epics)
customfield_12311141: ""
# Epic Name (required for Epics) - replace before creating issue
customfield_12311141: "[REQUIRED] Set Epic Name"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.jira/templates/epic.md around lines 13 - 14, Replace the empty required
Epic field value by providing a non-empty placeholder for customfield_12311141
(e.g., "TBD Epic Name" or "Epic Name - TODO") so Epic creation won't fail when
tooling doesn't override it; update the template entry for customfield_12311141
to a sensible default string and ensure any docs/comments note it should be
replaced when creating real Epics.

Correct field IDs validated against the live RHAIENG Jira API:
- Team: customfield_12313240 -> customfield_10001 (plain string ID)
- Activity Type: customfield_12320841 -> customfield_10464 (id+value)
- Remove Epic Name field (not required, auto-populated from Summary)

Change checkboxes to numbered lists for Jira compatibility and
promote headings from h3 to h2.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nickommen
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 13, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@nickommen nickommen marked this pull request as ready for review April 13, 2026 14:27
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.jira/templates/story.md (1)

24-24: Consider simplifying "prior to" to "before".

The phrase "prior to" can be simplified to "before" for more concise text.

✏️ Proposed simplification
-[Briefly explain the technical plan, framework integration, or architecture changes. To be drafted by the Feature Shepherd prior to refinement.]
+[Briefly explain the technical plan, framework integration, or architecture changes. To be drafted by the Feature Shepherd before refinement.]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.jira/templates/story.md at line 24, Replace the phrase "prior to
refinement" with the simpler "before refinement" in the template sentence
"[Briefly explain the technical plan, framework integration, or architecture
changes. To be drafted by the Feature Shepherd prior to refinement.]" so the
line reads "...To be drafted by the Feature Shepherd before refinement." Ensure
only this wording is changed and preserve the rest of the sentence.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.jira/templates/story.md:
- Line 24: Replace the phrase "prior to refinement" with the simpler "before
refinement" in the template sentence "[Briefly explain the technical plan,
framework integration, or architecture changes. To be drafted by the Feature
Shepherd prior to refinement.]" so the line reads "...To be drafted by the
Feature Shepherd before refinement." Ensure only this wording is changed and
preserve the rest of the sentence.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f6689919-995e-4cc2-a51c-e163b62b6111

📥 Commits

Reviewing files that changed from the base of the PR and between 6cacb1f and 6a17ff8.

📒 Files selected for processing (5)
  • .jira/templates/bug.md
  • .jira/templates/epic.md
  • .jira/templates/spike.md
  • .jira/templates/story.md
  • .jira/templates/task.md
✅ Files skipped from review due to trivial changes (4)
  • .jira/templates/task.md
  • .jira/templates/epic.md
  • .jira/templates/spike.md
  • .jira/templates/bug.md

@nickommen
Copy link
Copy Markdown
Contributor Author

@mpk-droid @tarun-etikala @kami619 Can I get a review?

@mpk-droid
Copy link
Copy Markdown
Contributor

not blocking this PR. Something to remember for future:These templates looks solid But we don't currently have anything linking these to claude.md. For humans, we could also consider updating root level README.md for discoverability.

Comment thread .jira/templates/spike.md Outdated

## Expected Artifacts

[Check the expected outputs of this investigation.]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Since the list below is numbered, we can't check anything. Either convert those to checkboxes or we can say "list the expected outputs.."

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The checkboxes don't look to be standard Markdown in Jira, but in ADF. I'll change the instructions.

Comment thread .jira/templates/epic.md
components:
- name: Tooling Experience
# Team (Tooling Experience)
customfield_10001: "ec74d716-af36-4b3c-950f-f79213d08f71-1611"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All other templates has Activity Type. Is this intentionally left out for epics?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. We only need it set for issues at the level below epics.

@mpk-droid
Copy link
Copy Markdown
Contributor

@mpk-droid @tarun-etikala @kami619 Can I get a review?

added few comments. lmk what you think

@tarun-etikala
Copy link
Copy Markdown
Contributor

Really good starting point for using the templates. The integration layer between these templates and Claude is missing. Would suggest to have .jira/README.md which documents usage of templates.

Some future work to improve this:

  • Section in AGENTS.md/Claude.md for agents to read the templates from this path(Without this claude has no reason to look at these templates unless explicitly specified)
  • This might be a good use case for a custom Claude Code skill (e.g., /jira-create) that automates the read-template -> fill -> confirm -> submit flow
  • Extract shared config: A _defaults.yaml with project, components, and customfield_10001 (team) so changes propagate from one place
  • It might be worth to convert the human readable placeholders to prompts(for example: [State the overarching goal...] to Summarize the business objective in 1-2 sentences. Focus on the customer need...

@kami619
Copy link
Copy Markdown
Contributor

kami619 commented Apr 15, 2026

looks like a good starting point and agree with both @tarun-etikala and @mpk-droid suggestions., real road test would be to try this out to create the issues., but with JIRA MCP service unavailable, we could do that down the line.

This is an awesome first step @nickommen 🥇

- Add .jira/README describing templates, roles, and YAML front matter.
- Spike template: reword Expected Artifacts placeholder for clearer intent.

Made-with: Cursor
@nickommen
Copy link
Copy Markdown
Contributor Author

Thanks for the feedback! I added a README.md, cleaned up the checkboxes, and successfully created some issues in Jira. I'll take @tarun-etikala feedback to make this more accessible to agents as a separate PR.

Copy link
Copy Markdown
Contributor

@tarun-etikala tarun-etikala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

(For the future PR)A one-liner in AGENTS.md under a "Jira" section would help agents discover this:

## Jira Templates
- `.jira/templates/` contains issue templates (Epic, Story, Task, Bug, Spike) for RHAIENG

@tarun-etikala tarun-etikala merged commit 07331fe into red-hat-data-services:main Apr 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants