or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

apps-checks.mdauthentication.mdgists.mdgit-objects.mdindex.mdissues.mdorganizations.mdpull-requests.mdrepositories.mdsearch.mdusers.md

organizations.mddocs/

0

# Organization Management

1

2

Complete organization operations including team management, member access, organization repositories, webhooks, and organization settings.

3

4

## Capabilities

5

6

### Organization Access & Information

7

8

Core operations for accessing organization information.

9

10

```python { .api }

11

class GitHub:

12

def organization(self, login):

13

"""

14

Get an organization by login name.

15

16

Args:

17

login (str): Organization login name

18

19

Returns:

20

Organization: Organization object or None if not found

21

"""

22

23

def organizations(self):

24

"""

25

List organizations for the authenticated user.

26

27

Returns:

28

iterator: Iterator of Organization objects

29

"""

30

31

def organizations_with(self, username):

32

"""

33

List public organizations for a user.

34

35

Args:

36

username (str): GitHub username

37

38

Returns:

39

iterator: Iterator of Organization objects

40

"""

41

```

42

43

### Organization Membership

44

45

Managing organization memberships and invitations.

46

47

```python { .api }

48

class Organization:

49

def members(self, filter="all", role="all"):

50

"""

51

List organization members.

52

53

Args:

54

filter (str): Member filter ('all', '2fa_disabled')

55

role (str): Member role ('all', 'admin', 'member')

56

57

Returns:

58

iterator: Iterator of User objects

59

"""

60

61

def public_members(self):

62

"""

63

List public members of the organization.

64

65

Returns:

66

iterator: Iterator of User objects

67

"""

68

69

def is_member(self, username):

70

"""

71

Check if user is a member of the organization.

72

73

Args:

74

username (str): GitHub username

75

76

Returns:

77

bool: True if user is a member

78

"""

79

80

def is_public_member(self, username):

81

"""

82

Check if user is a public member.

83

84

Args:

85

username (str): GitHub username

86

87

Returns:

88

bool: True if user is a public member

89

"""

90

91

def add_or_update_membership(self, username, role="member"):

92

"""

93

Add or update organization membership.

94

95

Args:

96

username (str): GitHub username

97

role (str): Member role ('admin', 'member')

98

99

Returns:

100

Membership: Membership object

101

"""

102

103

def remove_membership(self, username):

104

"""

105

Remove a user from the organization.

106

107

Args:

108

username (str): GitHub username

109

110

Returns:

111

bool: True if successful

112

"""

113

```

114

115

### Team Management

116

117

Managing organization teams and team memberships.

118

119

```python { .api }

120

class Organization:

121

def teams(self):

122

"""

123

List organization teams.

124

125

Returns:

126

iterator: Iterator of Team objects

127

"""

128

129

def team(self, team_id):

130

"""

131

Get a team by ID.

132

133

Args:

134

team_id (int): Team ID

135

136

Returns:

137

Team: Team object or None

138

"""

139

140

def team_by_name(self, team_name):

141

"""

142

Get a team by name.

143

144

Args:

145

team_name (str): Team name

146

147

Returns:

148

Team: Team object or None

149

"""

150

151

def create_team(self, name, repo_names=[], permission="pull", privacy="secret", description="", parent_team_id=None):

152

"""

153

Create a new team.

154

155

Args:

156

name (str): Team name

157

repo_names (list): Repository names to add

158

permission (str): Default permission ('pull', 'push', 'admin')

159

privacy (str): Team privacy ('secret', 'closed')

160

description (str): Team description

161

parent_team_id (int, optional): Parent team ID

162

163

Returns:

164

Team: Created team object

165

"""

166

167

class Team:

168

def members(self, role="all"):

169

"""

170

List team members.

171

172

Args:

173

role (str): Member role ('all', 'member', 'maintainer')

174

175

Returns:

176

iterator: Iterator of User objects

177

"""

178

179

def add_member(self, username, role="member"):

180

"""

181

Add a member to the team.

182

183

Args:

184

username (str): GitHub username

185

role (str): Member role ('member', 'maintainer')

186

187

Returns:

188

bool: True if successful

189

"""

190

191

def remove_member(self, username):

192

"""

193

Remove a member from the team.

194

195

Args:

196

username (str): GitHub username

197

198

Returns:

199

bool: True if successful

200

"""

201

202

def edit(self, name=None, description=None, privacy=None, permission=None, parent_team_id=None):

203

"""

204

Edit team settings.

205

206

Args:

207

name (str, optional): New team name

208

description (str, optional): New description

209

privacy (str, optional): Privacy setting

210

permission (str, optional): Default permission

211

parent_team_id (int, optional): Parent team ID

212

213

Returns:

214

bool: True if successful

215

"""

216

217

def delete(self):

218

"""

219

Delete this team.

220

221

Returns:

222

bool: True if successful

223

"""

224

```

