Skip to main content
Glama

update_group_permission

Modify group access to a repository by setting read, write, or admin permissions. Manage repository security through controlled group authorization.

Instructions

Update or add a group's permission for a repository.

Args: repo_slug: Repository slug group_slug: Group slug permission: Permission level - "read", "write", or "admin" Returns: Updated permission info

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repo_slugYes
group_slugYes
permissionYes

Implementation Reference

  • MCP tool handler: Updates group permissions on a repository by calling the BitbucketClient method. Registered via @mcp.tool() decorator using function name.
    @mcp.tool() @handle_bitbucket_error @formatted def update_group_permission( repo_slug: str, group_slug: str, permission: str, ) -> dict: """Update or add a group's permission for a repository. Args: repo_slug: Repository slug group_slug: Group slug permission: Permission level - "read", "write", or "admin" Returns: Updated permission info """ client = get_client() result = client.update_group_permission(repo_slug, group_slug, permission) return { "group": result.get("group", {}).get("name"), "permission": result.get("permission"), }
  • BitbucketClient helper method that performs the actual API PUT request to /repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug}.
    def update_group_permission( self, repo_slug: str, group_slug: str, permission: str, ) -> dict[str, Any]: """Update (or add) group permission. Args: repo_slug: Repository slug group_slug: Group slug permission: Permission level: "read", "write", or "admin" Returns: Updated permission info """ result = self._request( "PUT", self._repo_path(repo_slug, "permissions-config", "groups", group_slug), json={"permission": permission}, ) return self._require_result(result, "update permission for group", group_slug)
  • Pydantic model used for parsing and validating group permission responses in related tools like list_group_permissions and get_group_permission.
    class GroupPermission(BaseModel): """Group permission info.""" group: Optional[str] = None slug: Optional[str] = None permission: str @classmethod def from_api(cls, data: dict) -> "GroupPermission": group_data = data.get("group") or {} return cls( group=group_data.get("name"), slug=group_data.get("slug"), permission=data.get("permission", ""), )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JaviMaligno/mcp-server-bitbucket'

If you have feedback or need assistance with the MCP directory API, please join our Discord server