Skip to content

issues

Accessed as client.repos.issues; the async client mirrors it.

ReposIssues

The repos.issues namespace.

assets

blocks

comments

dependencies

labels

reactions

stopwatch

subscriptions

times

create

create(
    owner: str,
    repo: str,
    *,
    assignee: str | None = None,
    assignees: list[str] | None = None,
    body: str | None = None,
    closed: bool | None = None,
    due_date: datetime | None = None,
    labels: list[int] | None = None,
    milestone: int | None = None,
    ref: str | None = None,
    title: str,
) -> Issue

Create an issue. If using deadline only the date will be taken into account, and time of day ignored.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
assignee str | None

deprecated

None
assignees list[str] | None
None
body str | None
None
closed bool | None
None
due_date datetime | None
None
labels list[int] | None

list of label ids

None
milestone int | None

milestone id

None
ref str | None
None
title str
required

Returns:

Type Description
Issue

Issue.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.
PreconditionFailedError
  1. APIError is error format response.
UnprocessableEntityError
  1. APIValidationError is error format response related to input validation.
LockedError
  1. APIRepoArchivedError is an error that is raised when an archived repo should be modified.

Operation ID: issueCreateIssue

deadline

deadline(owner: str, repo: str, index: int, *, due_date: datetime) -> IssueDeadline

Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of the issue to create or update a deadline on

required
due_date datetime
required

Returns:

Type Description
IssueDeadline

IssueDeadline.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: issueEditIssueDeadline

delete

delete(owner: str, repo: str, index: int) -> None

Delete an issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of issue to delete

required

Returns:

Type Description
None

No content.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: issueDelete

get

get(owner: str, repo: str, index: int) -> Issue

Get an issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of the issue to get

required

Returns:

Type Description
Issue

Issue.

Raises:

Type Description
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: issueGetIssue

list

list(
    owner: str,
    repo: str,
    *,
    state: Literal["closed", "open", "all"] | None = None,
    labels: str | None = None,
    q: str | None = None,
    type: Literal["issues", "pulls"] | None = None,
    milestones: str | None = None,
    since: datetime | None = None,
    before: datetime | None = None,
    created_by: str | None = None,
    assigned_by: str | None = None,
    mentioned_by: str | None = None,
    sort: Literal[
        "relevance",
        "latest",
        "oldest",
        "recentupdate",
        "leastupdate",
        "mostcomment",
        "leastcomment",
        "nearduedate",
        "farduedate",
    ]
    | None = None,
    page: int | None = None,
    limit: int | None = None,
) -> Paginated[Issue]

List a repository's issues.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
state Literal['closed', 'open', 'all'] | None

whether issue is open or closed

None
labels str | None

comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded

None
q str | None

search string

None
type Literal['issues', 'pulls'] | None

filter by type (issues / pulls) if set

None
milestones str | None

comma separated list of milestone names or ids. It uses names and fall back to ids. Fetch only issues that have any of this milestones. Non existent milestones are discarded

None
since datetime | None

Only show items updated after the given time. This is a timestamp in RFC 3339 format

None
before datetime | None

Only show items updated before the given time. This is a timestamp in RFC 3339 format

None
created_by str | None

Only show items which were created by the given user

None
assigned_by str | None

Only show items for which the given user is assigned

None
mentioned_by str | None

Only show items in which the given user was mentioned

None
sort Literal['relevance', 'latest', 'oldest', 'recentupdate', 'leastupdate', 'mostcomment', 'leastcomment', 'nearduedate', 'farduedate'] | None

Type of sort

None
page int | None

1-based page to start iteration at.

None
limit int | None

Page size; the instance caps it server-side.

None

Returns:

Type Description
Paginated[Issue]

IssueList.

Raises:

Type Description
NotFoundError
  1. APINotFound is a not found error response.
UnprocessableEntityError
  1. APIValidationError is error format response related to input validation.

Operation ID: issueListIssues

move

move(owner: str, repo: str, index: int, position: int) -> None

Moves the Pin to the given Position.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of issue

required
position int

the new position

required

Returns:

Type Description
None

No content.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: moveIssuePin

pin

pin(owner: str, repo: str, index: int) -> None

Pin an Issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of issue to pin

required

Returns:

Type Description
None

No content.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: pinIssue

pinned

pinned(owner: str, repo: str) -> list[Issue]

List a repo's pinned issues.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required

Returns:

Type Description
list[Issue]

IssueListWithoutPagination - Issues without pagination headers (used for pinned issues, dependencies, etc.).

Raises:

Type Description
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: repoListPinnedIssues

search

