:calls: `PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews `_
(
self,
dismissal_users: Opt[list[str]] = NotSet,
dismissal_teams: Opt[list[str]] = NotSet,
dismissal_apps: Opt[list[str]] = NotSet,
dismiss_stale_reviews: Opt[bool] = NotSet,
require_code_owner_reviews: Opt[bool] = NotSet,
required_approving_review_count: Opt[int] = NotSet,
require_last_push_approval: Opt[bool] = NotSet,
)
| 425 | ) |
| 426 | |
| 427 | def edit_required_pull_request_reviews( |
| 428 | self, |
| 429 | dismissal_users: Opt[list[str]] = NotSet, |
| 430 | dismissal_teams: Opt[list[str]] = NotSet, |
| 431 | dismissal_apps: Opt[list[str]] = NotSet, |
| 432 | dismiss_stale_reviews: Opt[bool] = NotSet, |
| 433 | require_code_owner_reviews: Opt[bool] = NotSet, |
| 434 | required_approving_review_count: Opt[int] = NotSet, |
| 435 | require_last_push_approval: Opt[bool] = NotSet, |
| 436 | ) -> RequiredPullRequestReviews: |
| 437 | """ |
| 438 | :calls: `PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews <https://docs.github.com/en/rest/reference/repos#branches>`_ |
| 439 | """ |
| 440 | assert is_optional_list(dismissal_users, str), dismissal_users |
| 441 | assert is_optional_list(dismissal_teams, str), dismissal_teams |
| 442 | assert is_optional(dismiss_stale_reviews, bool), dismiss_stale_reviews |
| 443 | assert is_optional(require_code_owner_reviews, bool), require_code_owner_reviews |
| 444 | assert is_optional(required_approving_review_count, int), required_approving_review_count |
| 445 | assert is_optional(require_last_push_approval, bool), require_last_push_approval |
| 446 | |
| 447 | post_parameters: dict[str, Any] = NotSet.remove_unset_items( |
| 448 | { |
| 449 | "dismiss_stale_reviews": dismiss_stale_reviews, |
| 450 | "require_code_owner_reviews": require_code_owner_reviews, |
| 451 | "required_approving_review_count": required_approving_review_count, |
| 452 | "require_last_push_approval": require_last_push_approval, |
| 453 | } |
| 454 | ) |
| 455 | |
| 456 | dismissal_restrictions: dict[str, Any] = NotSet.remove_unset_items( |
| 457 | {"users": dismissal_users, "teams": dismissal_teams, "apps": dismissal_apps} |
| 458 | ) |
| 459 | |
| 460 | if dismissal_restrictions: |
| 461 | post_parameters["dismissal_restrictions"] = dismissal_restrictions |
| 462 | |
| 463 | headers, data = self._requester.requestJsonAndCheck( |
| 464 | "PATCH", |
| 465 | f"{self.protection_url}/required_pull_request_reviews", |
| 466 | headers={"Accept": Consts.mediaTypeRequireMultipleApprovingReviews}, |
| 467 | input=post_parameters, |
| 468 | ) |
| 469 | |
| 470 | return github.RequiredPullRequestReviews.RequiredPullRequestReviews( |
| 471 | self._requester, headers, data, completed=True |
| 472 | ) |
| 473 | |
| 474 | def remove_required_pull_request_reviews(self) -> None: |
| 475 | """ |
no test coverage detected