-
Notifications
You must be signed in to change notification settings - Fork 3.6k
feat: Add get organization members and list all outside collaborators of an organization #1508
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
base: main
Are you sure you want to change the base?
Conversation
update: README.md
|
refs #1331 |
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 adds two new tools for organization management: get_org_members to retrieve organization members with role filtering and pagination, and list_outside_collaborators to list users with repository access who aren't organization members. The implementation follows existing patterns with comprehensive test coverage and documentation updates.
- Adds organization member and outside collaborator listing capabilities
- Includes full test coverage with success and error scenarios
- Updates README and toolsnap schema files
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/github/context_tools.go | Implements the two new organization tools with pagination support and user data transformation |
| pkg/github/context_tools_test.go | Adds comprehensive unit tests for both tools covering success, empty results, client errors, and API errors |
| pkg/github/tools.go | Registers the new tools in the context toolset and refactors type declarations into grouped format |
| pkg/github/toolsnaps/get_org_members.snap | Documents the API schema for the get_org_members tool |
| pkg/github/toolsnaps/list_outside_collaborators.snap | Documents the API schema for the list_outside_collaborators tool |
| README.md | Adds documentation for both new tools in the Context section |
fix: change method name capitalization to adjust export visibility
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
Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.
…side collaborators - Updated GetOrgMembers to utilize GraphQL for fetching organization members with roles. - Refactored ListOutsideCollaborators to use the GitHub API for listing outside collaborators. - Improved error handling and response structures in both tools. - Added tests for new GraphQL implementations and ensured compatibility with existing functionality.
|
@SamMorrowDrums Any chance you could approve the running of workflows on this PR? And could you or another maintainer please review this PR when you have a chance? It's been sitting since November. Thank you! |
|
@KevinPartingtonTR thanks for the ping, we have to strike a pretty delicate balance for adding new tools, vs keeping context usage low as possible, so we often don't move fast on tool additions. That said we have new mechanisms available for testing things out, and mentioning the workflows and use-cases you have is most important in convincing us why some tools should be merged over others etc. Prompts you wish would work and examples like that are also incredibly valuable. |
This pull request adds two new tools for organization management in the GitHub integration, along with their documentation, implementation, and test coverage. The new tools enable fetching organization members and listing outside collaborators, both with support for pagination and filtering. The changes are grouped into tool additions, documentation updates, and test enhancements.
New organization management tools:
get_org_memberstool, which retrieves members of a specified organization, with support for pagination and filtering by role (all,admin,member). [1] [2]list_outside_collaboratorstool, which lists users who have access to organization repositories but are not organization members, also supporting pagination. [1] [2]Documentation updates:
README.mdto include usage details for the newget_org_membersandlist_outside_collaboratorstools, including their parameters and descriptions.Test coverage:
These changes improve the ability to manage and audit organization membership and access via the GitHub integration.