-
Couldn't load subscription status.
- Fork 2.9k
Issues consolidation #1211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues consolidation #1211
Conversation
380ada9 to
d62af97
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR consolidates various issue-related tools to reduce the number of exposed tools and improve consistency across the GitHub MCP server API. The changes group related operations under unified tools with a method parameter to specify the exact action.
Key Changes:
- Consolidates read operations (
get_issue,get_issue_comments,list_sub_issues, and issue label listing) underissue_read - Merges write operations (
create_issueandupdate_issue) underissue_write - Combines sub-issue operations (
add_sub_issue,remove_sub_issue,reprioritize_sub_issue) undersub_issue_write
Reviewed Changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/github/tools.go | Updates tool registration to use consolidated tools instead of individual ones |
| pkg/github/labels_test.go | Removes test cases for issue-specific label listing functionality |
| pkg/github/labels.go | Simplifies ListLabels to only handle repository labels, removing issue-specific functionality |
| pkg/github/issues_test.go | Updates all test cases to use consolidated tools with method parameters |
| pkg/github/issues.go | Implements consolidated issue tools with method-based routing and extracts implementation functions |
| Multiple toolsnaps files | Updates tool snapshots to reflect consolidated tool schemas |
| README.md | Updates documentation to reflect the new consolidated tool structure |
Comments suppressed due to low confidence (4)
pkg/github/issues.go:1
- The required fields validation has changed from including 'title' to only requiring 'method', 'owner', 'repo'. This means title is no longer required for create operations, but the CreateIssue function still validates title is not empty. Consider adding a test case that verifies the error handling when title is missing for create method.
package github
pkg/github/issues.go:1
- The required fields for issue_write no longer include 'issue_number', but the update method still requires it. Consider adding test coverage to verify that calling update method without issue_number parameter results in an appropriate error.
package github
pkg/github/issues.go:1
- The parameter name has changed from 'per_page' to 'perPage' to maintain consistency with camelCase naming convention, but this should be verified against the API documentation to ensure it matches expected parameter naming.
package github
pkg/github/issues.go:1
- There are redundant error checks - the code checks
result.IsErrortwice and callst.Fatalffollowed byrequire.Falsewhich will never be reached if the first condition is true. Remove the redundantrequire.False(t, result.IsError)line.
package github
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
0b98918 to
db71d80
Compare
|
lgtm |
**Description** GitHub has consolidated the tools related to issues, causing some of our integration tests to break. This PR adjusts the tests and docs to use the new tool names. **Related Issues/PRs (if applicable)** GitHub PR: github/github-mcp-server#1211 **Special notes for reviewers (if applicable)** N/A Signed-off-by: Ignasi Barrera <ignasi@tetrate.io>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Y
Consolidation of issue tools.
get_issueget_issue_commentslist_labels(withissue_number)list_sub_issuesare now consolidated under
issue_readwithmethodparameter:getget_commentsget_labelsget_sub_issuescreate_issueupdate_issueare now consolidated under
issue_writewithmethodparameter:createupdateadd_sub_issueremove_sub_issuereprioritize_sub_issueare consolidated under
sub_issue_writewithmethodparameter:addreprioritizeremoveOther changes:
I kept
list_labelstool but only for listing repo labels.UPD: Changes after benchmarks and testing
get_commentsmethod topull_request_readthat returns PR non-review comments. Models struggle a lot distinguishing the 2 so I decided we better haveget_commentsboth inpull_request_readandissue_read.