LIST TEAMS
Lists all teams in an organization that are visible to the authenticated
user.
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_TEAMS])
CREATE A TEAM
In `{org}`, authenticated users can create teams if they're members or owners,
with all members having default creation rights. Owners can limit this ability.
Creators automatically become tea
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_TEAM])
GET A TEAM BY NAME
Retrieves a GitHub team using its `slug`, created by lowercasing the name,
replacing spaces with `-`, and special characters. Alternatively, specify
a team by `org_id` and `team_id`.
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_TEAM_BY_NAME])
UPDATE A TEAM
To edit a team, the authenticated user must either be an organization owner
or a team maintainer. **Note:** You can also specify a team by `org_id`
and `team_id` using the route `PATCH /organi
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_A_TEAM])
DELETE A TEAM
To delete a team, one must be an organization owner or a team maintainer.
Deleting a parent team also removes its child teams. Teams can be specified
for deletion using `org_id` and `team_id`
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_TEAM])
LIST DISCUSSIONS
Access all discussions on a team's page via `GET /organizations/{org_id}/team/{team_id}/discussions`,
needing OAuth or classic tokens with `read:discussion` scope.
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_DISCUSSIONS])
CREATE A DISCUSSION
New endpoint allows creating posts on a team's page, triggering notifications.
Excessive use may lead to rate limiting. Supports specifying teams by `org_id`
and `team_id`. Requires `write:dis
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_DISCUSSION])
GET A DISCUSSION
Access a discussion on a team's page via `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.
Use OAuth or personal access tokens with `read:discussion` scope.
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_DISCUSSION])
UPDATE A DISCUSSION
This endpoint allows editing titles and bodies of discussion posts. Updates
are made with specific parameters. For team-specific discussions, use the
route with `org_id` and `team_id`. OAuth a
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_A_DISCUSSION])
DELETE A DISCUSSION
To remove a team discussion, use `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`
specifying `org_id` and `team_id`. OAuth and classic tokens require `write:discussi
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_DISCUSSION])
LIST PENDING TEAM INVITATIONS
The return hash from an Organization Invitation includes a `role` field
with values like `direct_member`, `admin`, etc. The `login` field is `null`
if the invitee isn't a GitHub member. Option
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PENDING_TEAM_INVITATIONS])
LIST TEAM MEMBERS
Team members will include the members of child teams. To list members in
a team, the team must be visible to the authenticated user.
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_TEAM_MEMBERS])
GET TEAM MEMBERSHIP FOR A USER
To access team memberships, which include child members, team visibility
is needed. Use specific API endpoints to check membership details like `state`
and `role`, noting organization owners a
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_GET_TEAM_MEMBERSHIP_FOR_A_USER])
ADD OR UPDATE TEAM MEMBERSHIP FOR A USER
Organization owners or team maintainers can add members, with non-members
receiving email invites. Team sync is available for GitHub Enterprise Cloud,
allowing IdP to manage memberships. Use `
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_ADD_OR_UPDATE_TEAM_MEMBERSHIP_FOR_A_USER])
REMOVE TEAM MEMBERSHIP FOR A USER
To remove a team member, 'admin' rights or ownership is needed without deleting
the user. On GitHub Enterprise Cloud, team sync is supported, yet API edits
to membership with sync on can lead
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_REMOVE_TEAM_MEMBERSHIP_FOR_A_USER])
LIST TEAM PROJECTS
Lists the organization projects for a team. **Note:** You can also specify
a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`.
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_TEAM_PROJECTS])
CHECK TEAM PERMISSIONS FOR A PROJECT
The text explains how to check a team's permissions (`read`, `write`, `admin`)
on an organization project, including inherited projects. It also notes
the option to specify a team by `org_id`
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_TEAM_PERMISSIONS_FOR_A_PROJECT])
ADD OR UPDATE TEAM PROJECT PERMISSIONS
To add or update a team's project, the user needs 'admin' rights. Projects
and teams must belong to the same organization. A team can be specified
by `org_id` and `team_id` via `PUT` request.
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_ADD_OR_UPDATE_TEAM_PROJECT_PERMISSIONS])
REMOVE A PROJECT FROM A TEAM
An organization owner or a team maintainer can remove a project from a team.
Organization members need `read` or `admin` access to do so. The action
doesn't delete the project. Teams can also
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_REMOVE_A_PROJECT_FROM_A_TEAM])
LIST TEAM REPOSITORIES
Lists a team's repositories visible to the authenticated user. **Note:**
You can also specify a team by `org_id` and `team_id` using the route `GET
/organizations/{org_id}/team/{team_id}/repos
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_TEAM_REPOSITORIES])
CHECK TEAM PERMISSIONS FOR A REPOSITORY
The text guides on verifying a team's permissions for a repository, including
inherited permissions, by using a special media type. It elaborates on the
necessary permissions for private repos
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_TEAM_PERMISSIONS_FOR_A_REPOSITORY])
ADD OR UPDATE TEAM REPOSITORY PERMISSIONS
To modify a team's repo permissions, admin access is needed along with team
visibility. Repos must be owned or forked by the org. Follow specific conditions
and set `Content-Length` to zero fo
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_ADD_OR_UPDATE_TEAM_REPOSITORY_PERMISSIONS])
REMOVE A REPOSITORY FROM A TEAM
Organization owners or team maintainers can remove repositories from their
team if they are authenticated. Members need admin access to remove a repository.
Removal doesn't delete the repo. Te
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_REMOVE_A_REPOSITORY_FROM_A_TEAM])
LIST CHILD TEAMS
Lists the child teams of the team specified by `{team_slug}`. **Note:**
You can also specify a team by `org_id` and `team_id` using the route `GET
/organizations/{org_id}/team/{team_id}/teams`
from composio_crewai import ComposioToolSet, Action
tool_set = ComposioToolSet()
tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_CHILD_TEAMS])