zhengruifeng opened a new pull request, #56137:
URL: https://github.com/apache/spark/pull/56137

   ### What changes were proposed in this pull request?
   
   Add a fail-hard check in `dev/merge_spark_pr.py`: after fetching the JIRA 
summary for each `SPARK-NNNN` referenced in the PR title, abort the merge if 
the issue type is `Epic` or `Umbrella`. The committer is told to file a 
Sub-task under the parent (via `dev/create_spark_jira.py "<title>" -c 
<component> -p <ID>`) and reference that Sub-task in the PR title instead.
   
   ### Why are the changes needed?
   
   When the merge script completes a merge, it transitions the linked JIRA(s) 
to **Resolved** and stamps a **Fix Version** on them.
   
   PRs frequently end up referencing the wrong ticket - it is common for a 
contributor to drop the parent Epic/Umbrella ID into the title when they meant 
to create or reference a Sub-task. When that slips past the committer, the 
script silently auto-closes the Epic/Umbrella with a Fix Version, leaving the 
parent ticket in an incorrect **Resolved** state with a Fix Version it should 
not have. Cleaning that up later (reopening the Epic, removing the stray Fix 
Version, retransitioning) is manual and easy to forget.
   
   Failing the merge before that transition happens forces a quick title fix 
(or a Sub-task creation) at merge time, and keeps Epic/Umbrella status accurate.
   
   Drafting this for discussion before filing a JIRA - happy to file one and 
update the title if reviewers prefer that to ` + "`[MINOR]`" + `.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. Committer tooling only.
   
   ### How was this patch tested?
   
   - ` + "`python3 -m py_compile dev/merge_spark_pr.py`" + ` succeeds.
   - Existing doctests still pass: ` + "`python3 -m doctest 
dev/merge_spark_pr.py`" + ` - 57/57.
   - The new check only runs when ` + "`asf_jira`" + ` is initialized, leaving 
the no-JIRA path unchanged, and the per-ID fetch-error path is preserved.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Opus 4.7)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to