You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2026/07/06 07:25:58 UTC
(camel) branch we-need-to-add-the-following-rules-when-merging-a created (now 3c35165bb726)
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a change to branch we-need-to-add-the-following-rules-when-merging-a
in repository https://gitbox.apache.org/repos/asf/camel.git
at 3c35165bb726 Add merge procedure rules for AI agents
This branch includes the following new commits:
new 3c35165bb726 Add merge procedure rules for AI agents
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(camel) 01/01: Add merge procedure rules for AI agents
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch we-need-to-add-the-following-rules-when-merging-a
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 3c35165bb7268d109407a0fbbe37fdaccc4c2ca1
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Jul 6 07:25:44 2026 +0000
Add merge procedure rules for AI agents
Document the complete merge workflow: derive milestone from
target-branch pom.xml, assign milestone/labels/assignees on
both the PR and JIRA issue, merge, close JIRA, and clean up
the branch. Rules added to both AGENTS.md and the oss-helper
project-guidelines so all agent tooling picks them up.
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.oss-ai-helper-rules/project-guidelines.md | 8 ++++++
AGENTS.md | 43 ++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+)
diff --git a/.oss-ai-helper-rules/project-guidelines.md b/.oss-ai-helper-rules/project-guidelines.md
index 2f03203b9b3f..4e88f8b56c4d 100644
--- a/.oss-ai-helper-rules/project-guidelines.md
+++ b/.oss-ai-helper-rules/project-guidelines.md
@@ -17,3 +17,11 @@ This rule file contains branching, commit, PR, and task-finding conventions for
- **Find-task intermediate:** Filter 12352792 (easy issues)
- **Find-task experienced JQL:** `project = CAMEL AND status = Open AND labels = help-wanted` (maxResults=10)
- **Scope-too-large redirect:** create a Jira issue directly
+- **Merge procedure:**
+ 1. Derive milestone from target branch: read `<version>` from root `pom.xml` on the target branch and strip `-SNAPSHOT` (e.g., `4.22.0-SNAPSHOT` → `4.22.0`)
+ 2. Assign milestone to PR (`gh pr edit <PR> --milestone <version>`) and set `fixVersions` on the JIRA issue to the same version (before closing)
+ 3. Assign PR to the PR author (`gh pr edit <PR> --add-assignee <author>`) and verify JIRA issue is assigned to the contributor
+ 4. Categorize PR with labels based on JIRA issue type or PR content: `bug` (Bug), `enhancement` (Improvement/New Feature), `documentation` (Documentation), `task` (Task/refactoring), `dependency` (dependency upgrades), `test` (Test)
+ 5. Merge the PR (after verifying human approval and no unresolved conversations)
+ 6. Close the JIRA issue (transition to Resolved/Fixed, add comment linking to merged PR)
+ 7. Delete the PR branch
diff --git a/AGENTS.md b/AGENTS.md
index 5d3716fd0a6a..eb57c3b981a2 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -72,6 +72,49 @@ When creating a PR, **always identify and request reviews** from the most releva
- An agent MUST NOT merge a PR without at least **one human approval**.
- An agent MUST NOT approve its own PRs — human review is always required.
+### Merge Procedure
+
+When merging a PR, an agent MUST perform the following steps **in order**:
+
+1. **Derive the milestone from the target branch**:
+ - Read the `<version>` from the root `pom.xml` on the PR's **target branch** (e.g., `main`,
+ `camel-4.18.x`).
+ - Strip the `-SNAPSHOT` suffix to get the milestone name (e.g., `4.22.0-SNAPSHOT` → `4.22.0`).
+
+2. **Assign the milestone**:
+ - Set the GitHub milestone on the PR: `gh pr edit <PR> --milestone <version>`.
+ - If the milestone does not exist yet on GitHub, create it first:
+ `gh api repos/{owner}/{repo}/milestones -f title="<version>"`.
+ - Set `fixVersions` on the corresponding JIRA issue to the same version. Note: `fixVersions`
+ cannot be set on an already-closed issue — always set it **before** closing.
+
+3. **Assign the PR and JIRA issue to the contributor**:
+ - Assign the PR to the PR author on GitHub: `gh pr edit <PR> --add-assignee <author>`.
+ - Ensure the JIRA issue is assigned to the contributor (it should already be from the
+ "JIRA Ticket Ownership" rules, but verify).
+
+4. **Categorize the PR with labels**:
+ - Determine the PR category from the linked JIRA issue type or PR content:
+ - `bug` — for bug fixes (JIRA type: Bug)
+ - `enhancement` — for improvements and new features (JIRA type: Improvement, New Feature)
+ - `documentation` — for documentation-only changes (JIRA type: Documentation)
+ - `task` — for chores, refactoring, build changes (JIRA type: Task)
+ - `dependency` — for dependency upgrades
+ - `test` — for test-only changes (JIRA type: Test)
+ - Apply the label: `gh pr edit <PR> --add-label <category>`.
+
+5. **Merge the PR**:
+ - Verify all merge requirements above are satisfied (human approval, no unresolved conversations).
+ - Merge the PR: `gh pr merge <PR> --squash` (or `--merge` / `--rebase` as appropriate).
+
+6. **Close the JIRA issue**:
+ - Transition the JIRA issue to **Resolved/Fixed** (ensure `fixVersions` is already set from step 2).
+ - Add a comment linking to the merged PR.
+
+7. **Clean up the branch**:
+ - Delete the PR branch after merge (GitHub may do this automatically if configured).
+ - As per the "Git branch" rules, branches must be cleaned up after merge or rejection.
+
### Code Quality
- Every PR must include tests for new functionality or bug fixes.