fix(jira): honest build claims + clean, human-friendly automated comments#1320
Merged
Conversation
🧪 Unit Test Results📊 View Full Interactive Report ❌ 2 TESTS FAILED7964 tests | 7830 passed | 2 failed | 130 skipped | ⏱️ 14m 9s | 📊 98.3% | 📈 45.9% coverage Tests by Class — 909 classes, 2 with failures
Failed Tests (click to expand)📊 Testing Coverage BreakdownUnit Test Line Coverage (testable surfaces): 45.9% Total coverage incl. UI/lifecycle: 44.9% (17 files excluded from testable denominator — see
🔗 Interactive HTML Report | CI Run Details 📦 Downloadable Artifacts
|
…fix points field; drop noise-author lines
The merge/PR Jira automation made human-visible false or noisy claims:
1. "Ready for QA: TestFlight build N" was posted on EVERY merge, including
develop merges that upload nothing. The number was whatever
CURRENT_PROJECT_VERSION happened to grep first, so QA was pointed at a build
that predated (and lacked) the fix. Now add_build_info takes a version +
uploaded flag and only claims a TestFlight build when one was actually
produced (main release, or a develop merge that bumped the build). Otherwise
it says the change is merged and tells QA to hold for the next release build.
jira-update-on-merge.yml computes `uploaded` (base==main, or build number
changed vs first parent) and reads the Palace app's version robustly (max
build / highest marketing version, not `grep -m1 | head -1`).
2. The build comment used Jira wiki markup pushed through a plain-text ADF node,
so it rendered as literal asterisks and a dead link. It is now built as real
ADF (strong marks + a link node).
3. Story points were written to the unused customfield_10016; the board reads
customfield_10033. Fixed read + write everywhere.
4. Comments embedded the local git author ("t <t@t.io>") in add_fix_comment's
traceability block and link_commit's output — meaningless to a QA/PM reader.
Dropped the author line from both; the commit SHA is the traceability anchor.
Goal: every automated comment reads clean to a human, no mystery authors.
Also: add_build_info updates an existing per-PR comment instead of duplicating,
and link_commit skips a SHA that's already linked.
**Scope:** dev tooling only — scripts/jira-integration.sh and the two Jira
GitHub Actions workflows. No app/production code, no test-affecting change.
**Not done:** did not scrub already-posted comments in this commit (done
separately on the board); did not add a bash test harness (none exists; verified
via bash -n + offline ADF/version dry-runs).
**Deferred:** generate-jira-tickets.py hardcodes LABEL="pp-4020" regardless of
--parent — a separate, unrelated cleanup.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mauricecarrier7
force-pushed
the
fix/jira-honest-build-claims
branch
from
July 21, 2026 20:59
ba0ec4a to
cd9e373
Compare
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Jira merge/PR automation was posting false and hard-to-read comments. This cleans up the tooling so every automated comment is accurate and human-friendly.
jira-update-on-merge.ymlfires on merges to bothmainanddevelopand posted "Ready for QA: TestFlight build N" on every one — but a develop merge uploads nothing, andNwas just whateverCURRENT_PROJECT_VERSIONgrepped first, so QA was pointed at a build that predated (and lacked) the fix. Nowadd_build_infotakes a version +uploadedflag and only claims a TestFlight build when one was actually produced (amainrelease, or a develop merge that bumped the build). Otherwise it says the change is merged and tells QA to hold for the next release build. The workflow computesuploaded(base==main, or build number changed vs the merge's first parent) and reads the Palace app's version robustly (max build / highest marketing version, notgrep -m1 | head -1).*asterisks*and a dead link in the Jira UI. It's now built as real ADF (bold marks + a link node).t <t@t.io>) in the traceability block andlink_commitoutput — meaningless to a QA/PM reader. Dropped; the commit SHA is the anchor.add_fix_commentnow strips**bold**/`code`/### headingmarkers from PR-body text before posting, so "Ready for QA" comments read as prose instead of****PP-4788****.customfield_10016tocustomfield_10033(what the PP board actually shows).add_build_infoupdates an existing per-PR comment instead of duplicating;link_commitskips an already-linked SHA.Scope
Dev tooling only —
scripts/jira-integration.sh+ the two Jira GitHub Actions workflows. No app/production code, no test-affecting change. Verified viabash -n, YAML parse, and offline ADF/version/strip dry-runs.tooling-checks.yml(bash -n + detector pytests) gates it in CI.Not done / deferred
generate-jira-tickets.pyhardcodesLABEL="pp-4020"regardless of--parent— a separate, unrelated cleanup.🤖 Generated with Claude Code