# Взаимодействие с обсуждениями и pull request

См. страницу документации [HfApi](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi) для справочной информации о методах, позволяющих взаимодействовать с Pull Requests и Discussions на Hub.

- [get_repo_discussions()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.get_repo_discussions)
- [get_discussion_details()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.get_discussion_details)
- [create_discussion()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.create_discussion)
- [create_pull_request()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.create_pull_request)
- [rename_discussion()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.rename_discussion)
- [comment_discussion()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.comment_discussion)
- [edit_discussion_comment()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.edit_discussion_comment)
- [change_discussion_status()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.change_discussion_status)
- [merge_pull_request()](/docs/huggingface_hub/v2.4.0/ru/package_reference/hf_api#huggingface_hub.HfApi.merge_pull_request)

## Структуры данных[[huggingface_hub.Discussion]]

#### huggingface_hub.Discussion[[huggingface_hub.Discussion]]

```python
huggingface_hub.Discussion(title: str, status: typing.Literal['open', 'closed', 'merged', 'draft'], num: int, repo_id: str, repo_type: str, author: str, is_pull_request: bool, created_at: datetime, endpoint: str)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L20)

**Параметры:**

title (`str`) : Заголовок обсуждения / запроса на слияние

status (`str`) : Статус обсуждения / запроса на слияние. Он должен быть одним из: * `"open"` * `"closed"` * `"merged"` (только для запросов на слияние) * `"draft"` (только для запросов на слияние)

num (`int`) : Номер обсуждения / запроса на слияние.

repo_id (`str`) : Идентификатор (`"{namespace}/{repo_name}"`) репозитория, в котором было открыто обсуждение / запрос на слияние.

repo_type (`str`) : Тип репозитория, в котором было открыто обсуждение / запрос на слияние. Возможные значения: `"model"`, `"dataset"`, `"space"`.

author (`str`) : Имя пользователя автора Discussion / Pull Request. Может быть `"deleted"`, если пользователь был удалён с тех пор.

is_pull_request (`bool`) : Является ли это Pull Request.

created_at (`datetime`) : `datetime` создания Discussion / Pull Request.

endpoint (`str`) : Точка входа в Hub. По умолчанию https://huggingface.co.

git_reference (`str`, *необязательный*) : (property) Ссылка Git, на которую можно выполнить push изменений, если это Pull Request, иначе `None`.

url (`str`) : (property) URL обсуждения на Hub.

Обсуждение или Pull Request на Hub.

Этот dataclass не предназначен для непосредственного создания экземпляров.

#### huggingface_hub.DiscussionWithDetails[[huggingface_hub.DiscussionWithDetails]]

```python
huggingface_hub.DiscussionWithDetails(title: str, status: typing.Literal['open', 'closed', 'merged', 'draft'], num: int, repo_id: str, repo_type: str, author: str, is_pull_request: bool, created_at: datetime, endpoint: str, events: list, conflicting_files: list[str] | bool | None, target_branch: str | None, merge_commit_oid: str | None, diff: str | None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L88)

**Параметры:**

title (`str`) : Заголовок обсуждения / запроса на слияние

status (`str`) : Статус обсуждения / запроса на слияние. Может принимать одно из значений: * `"open"` * `"closed"` * `"merged"` (только для запросов на слияние) * `"draft"` (только для запросов на слияние)

num (`int`) : Номер обсуждения / запроса на слияние.

repo_id (`str`) : Идентификатор (`"{namespace}/{repo_name}"`) репозитория, в котором было открыто обсуждение / запрос на слияние.

repo_type (`str`) : Тип репозитория, в котором было открыто обсуждение / запрос на слияние. Возможные значения: `"model"`, `"dataset"`, `"space"`.

author (`str`) : Имя пользователя автора Discussion / Pull Request. Может быть `"deleted"`, если пользователь был удалён с тех пор.

is_pull_request (`bool`) : Является ли это Pull Request.

created_at (`datetime`) : `datetime` создания Discussion / Pull Request.

events (`list` из [DiscussionEvent](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionEvent)) : Список `DiscussionEvents` в этом Discussion или Pull Request.

conflicting_files (`Union[list[str], bool, None]`, *необязательный*) : Список конфликтующих файлов, если это Pull Request. `None`, если `self.is_pull_request` равно `False`. `True`, если конфликтующие файлы есть, но получить список невозможно.

target_branch (`str`, *необязательный*) : Ветка, в которую будут объединены изменения, если это Pull Request. `None`, если `self.is_pull_request` равно `False`.

merge_commit_oid (`str`, *optional*) : Если это объединённый Pull Request, здесь указывается OID/SHA коммита слияния, иначе `None`.

diff (`str`, *необязательный*) : git diff, если это Pull Request, иначе `None`.

endpoint (`str`) : Точка входа в Hub. По умолчанию https://huggingface.co.

git_reference (`str`, *необязательный*) : (property) Ссылка Git, на которую можно выполнить push изменений, если это Pull Request, иначе `None`.

url (`str`) : (property) URL обсуждения на Hub.

Подкласс [Discussion](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.Discussion).

#### huggingface_hub.DiscussionEvent[[huggingface_hub.DiscussionEvent]]

```python
huggingface_hub.DiscussionEvent(id: str, type: str, created_at: datetime, author: str, _event: dict)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L155)

**Параметры:**

id (`str`) : Идентификатор события. Шестнадцатеричная строка.

type (`str`) : тип события.

created_at (`datetime`) : объект [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime), содержащий метку времени создания события.

author (`str`) : Имя пользователя автора Discussion / Pull Request. Может быть `"deleted"`, если пользователь был удалён с тех пор.

Событие в Обсуждении или Pull Request.

Используйте конкретные классы:
* [DiscussionComment](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionComment)
* [DiscussionStatusChange](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionStatusChange)
* [ОбсуждениеКоммит](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionCommit)
* [DiscussionTitleChange](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionTitleChange)

#### huggingface_hub.DiscussionComment[[huggingface_hub.DiscussionComment]]

```python
huggingface_hub.DiscussionComment(id: str, type: str, created_at: datetime, author: str, _event: dict, content: str, edited: bool, hidden: bool)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L188)

