JIRA Evidence Posting
Upload captured screenshots and generated templates to GitHub PR description and JIRA ticket. This skill is the posting step — it assumes screenshots and comment templates already exist in the evidence directory.
Arguments
$ARGUMENTS: <TICKET_ID> <EVIDENCE_DIR> <PR_NUMBER>
TICKET_ID(required): JIRA ticket key (e.g.,PROJ-123)EVIDENCE_DIR(required): Directory containing screenshots and templates (e.g.,./evidence)PR_NUMBER(required): GitHub PR number to update description
Prerequisites
JIRA_API_TOKENenvironment variable setjira-cliconfigured (~/.config/.jira/.config.yml) — server and login are read from thereghCLI authenticated- Evidence directory containing:
NN-name-viewport.pngscreenshots (numbered, e.g.,01-search-step-desktop.png)comment.txt— JIRA wiki markup (generated bygenerate-templates.py)comment.md— GitHub markdown (generated bygenerate-templates.py)
Usage
bash .claude/skills/jira-evidence/scripts/post-evidence.sh <TICKET_ID> <EVIDENCE_DIR> <PR_NUMBER>
Example
bash .claude/skills/jira-evidence/scripts/post-evidence.sh PROJ-123 ./evidence 42
What It Does
- Read JIRA config — Reads
~/.config/.jira/.config.ymlto obtainserverandlogindynamically (no hardcoded values) - Upload to GitHub
pr-assetsrelease — UploadsNN-name-viewport.pngscreenshots viagh release upload --clobber, creating CDN URLs that render in GitHub markdown - Update PR description — Replaces or appends the
## Evidencesection in the PR body usinggh pr edit - Upload JIRA attachments — Uploads screenshots via REST API v3 so
!filename.png!wiki markup renders inline - Post JIRA comment — Posts
comment.txtas a new comment via REST API v2 (wiki markup with embedded images) - Move ticket to the configured review status — Resolves
jira.workflow.review(or thejira.workflow.code_reviewalias) from.lisa.config.json/.lisa.config.local.jsonand transitions viajira issue move.reviewis optional; when unset, the ticket stays inclaimedand this step is skipped. Never transition to a status not named inconfig.jira.workflow. If the configured status is not a valid transition from the current state, log a warning and skip.
Screenshot Naming Convention
Only files matching NN-*.png (two-digit prefix) are uploaded. Other files in the evidence directory are ignored.
evidence/
01-search-step-desktop.png ✓ uploaded
02-confirm-step-desktop.png ✓ uploaded
03-search-step-mobile.png ✓ uploaded
comment.txt used for JIRA comment
comment.md used for PR description
Troubleshooting
Images not rendering in GitHub PR
Images must be in the pr-assets GitHub release (not committed to git). The script handles this via gh release upload. If the release does not exist, create it first:
gh release create pr-assets --title "PR Assets" --notes "CDN for PR evidence screenshots"
JIRA comment shows !filename.png! as text (not image)
The screenshot must be uploaded as a JIRA attachment before posting the comment. The script uploads attachments first then posts the comment — always in that order.
JIRA API returns 403 on attachment upload
Ensure JIRA_API_TOKEN is set and login in ~/.config/.jira/.config.yml matches your Atlassian account email.