Adjust jira skills for handling formatted descriptions#31
Conversation
Assisted-by: Claude Opus 4.6 Signed-off-by: John Collier <jcollier@redhat.com>
c87f3f9 to
1fdaddc
Compare
Assisted-by: Claude Opus 4.6
…dhskillformatdesc
|
@schultzp2020 mind taking a look? |
schultzp2020
left a comment
There was a problem hiding this comment.
Nice work on the ADF path — this should fix the formatted-description issue for epics and features.
One thing I noticed: templates.md, acli-commands.md, and support.md still show the old plain-text create flow, and they aren't in this diff. Depending on which file an agent loads, it might still try the broken path. If you have bandwidth, updating those here (or in a quick follow-up) would keep the skill consistent. Happy to pair on a skill-maker audit pass if that's useful.
Test issues RHIDP-14212–14216 are closed.
|
Also addressed your general comment about the old plain-text create flow:
|
- to-issue.md: story_points → customfield_10028 (field cannot be set via display name on writes) - SKILL.md Gotcha redhat-developer#6: point agents at jira-wiki-to-adf.py instead of hand-rolling ADF - to-epic/feature/issue.md: use $(mktemp) variable for ADF output files for portability - to-epic.md: soften parent link wording — both customfield_10018 and parent.key work; warn only against issuelinks - jira-wiki-to-adf.py: switch to argparse with --help, add encoding="utf-8" on file I/O, remove unused sys import - tests/unit/test_jira_wiki_to_adf.py: 10 unit tests against epic-example.txt (heading, bulletList, taskList, inline marks) - acli-commands.md, templates.md: fix old plain-text create flow to use ADF conversion step Assisted-by: claude-sonnet-4-6
- to-issue.md: story_points → customfield_10028 (field cannot be set via display name on writes) - SKILL.md Gotcha redhat-developer#6: point agents at jira-wiki-to-adf.py instead of hand-rolling ADF - to-epic/feature/issue.md: use $(mktemp) variable for ADF output files for portability - to-epic.md: soften parent link wording — both customfield_10018 and parent.key work; warn only against issuelinks - jira-wiki-to-adf.py: switch to argparse with --help, add encoding="utf-8" on file I/O, remove unused sys import - tests/unit/test_jira_wiki_to_adf.py: 10 unit tests against epic-example.txt (heading, bulletList, taskList, inline marks) - acli-commands.md, templates.md: fix old plain-text create flow to use ADF conversion step Assisted-by: claude-sonnet-4-6
adc6329 to
4298e7e
Compare
- to-issue.md: story_points → customfield_10028 (field cannot be set via display name on writes) - SKILL.md Gotcha redhat-developer#6: point agents at jira-wiki-to-adf.py instead of hand-rolling ADF - to-epic/feature/issue.md: use $(mktemp) variable for ADF output files for portability - to-epic/feature/issue.md: drop /tmp/ prefix from converter input paths (bare filename works cross-platform) - to-epic.md: soften parent link wording — both customfield_10018 and parent.key work; warn only against issuelinks - jira-wiki-to-adf.py: switch to argparse with --help, add encoding="utf-8" on file I/O, remove unused sys import - tests/unit/test_jira_wiki_to_adf.py: 10 unit tests against epic-example.txt (heading, bulletList, taskList, inline marks) - acli-commands.md, templates.md, support.md: fix old plain-text create flow to use ADF conversion step Assisted-by: claude-sonnet-4-6
4298e7e to
b873af6
Compare
- to-issue.md: story_points → customfield_10028 (field cannot be set via display name on writes) - SKILL.md Gotcha redhat-developer#6: point agents at jira-wiki-to-adf.py instead of hand-rolling ADF - to-epic/feature/issue.md: use $(mktemp) variable for ADF output files for portability - to-epic/feature/issue.md: drop /tmp/ prefix from converter input paths (bare filename works cross-platform) - to-epic.md: soften parent link wording — both customfield_10018 and parent.key work; warn only against issuelinks - jira-wiki-to-adf.py: switch to argparse with --help, add encoding="utf-8" on file I/O, remove unused sys import - tests/unit/test_jira_wiki_to_adf.py: 10 unit tests against epic-example.txt (heading, bulletList, taskList, inline marks) - acli-commands.md, templates.md, support.md: fix old plain-text create flow to use ADF conversion step Assisted-by: claude-sonnet-4-6
b873af6 to
92ad8fe
Compare
durandom
left a comment
There was a problem hiding this comment.
Clean, well-tested stdlib-only converter that solves a real problem. All prior review feedback addressed. LGTM.
3 non-blocking suggestions for follow-up:
- Italic regex
_([^_\n]+)_can match mid-word underscores (e.g.field_name_here) — worth a docstring note if extending the converter later test_cli_stdoutdoesn't actually test the CLI subprocess — consider renaming totest_json_round_trip- Multi-level lists not supported — documented limitation, acceptable for current scope
I was using the
rhdh-jiraskills to populate child epics for a Feature, and found that the formatted descriptions (e.g.h1 Epic Goal) were being formatted at all. I remember hitting something similar when interacting with the Jira MCP server.In short, when interacting with issues via the Jira API, Jira expects issue descriptions to be formatted in the Atlassian Document Format (ADF).
I debated how to best handle this, ADF is a verbose JSON-based format (see here for an example), so maintaining it could be a pain. Claude came up with a Python script that can convert the jira markdown to ADF, but I'm undecided if this is the best approach, open to suggestions.
Otherwise, this PR makes a couple small changes based on how the
acliparameters work for setting certain issue fields.