search(
    *,
    state: Literal["open", "closed", "all"] | None = None,
    labels: str | None = None,
    milestones: str | None = None,
    q: str | None = None,
    priority_repo_id: int | None = None,
    type: Literal["issues", "pulls"] | None = None,
    since: datetime | None = None,
    before: datetime | None = None,
    assigned: bool | None = None,
    created: bool | None = None,
    mentioned: bool | None = None,
    review_requested: bool | None = None,
    reviewed: bool | None = None,
    owner: str | None = None,
    team: str | None = None,
    sort: Literal[
        "relevance",
        "latest",
        "oldest",
        "recentupdate",
        "leastupdate",
        "mostcomment",
        "leastcomment",
        "nearduedate",
        "farduedate",
    ]
    | None = None,
    page: int | None = None,
    limit: int | None = None,
) -> Paginated[Issue]

Search for issues across the repositories that the user has access to.

Parameters:

Name Type Description Default
state Literal['open', 'closed', 'all'] | None

State of the issue

None
labels str | None

Comma-separated list of label names. Fetch only issues that have any of these labels. Non existent labels are discarded.

None
milestones str | None

Comma-separated list of milestone names. Fetch only issues that have any of these milestones. Non existent milestones are discarded.

None
q str | None

Search string

None
priority_repo_id int | None

Repository ID to prioritize in the results

None
type Literal['issues', 'pulls'] | None

Filter by issue type

None
since datetime | None

Only show issues updated after the given time (RFC 3339 format)

None
before datetime | None

Only show issues updated before the given time (RFC 3339 format)

None
assigned bool | None

Filter issues or pulls assigned to the authenticated user

None
created bool | None

Filter issues or pulls created by the authenticated user

None
mentioned bool | None

Filter issues or pulls mentioning the authenticated user

None
review_requested bool | None

Filter pull requests where the authenticated user's review was requested

None
reviewed bool | None

Filter pull requests reviewed by the authenticated user

None
owner str | None

Filter by repository owner

None
team str | None

Filter by team (requires organization owner parameter)

None
sort Literal['relevance', 'latest', 'oldest', 'recentupdate', 'leastupdate', 'mostcomment', 'leastcomment', 'nearduedate', 'farduedate'] | None

Type of sort

None
page int | None

1-based page to start iteration at.

None
limit int | None

Page size; the instance caps it server-side.

None

Returns:

Type Description
Paginated[Issue]

IssueList.

Raises:

Type Description
BadRequestError
  1. APIError is error format response.
UnprocessableEntityError
  1. APIValidationError is error format response related to input validation.

Operation ID: issueSearchIssues

timeline

timeline(
    owner: str,
    repo: str,
    index: int,
    *,
    since: datetime | None = None,
    before: datetime | None = None,
    page: int | None = None,
    limit: int | None = None,
) -> Paginated[TimelineComment]

List all comments and events on an issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of the issue

required
since datetime | None

if provided, only comments updated since the specified time are returned.

None
before datetime | None

if provided, only comments updated before the provided time are returned.

None
page int | None

1-based page to start iteration at.

None
limit int | None

Page size; the instance caps it server-side.

None

Returns:

Type Description
Paginated[TimelineComment]

TimelineList.

Raises:

Type Description
NotFoundError
  1. APINotFound is a not found error response.
UnprocessableEntityError
  1. APIValidationError is error format response related to input validation.
ServerError
  1. APIInternalServerError is an error that is raised when an internal server error occurs.

Operation ID: issueGetCommentsAndTimeline

unpin

unpin(owner: str, repo: str, index: int) -> None

Unpin an Issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of issue to unpin

required

Returns:

Type Description
None

No content.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: unpinIssue

update

update(
    owner: str,
    repo: str,
    index: int,
    *,
    assignee: str | None = None,
    assignees: list[str] | None = None,
    body: str | None = None,
    due_date: datetime | None = None,
    milestone: int | None = None,
    ref: str | None = None,
    state: str | None = None,
    title: str | None = None,
    unset_due_date: bool | None = None,
    updated_at: datetime | None = None,
) -> Issue

Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of the issue to edit

required
assignee str | None

deprecated

None
assignees list[str] | None
None
body str | None
None
due_date datetime | None
None
milestone int | None
None
ref str | None
None
state str | None
None
title str | None
None
unset_due_date bool | None
None
updated_at datetime | None
None

Returns:

Type Description
Issue

Issue.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.
PreconditionFailedError
  1. APIError is error format response.

Operation ID: issueEditIssue

AsyncReposIssues

The repos.issues namespace.

comments

dependencies

reactions

stopwatch

subscriptions

create

