:calls: `POST /orgs/{org}/invitations `_ :param user: :class:`github.NamedUser.NamedUser` :param email: string :param role: string :param teams: array of :class:`github.Team.Team` :rtype: None
(
self,
user: Opt[NamedUser] = NotSet,
email: Opt[str] = NotSet,
role: Opt[str] = NotSet,
teams: Opt[list[Team]] = NotSet,
)
| 1416 | ) |
| 1417 | |
| 1418 | def invite_user( |
| 1419 | self, |
| 1420 | user: Opt[NamedUser] = NotSet, |
| 1421 | email: Opt[str] = NotSet, |
| 1422 | role: Opt[str] = NotSet, |
| 1423 | teams: Opt[list[Team]] = NotSet, |
| 1424 | ) -> None: |
| 1425 | """ |
| 1426 | :calls: `POST /orgs/{org}/invitations <https://docs.github.com/en/rest/reference/orgs#members>`_ |
| 1427 | :param user: :class:`github.NamedUser.NamedUser` |
| 1428 | :param email: string |
| 1429 | :param role: string |
| 1430 | :param teams: array of :class:`github.Team.Team` |
| 1431 | :rtype: None |
| 1432 | """ |
| 1433 | assert is_optional(user, github.NamedUser.NamedUser), user |
| 1434 | assert is_optional(email, str), email |
| 1435 | assert is_defined(email) != is_defined(user), "specify only one of email or user" |
| 1436 | |
| 1437 | assert is_undefined(role) or role in ["admin", "direct_member", "billing_manager"], role |
| 1438 | assert is_optional_list(teams, github.Team.Team), teams |
| 1439 | |
| 1440 | parameters: dict[str, Any] = NotSet.remove_unset_items({"email": email, "role": role}) |
| 1441 | |
| 1442 | if is_defined(user): |
| 1443 | parameters["invitee_id"] = user.id |
| 1444 | if is_defined(teams): |
| 1445 | parameters["team_ids"] = [t.id for t in teams] |
| 1446 | |
| 1447 | headers, data = self._requester.requestJsonAndCheck( |
| 1448 | "POST", |
| 1449 | f"{self.url}/invitations", |
| 1450 | headers={"Accept": Consts.mediaTypeOrganizationInvitationPreview}, |
| 1451 | input=parameters, |
| 1452 | ) |
| 1453 | |
| 1454 | def cancel_invitation(self, invitee: NamedUser) -> bool: |
| 1455 | """ |
no test coverage detected