**Параметры:**

id (`str`) : Идентификатор события. Шестнадцатеричная строка.

type (`str`) : тип события.

created_at (`datetime`) : объект [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime), содержащий метку времени создания события.

author (`str`) : Имя пользователя автора Discussion / Pull Request. Может быть `"deleted"`, если пользователь был удалён с тех пор.

content (`str`) : Исходный контент комментария в формате Markdown. Упоминания, ссылки и изображения не отображаются.

edited (`bool`) : Указывает, было ли это сообщение отредактировано.

hidden (`bool`) : Скрыт ли этот комментарий.

Комментарий в Discussion / Pull Request.

Подкласс [DiscussionEvent](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionEvent).

#### huggingface_hub.DiscussionStatusChange[[huggingface_hub.DiscussionStatusChange]]

```python
huggingface_hub.DiscussionStatusChange(id: str, type: str, created_at: datetime, author: str, _event: dict, new_status: str)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L243)

**Параметры:**

id (`str`) : Идентификатор события. Шестнадцатеричная строка.

type (`str`) : тип события.

created_at (`datetime`) : объект [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime), содержащий метку времени создания события.

author (`str`) : Имя пользователя автора Discussion / Pull Request. Может быть `"deleted"`, если пользователь был удалён с тех пор.

new_status (`str`) : Статус Discussion / Pull Request после изменения. Может принимать одно из значений: * `"open"` * `"closed"` * `"merged"` (только для Pull Requests )

Смена статуса в Обсуждении / Pull Request.

Подкласс [DiscussionEvent](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionEvent).

#### huggingface_hub.DiscussionCommit[[huggingface_hub.DiscussionCommit]]

```python
huggingface_hub.DiscussionCommit(id: str, type: str, created_at: datetime, author: str, _event: dict, summary: str, oid: str)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L271)

**Параметры:**

id (`str`) : Идентификатор события. Шестнадцатеричная строка.

type (`str`) : тип события.

created_at (`datetime`) : объект [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime), содержащий метку времени создания события.

author (`str`) : Имя пользователя автора Discussion / Pull Request. Может быть `"deleted"`, если пользователь был удалён с тех пор.

summary (`str`) : краткое описание коммита.

oid (`str`) : OID / SHA коммита в виде шестнадцатеричной строки.

Коммит в Pull Request.

Подкласс [DiscussionEvent](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionEvent).

#### huggingface_hub.DiscussionTitleChange[[huggingface_hub.DiscussionTitleChange]]

```python
huggingface_hub.DiscussionTitleChange(id: str, type: str, created_at: datetime, author: str, _event: dict, old_title: str, new_title: str)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L298)

**Параметры:**

id (`str`) : Идентификатор события. Шестнадцатеричная строка.

type (`str`) : тип события.

created_at (`datetime`) : объект [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime), содержащий метку времени создания события.

author (`str`) : Имя пользователя автора Discussion / Pull Request. Может быть `"deleted"`, если пользователь был удалён с тех пор.

old_title (`str`) : Предыдущее название для Discussion / Pull Request.

new_title (`str`) : Новый заголовок.

Событие переименования в Обсуждении / Pull Request.

Подкласс [DiscussionEvent](/docs/huggingface_hub/v2.4.0/ru/package_reference/community#huggingface_hub.DiscussionEvent).