create(
    owner: str,
    repo: str,
    *,
    assignee: str | None = None,
    assignees: list[str] | None = None,
    body: str | None = None,
    closed: bool | None = None,
    due_date: datetime | None = None,
    labels: list[int] | None = None,
    milestone: int | None = None,
    ref: str | None = None,
    title: str,
) -> Issue

Create an issue. If using deadline only the date will be taken into account, and time of day ignored.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
assignee str | None

deprecated

None
assignees list[str] | None
None
body str | None
None
closed bool | None
None
due_date datetime | None
None
labels list[int] | None

list of label ids

None
milestone int | None

milestone id

None
ref str | None
None
title str
required

Returns:

Type Description
Issue

Issue.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.
PreconditionFailedError
  1. APIError is error format response.
UnprocessableEntityError
  1. APIValidationError is error format response related to input validation.
LockedError
  1. APIRepoArchivedError is an error that is raised when an archived repo should be modified.

Operation ID: issueCreateIssue

deadline

deadline(owner: str, repo: str, index: int, *, due_date: datetime) -> IssueDeadline

Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of the issue to create or update a deadline on

required
due_date datetime
required

Returns:

Type Description
IssueDeadline

IssueDeadline.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: issueEditIssueDeadline

delete

delete(owner: str, repo: str, index: int) -> None

Delete an issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of issue to delete

required

Returns:

Type Description
None

No content.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: issueDelete

get

get(owner: str, repo: str, index: int) -> Issue

Get an issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of the issue to get

required

Returns:

Type Description
Issue

Issue.

Raises:

Type Description
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: issueGetIssue

list

list(
    owner: str,
    repo: str,
    *,
    state: Literal["closed", "open", "all"] | None = None,
    labels: str | None = None,
    q: str | None = None,
    type: Literal["issues", "pulls"] | None = None,
    milestones: str | None = None,
    since: datetime | None = None,
    before: datetime | None = None,
    created_by: str | None = None,
    assigned_by: str | None = None,
    mentioned_by: str | None = None,
    sort: Literal[
        "relevance",
        "latest",
        "oldest",
        "recentupdate",
        "leastupdate",
        "mostcomment",
        "leastcomment",
        "nearduedate",
        "farduedate",
    ]
    | None = None,
    page: int | None = None,
    limit: int | None = None,
) -> AsyncPaginated[Issue]

List a repository's issues.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
state Literal['closed', 'open', 'all'] | None

whether issue is open or closed

None
labels str | None

comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded

None
q str | None

search string

None
type Literal['issues', 'pulls'] | None

filter by type (issues / pulls) if set

None
milestones str | None

comma separated list of milestone names or ids. It uses names and fall back to ids. Fetch only issues that have any of this milestones. Non existent milestones are discarded

None
since datetime | None

Only show items updated after the given time. This is a timestamp in RFC 3339 format

None
before datetime | None

Only show items updated before the given time. This is a timestamp in RFC 3339 format

None
created_by str | None

Only show items which were created by the given user

None
assigned_by str | None

Only show items for which the given user is assigned

None
mentioned_by str | None

Only show items in which the given user was mentioned

None
sort Literal['relevance', 'latest', 'oldest', 'recentupdate', 'leastupdate', 'mostcomment', 'leastcomment', 'nearduedate', 'farduedate'] | None

Type of sort

None
page int | None

1-based page to start iteration at.

None
limit int | None

Page size; the instance caps it server-side.

None

Returns:

Type Description
AsyncPaginated[Issue]

IssueList.

Raises:

Type Description
NotFoundError
  1. APINotFound is a not found error response.
UnprocessableEntityError
  1. APIValidationError is error format response related to input validation.

Operation ID: issueListIssues

move

move(owner: str, repo: str, index: int, position: int) -> None

Moves the Pin to the given Position.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of issue

required
position int

the new position

required

Returns:

Type Description
None

No content.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: moveIssuePin

pin

pin(owner: str, repo: str, index: int) -> None

Pin an Issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of issue to pin

required

Returns:

Type Description
None

No content.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: pinIssue

pinned

pinned(owner: str, repo: str) -> list[Issue]

List a repo's pinned issues.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required

Returns:

Type Description
list[Issue]

IssueListWithoutPagination - Issues without pagination headers (used for pinned issues, dependencies, etc.).

Raises:

Type Description
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: repoListPinnedIssues

search