225

226

### Organization Repositories

227

228

Managing organization repositories.

229

230

```python { .api }

231

class Organization:

232

def repositories(self, type="all", sort="created", direction="desc"):

233

"""

234

List organization repositories.

235

236

Args:

237

type (str): Repository type ('all', 'public', 'private', 'forks', 'sources', 'member')

238

sort (str): Sort by ('created', 'updated', 'pushed', 'full_name')

239

direction (str): Sort direction ('asc', 'desc')

240

241

Returns:

242

iterator: Iterator of Repository objects

243

"""

244

245

def repository(self, name):

246

"""

247

Get an organization repository.

248

249

Args:

250

name (str): Repository name

251

252

Returns:

253

Repository: Repository object or None

254

"""

255

256

class Team:

257

def repositories(self):

258

"""

259

List repositories accessible to this team.

260

261

Returns:

262

iterator: Iterator of Repository objects

263

"""

264

265

def add_repository(self, repository, permission="pull"):

266

"""

267

Add a repository to the team.

268

269

Args:

270

repository (str or Repository): Repository name or object

271

permission (str): Permission level ('pull', 'push', 'admin')

272

273

Returns:

274

bool: True if successful

275

"""

276

277

def remove_repository(self, repository):

278

"""

279

Remove a repository from the team.

280

281

Args:

282

repository (str or Repository): Repository name or object

283

284

Returns:

285

bool: True if successful

286

"""

287

```

288

289

### Organization Settings

290

291

Managing organization settings and configuration.

292

293

```python { .api }

294

class Organization:

295

def edit(self, billing_email=None, company=None, email=None, location=None, name=None, description=None, **kwargs):

296

"""

297

Edit organization profile.

298

299

Args:

300

billing_email (str, optional): Billing email

301

company (str, optional): Company name

302

email (str, optional): Public email

303

location (str, optional): Location

304

name (str, optional): Display name

305

description (str, optional): Description

306

**kwargs: Additional organization settings

307

308

Returns:

309

bool: True if successful

310

"""

311

312

def create_hook(self, name, config, events=["push"], active=True):

313

"""

314

Create an organization webhook.

315

316

Args:

317

name (str): Hook name

318

config (dict): Hook configuration

319

events (list): Events to trigger on

320

active (bool): Whether hook is active

321

322

Returns:

323

Hook: Created hook object

324

"""

325

326

def hooks(self):

327

"""

328

List organization webhooks.

329

330

Returns:

331

iterator: Iterator of Hook objects

332

"""

333

```

334

335

## Organization Model Classes

336

337

```python { .api }

338

class Organization:

339

"""Full organization object with all data and methods."""

340

login: str

341

id: int

342

name: str

343

company: str

344

blog: str

345

location: str

346

email: str

347

description: str

348

public_repos: int

349

public_gists: int

350

followers: int

351

following: int

352

html_url: str

353

created_at: str

354

updated_at: str

355

type: str

356

total_private_repos: int

357

owned_private_repos: int

358

private_gists: int

359

disk_usage: int

360

collaborators: int

361

billing_email: str

362

plan: dict

363

default_repository_permission: str

364

members_can_create_repositories: bool

365

two_factor_requirement_enabled: bool

366

367

def edit(self, **kwargs): ...

368

def members(self): ...

369

def teams(self): ...

370

def repositories(self): ...

371

def create_team(self, name, **kwargs): ...

372

373

class ShortOrganization:

374

"""Abbreviated organization object."""

375

login: str

376

id: int

377

description: str

378

379

class Team:

380

"""Organization team."""

381

id: int

382

name: str

383

slug: str

384

description: str

385

privacy: str # 'secret' or 'closed'

386

permission: str # 'pull', 'push', 'admin'

387

members_count: int

388

repos_count: int

389

organization: 'ShortOrganization'

390

html_url: str

391

created_at: str

392

updated_at: str

393

parent: 'Team'

394

395

def edit(self, **kwargs): ...

396

def delete(self): ...

397

def members(self): ...

398

def add_member(self, username, role): ...

399

def repositories(self): ...

400

401

class ShortTeam:

402

"""Abbreviated team object."""

403

id: int

404

name: str

405

slug: str

406

permission: str

407

408

class Membership:

409

"""Organization membership."""

410

url: str

411

state: str # 'active' or 'pending'

412

role: str # 'admin' or 'member'

413

organization_url: str

414

organization: 'Organization'

415

user: 'User'

416

417

class Invitation:

418

"""Organization invitation."""

419

id: int

420

login: str

421

email: str

422

role: str

423

created_at: str

424

inviter: 'User'

425

team_count: int

426

invitation_teams_url: str

427

```