fix(pr_merge): advertise canonical number, demote index to alias (#45)
CD / Lint / Test / Vet (push) Successful in 7s
CD / Build & Import (push) Successful in 22s
CD / Deploy via GitOps (push) Has been skipped

pr_merge was the only tool still advertising `index` as its id field while
every other issue/PR tool uses the canonical `number` (#38). Flipped its
schema property + required + struct field/tag `index` -> `number`; the existing
`index`->`number` shim keeps legacy `index` callers working, so no shim change
was needed (no canonical-`index` tool remains). Now the id arg is `number`
uniformly across all per-issue/PR tools.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-03 21:58:05 +02:00
co-authored by Claude Opus 4.8
parent 93c32edbb5
commit 9f12db3d94
2 changed files with 35 additions and 11 deletions
+11 -11
View File
@@ -28,23 +28,23 @@ func (t *PRMerge) Descriptor() registry.ToolDescriptor {
"properties":{
"owner":{"type":"string"},
"repo":{"type":"string"},
"index":{"type":"integer","minimum":1},
"number":{"type":"integer","minimum":1},
"style":{"type":"string","enum":["merge","squash","rebase"]},
"merge_message_title":{"type":"string"},
"merge_message_field":{"type":"string"}
},
"required":["owner","repo","index"]
"required":["owner","repo","number"]
}`),
}
}
type prMergeArgs struct {
Owner string `json:"owner"`
Repo string `json:"repo"`
Index int `json:"index"`
Style string `json:"style"`
Title string `json:"merge_message_title"`
Body string `json:"merge_message_field"`
Owner string `json:"owner"`
Repo string `json:"repo"`
Number int `json:"number"`
Style string `json:"style"`
Title string `json:"merge_message_title"`
Body string `json:"merge_message_field"`
}
func (t *PRMerge) Call(ctx context.Context, raw json.RawMessage) (json.RawMessage, error) {
@@ -55,8 +55,8 @@ func (t *PRMerge) Call(ctx context.Context, raw json.RawMessage) (json.RawMessag
if err := t.a.Check(args.Owner); err != nil {
return nil, err
}
if args.Index < 1 {
return nil, fmt.Errorf("index must be >= 1: %w", gitea.ErrValidation)
if args.Number < 1 {
return nil, fmt.Errorf("number must be >= 1: %w", gitea.ErrValidation)
}
style := args.Style
@@ -64,7 +64,7 @@ func (t *PRMerge) Call(ctx context.Context, raw json.RawMessage) (json.RawMessag
style = "merge"
}
if err := t.c.MergePullRequest(ctx, args.Owner, args.Repo, args.Index, gitea.MergePRArgs{
if err := t.c.MergePullRequest(ctx, args.Owner, args.Repo, args.Number, gitea.MergePRArgs{
Do: style,
Title: args.Title,
Body: args.Body,