Skip to content

Commit 2c75b41

Browse files
committed
use new getClient function inadd and reply pr review tools
1 parent 90a5d0d commit 2c75b41

File tree

4 files changed

+22
-12
lines changed

4 files changed

+22
-12
lines changed

github-mcp-server

-11.3 MB
Binary file not shown.

pkg/github/pullrequests.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,7 @@ func GetPullRequestComments(getClient GetClientFn, t translations.TranslationHel
645645
}
646646

647647
// AddPullRequestReviewComment creates a tool to add a review comment to a pull request.
648-
func AddPullRequestReviewComment(client *github.Client, t translations.TranslationHelperFunc) (tool mcp.Tool, handler server.ToolHandlerFunc) {
648+
func AddPullRequestReviewComment(getClient GetClientFn, t translations.TranslationHelperFunc) (tool mcp.Tool, handler server.ToolHandlerFunc) {
649649
return mcp.NewTool("add_pull_request_review_comment",
650650
mcp.WithDescription(t("TOOL_ADD_PULL_REQUEST_COMMENT_DESCRIPTION", "Add a review comment to a pull request")),
651651
mcp.WithString("owner",
@@ -770,6 +770,11 @@ func AddPullRequestReviewComment(client *github.Client, t translations.Translati
770770
}
771771
}
772772

773+
client, err := getClient(ctx)
774+
if err != nil {
775+
return nil, fmt.Errorf("failed to get GitHub client: %w", err)
776+
}
777+
773778
createdComment, resp, err := client.PullRequests.CreateComment(ctx, owner, repo, pullNumber, comment)
774779
if err != nil {
775780
return nil, fmt.Errorf("failed to create pull request comment: %w", err)
@@ -794,7 +799,7 @@ func AddPullRequestReviewComment(client *github.Client, t translations.Translati
794799
}
795800

796801
// ReplyToPullRequestReviewComment creates a tool to reply to an existing review comment on a pull request.
797-
func ReplyToPullRequestReviewComment(client *github.Client, t translations.TranslationHelperFunc) (tool mcp.Tool,
802+
func ReplyToPullRequestReviewComment(getClient GetClientFn, t translations.TranslationHelperFunc) (tool mcp.Tool,
798803
handler server.ToolHandlerFunc) {
799804
return mcp.NewTool("reply_to_pull_request_review_comment",
800805
mcp.WithDescription(t("TOOL_REPLY_TO_PULL_REQUEST_REVIEW_COMMENT_DESCRIPTION", "Reply to an existing review comment on a pull request")),
@@ -841,6 +846,11 @@ func ReplyToPullRequestReviewComment(client *github.Client, t translations.Trans
841846
return mcp.NewToolResultError(err.Error()), nil
842847
}
843848

849+
client, err := getClient(ctx)
850+
if err != nil {
851+
return nil, fmt.Errorf("failed to get GitHub client: %w", err)
852+
}
853+
844854
createdReply, resp, err := client.PullRequests.CreateCommentInReplyTo(ctx, owner, repo, pullNumber, body, int64(commentID))
845855
if err != nil {
846856
return nil, fmt.Errorf("failed to reply to pull request comment: %w", err)

pkg/github/pullrequests_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1722,7 +1722,7 @@ func Test_CreatePullRequest(t *testing.T) {
17221722

17231723
func Test_AddPullRequestReviewComment(t *testing.T) {
17241724
mockClient := github.NewClient(nil)
1725-
tool, _ := AddPullRequestReviewComment(mockClient, translations.NullTranslationHelper)
1725+
tool, _ := AddPullRequestReviewComment(stubGetClientFn(mockClient), translations.NullTranslationHelper)
17261726

17271727
assert.Equal(t, "add_pull_request_review_comment", tool.Name)
17281728
assert.NotEmpty(t, tool.Description)
@@ -1808,7 +1808,7 @@ func Test_AddPullRequestReviewComment(t *testing.T) {
18081808
t.Run(tc.name, func(t *testing.T) {
18091809
mockClient := github.NewClient(tc.mockedClient)
18101810

1811-
_, handler := AddPullRequestReviewComment(mockClient, translations.NullTranslationHelper)
1811+
_, handler := AddPullRequestReviewComment(stubGetClientFn(mockClient), translations.NullTranslationHelper)
18121812

18131813
request := createMCPRequest(tc.requestArgs)
18141814

@@ -1840,7 +1840,7 @@ func Test_AddPullRequestReviewComment(t *testing.T) {
18401840
func Test_ReplyToPullRequestReviewComment(t *testing.T) {
18411841
// Verify tool definition once
18421842
mockClient := github.NewClient(nil)
1843-
tool, _ := ReplyToPullRequestReviewComment(mockClient, translations.NullTranslationHelper)
1843+
tool, _ := ReplyToPullRequestReviewComment(stubGetClientFn(mockClient), translations.NullTranslationHelper)
18441844

18451845
assert.Equal(t, "reply_to_pull_request_review_comment", tool.Name)
18461846
assert.NotEmpty(t, tool.Description)
@@ -1918,7 +1918,7 @@ func Test_ReplyToPullRequestReviewComment(t *testing.T) {
19181918
t.Run(tc.name, func(t *testing.T) {
19191919
mockClient := github.NewClient(tc.mockedClient)
19201920

1921-
_, handler := ReplyToPullRequestReviewComment(mockClient, translations.NullTranslationHelper)
1921+
_, handler := ReplyToPullRequestReviewComment(stubGetClientFn(mockClient), translations.NullTranslationHelper)
19221922

19231923
request := createMCPRequest(tc.requestArgs)
19241924

pkg/github/server.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@ func NewServer(getClient GetClientFn, version string, readOnly bool, t translati
5151
s.AddTool(GetPullRequestComments(getClient, t))
5252
s.AddTool(GetPullRequestReviews(getClient, t))
5353
if !readOnly {
54-
s.AddTool(MergePullRequest(client, t))
55-
s.AddTool(UpdatePullRequestBranch(client, t))
56-
s.AddTool(CreatePullRequestReview(client, t))
57-
s.AddTool(CreatePullRequest(client, t))
54+
s.AddTool(MergePullRequest(getClient, t))
55+
s.AddTool(UpdatePullRequestBranch(getClient, t))
56+
s.AddTool(CreatePullRequestReview(getClient, t))
57+
s.AddTool(CreatePullRequest(getClient, t))
5858
s.AddTool(UpdatePullRequest(getClient, t))
59-
s.AddTool(AddPullRequestReviewComment(client, t))
60-
s.AddTool(ReplyToPullRequestReviewComment(client, t))
59+
s.AddTool(AddPullRequestReviewComment(getClient, t))
60+
s.AddTool(ReplyToPullRequestReviewComment(getClient, t))
6161
}
6262

6363
// Add GitHub tools - Repositories

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy