or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

actions.mdadditional-services.mdapps.mdchecks.mdclient.mdenterprise.mdgit.mdindex.mdissues.mdorganizations.mdrepositories.mdteams.mdusers.md
tile.json

teams.mddocs/

Teams

Team management within organizations including members, repositories, and permissions.

TeamsService

The TeamsService provides 67 methods for team management.

type TeamsService struct{}

Team Operations

Get and List Teams

// ListTeams lists all teams in an organization
func (s *TeamsService) ListTeams(ctx context.Context, org string, opts *ListOptions) ([]*Team, *Response, error)

// GetTeamByID gets a team by ID
func (s *TeamsService) GetTeamByID(ctx context.Context, orgID, teamID int64) (*Team, *Response, error)

// GetTeamBySlug gets a team by slug
func (s *TeamsService) GetTeamBySlug(ctx context.Context, org, slug string) (*Team, *Response, error)

Create, Edit, and Delete Teams

// CreateTeam creates a new team within an organization
func (s *TeamsService) CreateTeam(ctx context.Context, org string, team NewTeam) (*Team, *Response, error)

// EditTeamByID edits a team
func (s *TeamsService) EditTeamByID(ctx context.Context, orgID, teamID int64, team NewTeam, removeParent bool) (*Team, *Response, error)

// EditTeamBySlug edits a team
func (s *TeamsService) EditTeamBySlug(ctx context.Context, org, slug string, team NewTeam, removeParent bool) (*Team, *Response, error)

// DeleteTeamByID deletes a team
func (s *TeamsService) DeleteTeamByID(ctx context.Context, orgID, teamID int64) (*Response, error)

// DeleteTeamBySlug deletes a team
func (s *TeamsService) DeleteTeamBySlug(ctx context.Context, org, slug string) (*Response, error)

type NewTeam struct {
    Name         string
    Description  *string
    Maintainers  []string
    RepoNames    []string
    ParentTeamID *int64
    Privacy      *string  // "secret" or "closed"
}

type Team struct {
    ID              *int64
    NodeID          *string
    Name            *string
    Description     *string
    URL             *string
    Slug            *string
    Permission      *string
    Permissions     *TeamPermissions
    Privacy         *string
    MembersCount    *int
    ReposCount      *int
    Organization    *Organization
    Parent          *Team
}

Team Members

List and Get Members

// ListTeamMembersByID lists all members of a team
func (s *TeamsService) ListTeamMembersByID(ctx context.Context, orgID, teamID int64, opts *TeamListTeamMembersOptions) ([]*User, *Response, error)

// ListTeamMembersBySlug lists all members of a team
func (s *TeamsService) ListTeamMembersBySlug(ctx context.Context, org, slug string, opts *TeamListTeamMembersOptions) ([]*User, *Response, error)

// GetTeamMembershipByID gets team membership for a user
func (s *TeamsService) GetTeamMembershipByID(ctx context.Context, orgID, teamID int64, user string) (*Membership, *Response, error)

// GetTeamMembershipBySlug gets team membership for a user
func (s *TeamsService) GetTeamMembershipBySlug(ctx context.Context, org, slug, user string) (*Membership, *Response, error)

Add and Remove Members

// AddTeamMembershipByID adds or updates team membership
func (s *TeamsService) AddTeamMembershipByID(ctx context.Context, orgID, teamID int64, user string, opts *TeamAddTeamMembershipOptions) (*Membership, *Response, error)

// AddTeamMembershipBySlug adds or updates team membership
func (s *TeamsService) AddTeamMembershipBySlug(ctx context.Context, org, slug, user string, opts *TeamAddTeamMembershipOptions) (*Membership, *Response, error)

// RemoveTeamMembershipByID removes a user from a team
func (s *TeamsService) RemoveTeamMembershipByID(ctx context.Context, orgID, teamID int64, user string) (*Response, error)

// RemoveTeamMembershipBySlug removes a user from a team
func (s *TeamsService) RemoveTeamMembershipBySlug(ctx context.Context, org, slug, user string) (*Response, error)

type TeamAddTeamMembershipOptions struct {
    Role string  // "member" or "maintainer"
}

Team Repositories

List and Check Repositories

// ListTeamReposByID lists repositories that a team has access to
func (s *TeamsService) ListTeamReposByID(ctx context.Context, orgID, teamID int64, opts *ListOptions) ([]*Repository, *Response, error)

// ListTeamReposBySlug lists repositories that a team has access to
func (s *TeamsService) ListTeamReposBySlug(ctx context.Context, org, slug string, opts *ListOptions) ([]*Repository, *Response, error)

// IsTeamRepoByID checks if a team manages a repository
func (s *TeamsService) IsTeamRepoByID(ctx context.Context, orgID, teamID int64, owner, repo string) (*Repository, *Response, error)

// IsTeamRepoBySlug checks if a team manages a repository
func (s *TeamsService) IsTeamRepoBySlug(ctx context.Context, org, slug, owner, repo string) (*Repository, *Response, error)

Add and Remove Repositories

// AddTeamRepoByID adds a repository to be managed by a team
func (s *TeamsService) AddTeamRepoByID(ctx context.Context, orgID, teamID int64, owner, repo string, opts *TeamAddTeamRepoOptions) (*Response, error)

// AddTeamRepoBySlug adds a repository to be managed by a team
func (s *TeamsService) AddTeamRepoBySlug(ctx context.Context, org, slug, owner, repo string, opts *TeamAddTeamRepoOptions) (*Response, error)

// RemoveTeamRepoByID removes a repository from a team
func (s *TeamsService) RemoveTeamRepoByID(ctx context.Context, orgID, teamID int64, owner, repo string) (*Response, error)

// RemoveTeamRepoBySlug removes a repository from a team
func (s *TeamsService) RemoveTeamRepoBySlug(ctx context.Context, org, slug, owner, repo string) (*Response, error)

type TeamAddTeamRepoOptions struct {
    Permission string  // "pull", "push", "admin", "maintain", "triage"
}

Team Projects

// ListTeamProjectsByID lists team projects
func (s *TeamsService) ListTeamProjectsByID(ctx context.Context, orgID, teamID int64) ([]*Project, *Response, error)

// ListTeamProjectsBySlug lists team projects
func (s *TeamsService) ListTeamProjectsBySlug(ctx context.Context, org, slug string) ([]*Project, *Response, error)

// ReviewTeamProjectsByID reviews whether a team has access to a project
func (s *TeamsService) ReviewTeamProjectsByID(ctx context.Context, orgID, teamID, projectID int64) (*Project, *Response, error)

// ReviewTeamProjectsBySlug reviews whether a team has access to a project
func (s *TeamsService) ReviewTeamProjectsBySlug(ctx context.Context, org, slug string, projectID int64) (*Project, *Response, error)

// AddTeamProjectByID adds a project to a team
func (s *TeamsService) AddTeamProjectByID(ctx context.Context, orgID, teamID, projectID int64, opts *TeamProjectOptions) (*Response, error)

// AddTeamProjectBySlug adds a project to a team
func (s *TeamsService) AddTeamProjectBySlug(ctx context.Context, org, slug string, projectID int64, opts *TeamProjectOptions) (*Response, error)

// RemoveTeamProjectByID removes a project from a team
func (s *TeamsService) RemoveTeamProjectByID(ctx context.Context, orgID, teamID int64, projectID int64) (*Response, error)

// RemoveTeamProjectBySlug removes a project from a team
func (s *TeamsService) RemoveTeamProjectBySlug(ctx context.Context, org, slug string, projectID int64) (*Response, error)

Team Discussions

// ListDiscussionsByID lists discussions of a team
func (s *TeamsService) ListDiscussionsByID(ctx context.Context, orgID, teamID int64, opts *DiscussionListOptions) ([]*TeamDiscussion, *Response, error)

// ListDiscussionsBySlug lists discussions of a team
func (s *TeamsService) ListDiscussionsBySlug(ctx context.Context, org, slug string, opts *DiscussionListOptions) ([]*TeamDiscussion, *Response, error)

// GetDiscussionByID gets a specific discussion
func (s *TeamsService) GetDiscussionByID(ctx context.Context, orgID, teamID int64, discussionNumber int) (*TeamDiscussion, *Response, error)

// GetDiscussionBySlug gets a specific discussion
func (s *TeamsService) GetDiscussionBySlug(ctx context.Context, org, slug string, discussionNumber int) (*TeamDiscussion, *Response, error)

// CreateDiscussionByID creates a new discussion post
func (s *TeamsService) CreateDiscussionByID(ctx context.Context, orgID, teamID int64, discussion TeamDiscussion) (*TeamDiscussion, *Response, error)

// CreateDiscussionBySlug creates a new discussion post
func (s *TeamsService) CreateDiscussionBySlug(ctx context.Context, org, slug string, discussion TeamDiscussion) (*TeamDiscussion, *Response, error)

// EditDiscussionByID edits a discussion post
func (s *TeamsService) EditDiscussionByID(ctx context.Context, orgID, teamID int64, discussionNumber int, discussion TeamDiscussion) (*TeamDiscussion, *Response, error)

// EditDiscussionBySlug edits a discussion post
func (s *TeamsService) EditDiscussionBySlug(ctx context.Context, org, slug string, discussionNumber int, discussion TeamDiscussion) (*TeamDiscussion, *Response, error)

// DeleteDiscussionByID deletes a discussion post
func (s *TeamsService) DeleteDiscussionByID(ctx context.Context, orgID, teamID int64, discussionNumber int) (*Response, error)

// DeleteDiscussionBySlug deletes a discussion post
func (s *TeamsService) DeleteDiscussionBySlug(ctx context.Context, org, slug string, discussionNumber int) (*Response, error)

Team Discussion Comments

// ListDiscussionCommentsByID lists comments on a discussion
func (s *TeamsService) ListDiscussionCommentsByID(ctx context.Context, orgID, teamID int64, discussionNumber int, opts *DiscussionCommentListOptions) ([]*DiscussionComment, *Response, error)

// ListDiscussionCommentsBySlug lists comments on a discussion
func (s *TeamsService) ListDiscussionCommentsBySlug(ctx context.Context, org, slug string, discussionNumber int, opts *DiscussionCommentListOptions) ([]*DiscussionComment, *Response, error)

// GetDiscussionCommentByID gets a specific comment
func (s *TeamsService) GetDiscussionCommentByID(ctx context.Context, orgID, teamID int64, discussionNumber int, commentNumber int) (*DiscussionComment, *Response, error)

// GetDiscussionCommentBySlug gets a specific comment
func (s *TeamsService) GetDiscussionCommentBySlug(ctx context.Context, org, slug string, discussionNumber, commentNumber int) (*DiscussionComment, *Response, error)

// CreateCommentByID creates a new comment on a discussion
func (s *TeamsService) CreateCommentByID(ctx context.Context, orgID, teamID int64, discussionNumber int, comment DiscussionComment) (*DiscussionComment, *Response, error)

// CreateCommentBySlug creates a new comment on a discussion
func (s *TeamsService) CreateCommentBySlug(ctx context.Context, org, slug string, discussionNumber int, comment DiscussionComment) (*DiscussionComment, *Response, error)

// EditCommentByID edits a comment on a discussion
func (s *TeamsService) EditCommentByID(ctx context.Context, orgID, teamID int64, discussionNumber, commentNumber int, comment DiscussionComment) (*DiscussionComment, *Response, error)

// EditCommentBySlug edits a comment on a discussion
func (s *TeamsService) EditCommentBySlug(ctx context.Context, org, slug string, discussionNumber, commentNumber int, comment DiscussionComment) (*DiscussionComment, *Response, error)

// DeleteCommentByID deletes a comment on a discussion
func (s *TeamsService) DeleteCommentByID(ctx context.Context, orgID, teamID int64, discussionNumber, commentNumber int) (*Response, error)

// DeleteCommentBySlug deletes a comment on a discussion
func (s *TeamsService) DeleteCommentBySlug(ctx context.Context, org, slug string, discussionNumber, commentNumber int) (*Response, error)

List External Groups

// ListExternalGroupsForTeamByID lists external groups for a team
func (s *TeamsService) ListExternalGroupsForTeamByID(ctx context.Context, orgID, teamID int64) (*ExternalGroupList, *Response, error)

// ListExternalGroupsForTeamBySlug lists external groups for a team
func (s *TeamsService) ListExternalGroupsForTeamBySlug(ctx context.Context, org, slug string) (*ExternalGroupList, *Response, error)