:calls: `PATCH /repos/{owner}/{repo}/issues/{issue_number} `_ :param assignee: deprecated, use `assignees` instead. `assignee=None` means to remove current assignee. :param milestone: `milestone=None` means to remove current
(
self,
title: Opt[str] = NotSet,
body: Opt[str] = NotSet,
assignee: Opt[str | NamedUser | None] = NotSet,
state: Opt[str] = NotSet,
milestone: Opt[Milestone | None] = NotSet,
labels: Opt[list[str]] = NotSet,
assignees: Opt[list[NamedUser | str]] = NotSet,
state_reason: Opt[str] = NotSet,
)
| 427 | |
| 428 | # breaking change: remove deprecated assignee |
| 429 | def edit( |
| 430 | self, |
| 431 | title: Opt[str] = NotSet, |
| 432 | body: Opt[str] = NotSet, |
| 433 | assignee: Opt[str | NamedUser | None] = NotSet, |
| 434 | state: Opt[str] = NotSet, |
| 435 | milestone: Opt[Milestone | None] = NotSet, |
| 436 | labels: Opt[list[str]] = NotSet, |
| 437 | assignees: Opt[list[NamedUser | str]] = NotSet, |
| 438 | state_reason: Opt[str] = NotSet, |
| 439 | ) -> None: |
| 440 | """ |
| 441 | :calls: `PATCH /repos/{owner}/{repo}/issues/{issue_number} <https://docs.github.com/en/rest/reference/issues>`_ |
| 442 | :param assignee: deprecated, use `assignees` instead. `assignee=None` means to remove current assignee. |
| 443 | :param milestone: `milestone=None` means to remove current milestone. |
| 444 | """ |
| 445 | assert is_optional(title, str), title |
| 446 | assert is_optional(body, str), body |
| 447 | assert assignee is None or is_optional(assignee, (github.NamedUser.NamedUser, str)), assignee |
| 448 | assert is_optional_list(assignees, (github.NamedUser.NamedUser, str)), assignees |
| 449 | assert is_optional(state, str), state |
| 450 | assert milestone is None or is_optional(milestone, github.Milestone.Milestone), milestone |
| 451 | assert is_optional_list(labels, str), labels |
| 452 | |
| 453 | if assignee is None or is_defined(assignee): |
| 454 | warnings.warn( |
| 455 | "Argument assignee is deprecated, please use assignees=[assignee] instead", |
| 456 | category=DeprecationWarning, |
| 457 | ) |
| 458 | if is_undefined(assignees): |
| 459 | assignees = [assignee] if assignee is not None else [] # type: ignore |
| 460 | if is_defined(assignees): |
| 461 | assignees = [ |
| 462 | element._identity if isinstance(element, github.NamedUser.NamedUser) else element |
| 463 | for element in assignees |
| 464 | ] |
| 465 | |
| 466 | post_parameters = NotSet.remove_unset_items( |
| 467 | { |
| 468 | "title": title, |
| 469 | "body": body, |
| 470 | "state": state, |
| 471 | "state_reason": state_reason, |
| 472 | "labels": labels, |
| 473 | "assignees": assignees, |
| 474 | "milestone": milestone._identity |
| 475 | if isinstance(milestone, github.Milestone.Milestone) |
| 476 | else (milestone or ""), |
| 477 | } |
| 478 | ) |
| 479 | |
| 480 | headers, data = self._requester.requestJsonAndCheck("PATCH", self.url, input=post_parameters) |
| 481 | self._useAttributes(data) |
| 482 | self._set_complete() |
| 483 | |
| 484 | def lock(self, lock_reason: str) -> None: |
| 485 | """ |
nothing calls this directly
no test coverage detected