بنقرة واحدة
jira-parser
Parse and normalize Jira issue fields into a structured format for STP generation
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Parse and normalize Jira issue fields into a structured format for STP generation
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Classify PR review comments on STP/STD documents into auto-fixable vs needs-human categories. Maps free-text feedback to QualityFlow domain rules for automated fix routing.
Resolve Jira ID to project configuration and load project context
Generate comprehensive v2.1-ENHANCED STD YAML with pattern metadata, variables, test structure from ALL STP scenarios (single file)
Orchestrate STP → STD pipeline (generates comprehensive STD YAML only)
Generate test stubs with PSE docstrings from STD YAML — language and framework driven by project config
Detect test conventions from a codebase to drive test generation without tier config
| name | jira-parser |
| description | Parse and normalize Jira issue fields into a structured format for STP generation |
| model | claude-opus-4-6 |
Phase: Pre-Processing User-Invocable: false
Parse and normalize Jira issue fields into a structured format for STP generation.
Invoked by the jira-collector subagent after fetching raw Jira issue data.
Raw Jira issue response containing:
parsed_issue:
key: PROJ-12345
summary: <issue summary>
description: <full description text>
status: <In Progress | Done | etc>
issue_type: <Story | Bug | Enhancement | Epic | Task>
priority: <Critical | Major | Minor | etc>
labels:
- label1
- label2
components:
- component1
- component2
acceptance_criteria: <extracted from description or custom field>
feature_link: <URL or null>
git_pull_requests:
- https://github.com/...
reporter:
name: <name>
email: <email>
assignee:
name: <name>
email: <email>
created: <date> # ISO 8601 format
updated: <date> # ISO 8601 format
fix_version: <version string or null>
custom_fields:
- id: customfield_12345
name: Feature Link
value: <value>
- id: customfield_67890
name: Git Pull Request
value: <value>
- ... # All non-null custom fields
| Jira Field | Output Field | Notes |
|---|---|---|
summary | summary | Direct mapping |
description | description | Full text, may contain markdown |
status.name | status | Status display name |
issuetype.name | issue_type | Issue type display name |
priority.name | priority | Priority display name |
labels | labels | Array of strings |
components[].name | components | Array of component names |
fixVersions[0].name | fix_version | First fix version or null |
reporter | reporter | {name, email} object |
assignee | assignee | {name, email} object |
created | created | ISO 8601 timestamp |
updated | updated | ISO 8601 timestamp |
Custom field IDs vary by Jira instance. Search for these patterns:
| Custom Field Name | Common Patterns | Output Field |
|---|---|---|
| Feature Link | customfield_* containing "Feature", "Epic Link" | feature_link |
| Git Pull Request | customfield_* containing "Git", "Pull Request", "PR" | git_pull_requests |
Extract ALL non-null custom fields into the custom_fields array:
| Rule | Description |
|---|---|
| Include | All custom fields with non-null, non-empty values |
| Exclude | System fields (already mapped above) |
| Format | {id, name, value} for each field |
| Name Discovery | Use Jira API field metadata to get display names |
| Value Types | Strings, arrays, objects - preserve original structure |
MANDATORY Custom Fields to Look For:
Look for acceptance criteria in:
h3. Acceptance Criteria (Jira wiki markup)For each comment, extract:
comments:
- id: <comment id>
author:
name: <display name>
email: <email if available>
created: <timestamp>
body: <comment body>
pr_urls_found:
- <any GitHub PR URLs found in body>
Scan text for patterns matching:
https://github.com/{owner}/{repo}/pull/{number}github.com/{owner}/{repo}/pull/{number} (without https)Return deduplicated list of full URLs.
null for missing optional fields, empty arrays for listsInput (raw Jira response):
{
"key": "PROJ-12345",
"fields": {
"summary": "Add hot-plug support for CPU",
"description": "As a user, I want to...\n\nAcceptance Criteria:\n- CPU can be added\n- CPU can be removed",
"status": {"name": "In Progress"},
"issuetype": {"name": "Story"},
"priority": {"name": "Major"},
"labels": ["hot-plug", "cpu"],
"components": [{"name": "app-controller"}],
"customfield_12345": "https://your-jira.example.com/browse/PROJ-99000",
"customfield_67890": "https://github.com/example-org/example-repo/pull/1234"
}
}
Output:
parsed_issue:
key: PROJ-12345
summary: Add hot-plug support for CPU
description: "As a user, I want to...\n\nAcceptance Criteria:\n- CPU can be added\n- CPU can be removed"
status: In Progress
issue_type: Story
priority: Major
labels:
- hot-plug
- cpu
components:
- app-controller
acceptance_criteria: |
- CPU can be added
- CPU can be removed
feature_link: https://your-jira.example.com/browse/PROJ-99000
git_pull_requests:
- https://github.com/example-org/example-repo/pull/1234