search(
    *,
    state: Literal["open", "closed", "all"] | None = None,
    labels: str | None = None,
    milestones: str | None = None,
    q: str | None = None,
    priority_repo_id: int | None = None,
    type: Literal["issues", "pulls"] | None = None,
    since: datetime | None = None,
    before: datetime | None = None,
    assigned: bool | None = None,
    created: bool | None = None,
    mentioned: bool | None = None,
    review_requested: bool | None = None,
    reviewed: bool | None = None,
    owner: str | None = None,
    team: str | None = None,
    sort: Literal[
        "relevance",
        "latest",
        "oldest",
        "recentupdate",
        "leastupdate",
        "mostcomment",
        "leastcomment",
        "nearduedate",
        "farduedate",
    ]
    | None = None,
    page: int | None = None,
    limit: int | None = None,
) -> AsyncPaginated[Issue]

Search for issues across the repositories that the user has access to.

Parameters:

Name Type Description Default
state Literal['open', 'closed', 'all'] | None

State of the issue

None
labels str | None

Comma-separated list of label names. Fetch only issues that have any of these labels. Non existent labels are discarded.

None
milestones str | None

Comma-separated list of milestone names. Fetch only issues that have any of these milestones. Non existent milestones are discarded.

None
q str | None

Search string

None
priority_repo_id int | None

Repository ID to prioritize in the results

None
type Literal['issues', 'pulls'] | None

Filter by issue type

None
since datetime | None

Only show issues updated after the given time (RFC 3339 format)

None
before datetime | None

Only show issues updated before the given time (RFC 3339 format)

None
assigned bool | None

Filter issues or pulls assigned to the authenticated user

None
created bool | None

Filter issues or pulls created by the authenticated user

None
mentioned bool | None

Filter issues or pulls mentioning the authenticated user

None
review_requested bool | None

Filter pull requests where the authenticated user's review was requested

None
reviewed bool | None

Filter pull requests reviewed by the authenticated user

None
owner str | None

Filter by repository owner

None
team str | None

Filter by team (requires organization owner parameter)

None
sort Literal['relevance', 'latest', 'oldest', 'recentupdate', 'leastupdate', 'mostcomment', 'leastcomment', 'nearduedate', 'farduedate'] | None

Type of sort

None
page int | None

1-based page to start iteration at.

None
limit int | None

Page size; the instance caps it server-side.

None

Returns:

Type Description
AsyncPaginated[Issue]

IssueList.

Raises:

Type Description
BadRequestError
  1. APIError is error format response.
UnprocessableEntityError
  1. APIValidationError is error format response related to input validation.

Operation ID: issueSearchIssues

timeline

timeline(
    owner: str,
    repo: str,
    index: int,
    *,
    since: datetime | None = None,
    before: datetime | None = None,
    page: int | None = None,
    limit: int | None = None,
) -> AsyncPaginated[TimelineComment]

List all comments and events on an issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of the issue

required
since datetime | None

if provided, only comments updated since the specified time are returned.

None
before datetime | None

if provided, only comments updated before the provided time are returned.

None
page int | None

1-based page to start iteration at.

None
limit int | None

Page size; the instance caps it server-side.

None

Returns:

Type Description
AsyncPaginated[TimelineComment]

TimelineList.

Raises:

Type Description
NotFoundError
  1. APINotFound is a not found error response.
UnprocessableEntityError
  1. APIValidationError is error format response related to input validation.
ServerError
  1. APIInternalServerError is an error that is raised when an internal server error occurs.

Operation ID: issueGetCommentsAndTimeline

unpin

unpin(owner: str, repo: str, index: int) -> None

Unpin an Issue.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of issue to unpin

required

Returns:

Type Description
None

No content.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.

Operation ID: unpinIssue

update

update(
    owner: str,
    repo: str,
    index: int,
    *,
    assignee: str | None = None,
    assignees: list[str] | None = None,
    body: str | None = None,
    due_date: datetime | None = None,
    milestone: int | None = None,
    ref: str | None = None,
    state: str | None = None,
    title: str | None = None,
    unset_due_date: bool | None = None,
    updated_at: datetime | None = None,
) -> Issue

Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.

Parameters:

Name Type Description Default
owner str

owner of the repo

required
repo str

name of the repo

required
index int

index of the issue to edit

required
assignee str | None

deprecated

None
assignees list[str] | None
None
body str | None
None
due_date datetime | None
None
milestone int | None
None
ref str | None
None
state str | None
None
title str | None
None
unset_due_date bool | None
None
updated_at datetime | None
None

Returns:

Type Description
Issue

Issue.

Raises:

Type Description
ForbiddenError
  1. APIForbiddenError is a forbidden error response.
NotFoundError
  1. APINotFound is a not found error response.
PreconditionFailedError
  1. APIError is error format response.

Operation ID: issueEditIssue