Skip to content

gitea.issue

issue

Gitea Issue resource.

Classes

gitea.issue.AsyncIssue

AsyncIssue(client: AsyncGitea)

Bases: BaseIssue, AsyncResource

Asynchronous Gitea Issue resource.

Source code in src/gitea/resource/async_resource.py
def __init__(self, client: AsyncGitea) -> None:
    """Initialize the Resource with a AsyncGitea client.

    Args:
        client: An instance of the AsyncGitea client.

    """
    self.client = client
Functions
gitea.issue.AsyncIssue.list_issues async
list_issues(owner: str, repository: str, state: Literal['closed', 'open', 'all'] | None = None, labels: list[str] | None = None, search_string: str | None = None, issue_type: Literal['issues', 'pulls'] | None = None, milestones: list[str] | list[int] | 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, page: int | None = None, limit: int | None = None, **kwargs: Any) -> tuple[list[dict[str, Any]], dict[str, Any]]

List issues in a repository.

Parameters:

Name Type Description Default
owner str

The owner of the repository.

required
repository str

The name of the repository.

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

Filter issues by state.

None
labels list[str] | None

Filter issues by labels.

None
search_string str | None

Filter issues by search string.

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

Filter by issue type.

None
milestones list[str] | list[int] | None

Filter issues by milestones.

None
since datetime | None

Filter issues updated since this time.

None
before datetime | None

Filter issues updated before this time.

None
created_by str | None

Filter issues created by this user.

None
assigned_by str | None

Filter issues assigned to this user.

None
mentioned_by str | None

Filter issues mentioning this user.

None
page int | None

The page number for pagination.

None
limit int | None

The number of issues per page.

None
**kwargs Any

Additional arguments for the request.

{}

Returns:

Type Description
tuple[list[dict[str, Any]], dict[str, Any]]

A tuple containing the list of issues as a list of dictionaries and the status code.

Source code in src/gitea/issue/async_issue.py
async def list_issues(  # noqa: PLR0913
    self,
    owner: str,
    repository: str,
    state: Literal["closed", "open", "all"] | None = None,
    labels: list[str] | None = None,
    search_string: str | None = None,
    issue_type: Literal["issues", "pulls"] | None = None,
    milestones: list[str] | list[int] | 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,
    page: int | None = None,
    limit: int | None = None,
    **kwargs: Any,
) -> tuple[list[dict[str, Any]], dict[str, Any]]:
    """List issues in a repository.

    Args:
        owner: The owner of the repository.
        repository: The name of the repository.
        state: Filter issues by state.
        labels: Filter issues by labels.
        search_string: Filter issues by search string.
        issue_type: Filter by issue type.
        milestones: Filter issues by milestones.
        since: Filter issues updated since this time.
        before: Filter issues updated before this time.
        created_by: Filter issues created by this user.
        assigned_by: Filter issues assigned to this user.
        mentioned_by: Filter issues mentioning this user.
        page: The page number for pagination.
        limit: The number of issues per page.
        **kwargs: Additional arguments for the request.

    Returns:
        A tuple containing the list of issues as a list of dictionaries and the status code.

    """
    response = await self._list_issues(
        owner=owner,
        repository=repository,
        state=state,
        labels=labels,
        search_string=search_string,
        issue_type=issue_type,
        milestones=milestones,
        since=since,
        before=before,
        created_by=created_by,
        assigned_by=assigned_by,
        mentioned_by=mentioned_by,
        page=page,
        limit=limit,
        **kwargs,
    )
    data, status_code = await process_async_response(response, default=[])
    return cast(list[dict[str, Any]], data), {"status_code": status_code}
gitea.issue.AsyncIssue.get_issue async
get_issue(owner: str, repository: str, index: int, **kwargs: Any) -> tuple[dict[str, Any], dict[str, Any]]

Get a single issue by its index.

Parameters:

Name Type Description Default
owner str

The owner of the repository.

required
repository str

The name of the repository.

required
index int

The index of the issue.

required
**kwargs Any

Additional arguments for the request.

{}

Returns:

Type Description
tuple[dict[str, Any], dict[str, Any]]

A tuple containing the issue as a dictionary and the status code.

Source code in src/gitea/issue/async_issue.py
async def get_issue(
    self, owner: str, repository: str, index: int, **kwargs: Any
) -> tuple[dict[str, Any], dict[str, Any]]:
    """Get a single issue by its index.

    Args:
        owner: The owner of the repository.
        repository: The name of the repository.
        index: The index of the issue.
        **kwargs: Additional arguments for the request.

    Returns:
        A tuple containing the issue as a dictionary and the status code.

    """
    response = await self._get_issue(owner=owner, repository=repository, index=index, **kwargs)
    data, status_code = await process_async_response(response, default={})
    return cast(dict[str, Any], data), {"status_code": status_code}
