Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .jira/templates/bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
# Jira Issue Template: Bug
type: Bug
project: RHAIENG
fields:
issuetype:
name: Bug
components:
- name: Tooling Experience
# Team
customfield_12313240:
name: Tooling Experience
# Activity Type
customfield_12320841:
name: Tech Debt & Quality
---

## Description

[Brief summary of the broken functionality. e.g., LangGraph ReAct agent example fails on RHOAI due to deprecated API call.]

## Steps to Reproduce

1. [Step 1]
2. [Step 2]
3. [Step 3]

## Expected Outcome

[What should have happened?]

## Actual Outcome

[What actually happened? Include logs, error messages, or stack traces.]

## Workaround

[Is there a temporary way to bypass this issue? If none, state "None".]

## Impact

[Who is affected and how severely? e.g., All users following the CrewAI quickstart cannot complete the deployment step.]

## Dependency Chain

[Explicitly call out any upstream framework bugs or RHOAI platform issues blocking this fix. If none, state "None".]

## Acceptance Criteria

- [ ] Bug cannot be reproduced using the steps above
- [ ] Example runs successfully locally and on RHOAI
- [ ] CI/CD pipeline passes

## Testing Strategy

[Describe how the functionality will be tested and automated. Note areas requiring manual or complex testing that should be considered during story pointing and code review.]
39 changes: 39 additions & 0 deletions .jira/templates/epic.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
# Jira Issue Template: Epic
type: Epic
project: RHAIENG
fields:
issuetype:
name: Epic
components:
- name: Tooling Experience
# Team
customfield_12313240:
name: Tooling Experience
# 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.

---

## Business Objective

[State the overarching goal, customer need, or framework capability being delivered. e.g., Deliver an E2E agentic example using CrewAI with tool-calling on RHOAI.]

## Technical Approach

[High-level architecture or technical plan drafted by the Feature Shepherd. Include target framework, deployment pattern (local + RHOAI), and any POC links.]

## External Dependencies

[List any cross-team dependencies, upstream framework blockers, or RHOAI platform requirements. If none, state "None".]

## Epic Acceptance Criteria

- [ ] E2E example is functional locally and deployed on RHOAI
- [ ] Documentation and README are complete and reviewed
- [ ] CI/CD pipeline passes for the example

## Shepherd Breakdown Checklist

- [ ] Epic is broken down into properly sized Stories, Tasks, and Spikes.
- [ ] Child tickets meet the Definition of Ready (clear intent, AC defined, pointed).
- [ ] Work is delegated across the team to build shared expertise and prevent knowledge silos.
32 changes: 32 additions & 0 deletions .jira/templates/spike.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
# Jira Issue Template: Spike
type: Spike
project: RHAIENG
fields:
issuetype:
name: Spike
components:
- name: Tooling Experience
# Team
customfield_12313240:
name: Tooling Experience
# Activity Type
customfield_12320841:
name: Learning & Enablement
---

## Objective

[State the specific question we need to answer or the unknown we are researching. e.g., Evaluate whether AutoGen supports tool-calling patterns compatible with our RHOAI deployment model.]

## Time-Box

[State the maximum amount of effort to spend before stopping. e.g., 2 days.]

## 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.


- [ ] Design document or technical plan
- [ ] Proof of Concept (POC) or Draft PR
- [ ] New Jira tickets created and broken down for upcoming sprints
34 changes: 34 additions & 0 deletions .jira/templates/story.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
# Jira Issue Template: Story
type: Story
project: RHAIENG
fields:
issuetype:
name: Story
components:
- name: Tooling Experience
# Team
customfield_12313240:
name: Tooling Experience
# Activity Type
customfield_12320841:
name: New Features
---

## Value Statement

[State the capability or experience improvement being delivered to AI Engineers. e.g., Add MLflow tracing to the existing LangGraph ReAct agent example.]

## Proposed Approach

[Briefly explain the technical plan, framework integration, or architecture changes. To be drafted by the Feature Shepherd prior to refinement.]

## Acceptance Criteria

- [ ] Example runs successfully in a local development environment
- [ ] Example deploys and runs successfully on RHOAI
- [ ] README documents setup, usage, and expected output

## Testing Strategy

[Describe how the functionality will be tested and automated. Note areas requiring manual or complex testing that should be considered during story pointing and code review.]
38 changes: 38 additions & 0 deletions .jira/templates/task.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
# Jira Issue Template: Task
type: Task
project: RHAIENG
fields:
issuetype:
name: Task
components:
- name: Tooling Experience
# Team
customfield_12313240:
name: Tooling Experience
# Activity Type
customfield_12320841:
name: Tech Debt & Quality
---

## Goal

[State the internal engineering goal. e.g., Add linting and unit test jobs to the CI/CD pipeline for all LangChain examples.]

## Proposed Approach

[Briefly outline the technical steps or implementation plan required to complete this work.]

## Regression Risk

[Identify what might accidentally break because of this change and how we will mitigate it.]

## Acceptance Criteria

- [ ] Pipeline or automation executes successfully
- [ ] Existing examples and tests pass without regressions
- [ ] Specific internal outcome is achieved

## Testing Strategy

[Describe how the functionality will be tested and automated. Note areas requiring manual or complex testing that should be considered during story pointing and code review.]