MCPcopy Index your code
hub / github.com/PyGithub/PyGithub / get_issues

Method get_issues

github/Repository.py:3167–3236  ·  view source on GitHub ↗

:calls: `GET /repos/{owner}/{repo}/issues `_ :param milestone: :class:`github.Milestone.Milestone` or "none" or "*" :param state: string. `open`, `closed`, or `all`. If this is not set the GitHub API default behavior will be

(
        self,
        milestone: Milestone | Opt[str] = NotSet,
        state: Opt[str] = NotSet,
        assignee: NamedUser | Opt[str] = NotSet,
        mentioned: Opt[NamedUser] = NotSet,
        labels: Opt[list[str] | list[Label]] = NotSet,
        sort: Opt[str] = NotSet,
        direction: Opt[str] = NotSet,
        since: Opt[datetime] = NotSet,
        creator: Opt[NamedUser] = NotSet,
        type: Opt[str] = NotSet,
    )

Source from the content-addressed store, hash-verified

3165 return github.Issue.Issue(self._requester, url=url)
3166
3167 def get_issues(
3168 self,
3169 milestone: Milestone | Opt[str] = NotSet,
3170 state: Opt[str] = NotSet,
3171 assignee: NamedUser | Opt[str] = NotSet,
3172 mentioned: Opt[NamedUser] = NotSet,
3173 labels: Opt[list[str] | list[Label]] = NotSet,
3174 sort: Opt[str] = NotSet,
3175 direction: Opt[str] = NotSet,
3176 since: Opt[datetime] = NotSet,
3177 creator: Opt[NamedUser] = NotSet,
3178 type: Opt[str] = NotSet,
3179 ) -> PaginatedList[Issue]:
3180 """
3181 :calls: `GET /repos/{owner}/{repo}/issues <https://docs.github.com/en/rest/reference/issues>`_
3182 :param milestone: :class:`github.Milestone.Milestone` or "none" or "*"
3183 :param state: string. `open`, `closed`, or `all`. If this is not set the GitHub API default behavior will be used. At the moment this is to return only open issues. This might change anytime on GitHub API side and it could be clever to explicitly specify the state value.
3184 :param assignee: string or :class:`github.NamedUser.NamedUser` or "none" or "*"
3185 :param mentioned: :class:`github.NamedUser.NamedUser`
3186 :param labels: list of string or :class:`github.Label.Label`
3187 :param sort: string
3188 :param direction: string
3189 :param since: datetime
3190 :param creator: string or :class:`github.NamedUser.NamedUser`
3191 :param type: string
3192 :rtype: :class:`PaginatedList` of :class:`github.Issue.Issue`
3193 """
3194 assert milestone in ["*", "none", NotSet] or isinstance(milestone, github.Milestone.Milestone), milestone
3195 assert is_optional(state, str), state
3196 assert is_optional(assignee, (str, github.NamedUser.NamedUser)), assignee
3197 assert is_optional(type, str), type
3198 assert is_optional(mentioned, github.NamedUser.NamedUser), mentioned
3199 assert is_optional_list(labels, (github.Label.Label, str)), labels
3200 assert is_optional(sort, str), sort
3201 assert is_optional(direction, str), direction
3202 assert is_optional(since, datetime), since
3203 assert is_optional(creator, (str, github.NamedUser.NamedUser)), creator
3204 url_parameters: dict[str, Any] = {}
3205 if is_defined(milestone):
3206 if isinstance(milestone, github.Milestone.Milestone):
3207 url_parameters["milestone"] = milestone._identity
3208 else:
3209 url_parameters["milestone"] = milestone
3210 if is_defined(state):
3211 url_parameters["state"] = state
3212 if is_defined(assignee):
3213 if isinstance(assignee, github.NamedUser.NamedUser):
3214 url_parameters["assignee"] = assignee._identity
3215 else:
3216 url_parameters["assignee"] = assignee
3217 if is_defined(type):
3218 url_parameters["type"] = type
3219 if is_defined(mentioned):
3220 url_parameters["mentioned"] = mentioned._identity
3221 if is_defined(labels):
3222 url_parameters["labels"] = ",".join(
3223 [label.name if isinstance(label, github.Label.Label) else label for label in labels] # type: ignore
3224 )

Callers 15

testOpenIssuesMethod · 0.45
testClosedIssuesMethod · 0.45
testGetIssuesMethod · 0.45
testGetIssuesMethod · 0.45
setUpMethod · 0.45
testCustomPerPageMethod · 0.45
testGetIssuesMethod · 0.45

Calls 4

is_optionalFunction · 0.90
is_optional_listFunction · 0.90
is_definedFunction · 0.90
PaginatedListClass · 0.90

Tested by

no test coverage detected