gitea.issue.AsyncIssue.edit_issue async
edit_issue(owner: str, repository: 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: Literal['closed', 'open'] | None = None, title: str | None = None, unset_due_date: bool | None = None, **kwargs: Any) -> tuple[dict[str, Any], dict[str, Any]]

Edit a specific issue in a repository.

Parameters:

Name Type Description Default
owner str

The owner of the repository.

required
repository str

The name of the repository.

required
index int

The index of the issue.

required
assignee str | None

The new assignee of the issue.

None
assignees list[str] | None

The new assignees of the issue.

None
body str | None

The new body of the issue.

None
due_date datetime | None

The new due date of the issue.

None
milestone int | None

The new milestone of the issue.

None
ref str | None

The new reference of the issue.

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

The new state of the issue.

None
title str | None

The new title of the issue.

None
unset_due_date bool | None

Whether to unset the due date of the issue.

None
**kwargs Any

Additional arguments for the request.

{}

Returns:

Type Description
tuple[dict[str, Any], dict[str, Any]]

A tuple containing the edited issue as a dictionary and the status code.

Source code in src/gitea/issue/async_issue.py
async def edit_issue(  # noqa: PLR0913
    self,
    owner: str,
    repository: 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: Literal["closed", "open"] | None = None,
    title: str | None = None,
    unset_due_date: bool | None = None,
    **kwargs: Any,
) -> tuple[dict[str, Any], dict[str, Any]]:
    """Edit a specific issue in a repository.

    Args:
        owner: The owner of the repository.
        repository: The name of the repository.
        index: The index of the issue.
        assignee: The new assignee of the issue.
        assignees: The new assignees of the issue.
        body: The new body of the issue.
        due_date: The new due date of the issue.
        milestone: The new milestone of the issue.
        ref: The new reference of the issue.
        state: The new state of the issue.
        title: The new title of the issue.
        unset_due_date: Whether to unset the due date of the issue.
        **kwargs: Additional arguments for the request.

    Returns:
        A tuple containing the edited issue as a dictionary and the status code.

    """
    response = await self._edit_issue(
        owner=owner,
        repository=repository,
        index=index,
        assignee=assignee,
        assignees=assignees,
        body=body,
        due_date=due_date,
        milestone=milestone,
        ref=ref,
        state=state,
        title=title,
        unset_due_date=unset_due_date,
        **kwargs,
    )
    data, status_code = await process_async_response(response, default={})
    return cast(dict[str, Any], data), {"status_code": status_code}

gitea.issue.Issue

Issue(client: Gitea)

Bases: BaseIssue, Resource

Gitea Issue resource.

Source code in src/gitea/resource/resource.py
def __init__(self, client: Gitea) -> None:
    """Initialize the Resource with a Gitea client.

    Args:
        client: An instance of the Gitea client.

    """
    self.client = client
Functions
gitea.issue.Issue.list_issues
list_issues(owner: str, repository: str, state: Literal['closed', 'open', 'all'] | None = None, labels: list[str] | None = None, search_string: str | None = None, issue_type: Literal['issues', 'pulls'] | None = None, milestones: list[str] | list[int] | 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, page: int | None = None, limit: int | None = None, **kwargs: Any) -> tuple[list[dict[str, Any]], dict[str, Any]]

List issues in a repository.

Parameters:

Name Type Description Default
owner str

The owner of the repository.

required
repository str

The name of the repository.

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

Filter issues by state.

None
labels list[str] | None

Filter issues by labels.

None
search_string str | None

Filter issues by search string.

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

Filter by issue type.

None
milestones list[str] | list[int] | None

Filter issues by milestones.

None
since datetime | None

Filter issues updated since this time.

None
before datetime | None

Filter issues updated before this time.

None
created_by str | None

Filter issues created by this user.

None
assigned_by str | None

Filter issues assigned to this user.

None
mentioned_by str | None

Filter issues mentioning this user.

None
page int | None

The page number for pagination.

None
limit int | None

The number of issues per page.

None
**kwargs Any

Additional arguments for the request.

{}

Returns:

Type Description
tuple[list[dict[str, Any]], dict[str, Any]]

A tuple containing a list of issues as dictionaries and a dictionary with metadata.

Source code in src/gitea/issue/issue.py
def list_issues(  # noqa: PLR0913
    self,
    owner: str,
    repository: str,
    state: Literal["closed", "open", "all"] | None = None,
    labels: list[str] | None = None,
    search_string: str | None = None,
    issue_type: Literal["issues", "pulls"] | None = None,
    milestones: list[str] | list[int] | 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,
    page: int | None = None,
    limit: int | None = None,
    **kwargs: Any,
) -> tuple[list[dict[str, Any]], dict[str, Any]]:
    """List issues in a repository.

    Args:
        owner: The owner of the repository.
        repository: The name of the repository.
        state: Filter issues by state.
        labels: Filter issues by labels.
        search_string: Filter issues by search string.
        issue_type: Filter by issue type.
        milestones: Filter issues by milestones.
        since: Filter issues updated since this time.
        before: Filter issues updated before this time.
        created_by: Filter issues created by this user.
        assigned_by: Filter issues assigned to this user.
        mentioned_by: Filter issues mentioning this user.
        page: The page number for pagination.
        limit: The number of issues per page.
        **kwargs: Additional arguments for the request.

    Returns:
        A tuple containing a list of issues as dictionaries and a dictionary with metadata.

    """
    response = self._list_issues(
        owner=owner,
        repository=repository,
        state=state,
        labels=labels,
        search_string=search_string,
        issue_type=issue_type,
        milestones=milestones,
        since=since,
        before=before,
        created_by=created_by,
        assigned_by=assigned_by,
        mentioned_by=mentioned_by,
        page=page,
        limit=limit,
        **kwargs,
    )
    data, status_code = process_response(response, default=[])
    return cast(list[dict[str, Any]], data), {"status_code": status_code}
gitea.issue.Issue.get_issue
get_issue(owner: str, repository: str, index: int, **kwargs: Any) -> tuple[dict[str, Any], dict[str, Any]]

Get a single issue by its index.

Parameters:

Name Type Description Default
owner str

The owner of the repository.

required
repository str

The name of the repository.

required
index int

The index of the issue.

required
**kwargs Any

Additional arguments for the request.

{}

Returns:

Type Description
tuple[dict[str, Any], dict[str, Any]]

A tuple containing the issue as a dictionary and a dictionary with metadata.

Source code in src/gitea/issue/issue.py
def get_issue(
    self, owner: str, repository: str, index: int, **kwargs: Any
) -> tuple[dict[str, Any], dict[str, Any]]:
    """Get a single issue by its index.

    Args:
        owner: The owner of the repository.
        repository: The name of the repository.
        index: The index of the issue.
        **kwargs: Additional arguments for the request.

    Returns:
        A tuple containing the issue as a dictionary and a dictionary with metadata.

    """
    response = self._get_issue(owner=owner, repository=repository, index=index, **kwargs)
    data, status_code = process_response(response, default={})
    return cast(dict[str, Any], data), {"status_code": status_code}
gitea.issue.Issue.edit_issue
edit_issue(owner: str, repository: 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: Literal['closed', 'open'] | None = None, title: str | None = None, unset_due_date: bool | None = None, **kwargs: Any) -> tuple[dict[str, Any], dict[str, Any]]

Edit a specific issue in a repository.

Parameters:

Name Type Description Default
owner str

The owner of the repository.

required
repository str

The name of the repository.

required
index int

The index of the issue.

required
assignee str | None

The new assignee of the issue.

None
assignees list[str] | None

The new assignees of the issue.

None
body str | None

The new body of the issue.

None
due_date datetime | None

The new due date of the issue.

None
milestone int | None

The new milestone of the issue.

None
ref str | None

The new reference of the issue.

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

The new state of the issue.

None
title str | None

The new title of the issue.

None
unset_due_date bool | None

Whether to unset the due date of the issue.

None
**kwargs Any

Additional arguments for the request.

{}

Returns:

Type Description
tuple[dict[str, Any], dict[str, Any]]

A tuple containing the updated issue as a dictionary and a dictionary with metadata.

Source code in src/gitea/issue/issue.py
def edit_issue(  # noqa: PLR0913
    self,
    owner: str,
    repository: 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: Literal["closed", "open"] | None = None,
    title: str | None = None,
    unset_due_date: bool | None = None,
    **kwargs: Any,
) -> tuple[dict[str, Any], dict[str, Any]]:
    """Edit a specific issue in a repository.

    Args:
        owner: The owner of the repository.
        repository: The name of the repository.
        index: The index of the issue.
        assignee: The new assignee of the issue.
        assignees: The new assignees of the issue.
        body: The new body of the issue.
        due_date: The new due date of the issue.
        milestone: The new milestone of the issue.
        ref: The new reference of the issue.
        state: The new state of the issue.
        title: The new title of the issue.
        unset_due_date: Whether to unset the due date of the issue.
        **kwargs: Additional arguments for the request.

    Returns:
        A tuple containing the updated issue as a dictionary and a dictionary with metadata.

    """
    response = self._edit_issue(
        owner=owner,
        repository=repository,
        index=index,
        assignee=assignee,
        assignees=assignees,
        body=body,
        due_date=due_date,
        milestone=milestone,
        ref=ref,
        state=state,
        title=title,
        unset_due_date=unset_due_date,
        **kwargs,
    )
    data, status_code = process_response(response, default={})
    return cast(dict[str, Any], data), {"status_code": status_code}