# Interacción con discusiones y solicitudes de extracción

Consulte la página de documentación de [HfApi](/docs/huggingface_hub/v2.4.0/es/package_reference/hf_api#huggingface_hub.HfApi) para obtener la referencia de los métodos que permiten interactuar con Pull Requests y Discusiones en el Hub.

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

## Estructuras de datos[[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)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L20)

**Parámetros:**

title (`str`) : El título de la Discusión / Solicitud de extracción

status (`str`) : El estado de la Discusión / Solicitud de extracción. Debe ser uno de: * `"open"` * `"closed"` * `"merged"` (solo para Solicitudes de extracción) * `"draft"` (solo para Solicitudes de extracción)

num (`int`) : El número de la Discusión / Solicitud de extracción.

repo_id (`str`) : El identificador (`"{namespace}/{repo_name}"`) del repositorio en el que estaba abierta la Discusión / Solicitud de extracción.

repo_type (`str`) : El tipo de repositorio en el que se abrió la Discusión / Solicitud de extracción. Los valores posibles son: `"model"`, `"dataset"`, `"space"`.

author (`str`) : El nombre de usuario del autor de la Discusión / Pull Request. Puede ser `"deleted"` si el usuario ha sido eliminado desde entonces.

is_pull_request (`bool`) : Indica si se trata de una Pull Request.

created_at (`datetime`) : La `datetime` de creación de la Discusión / Pull Request.

endpoint (`str`) : Punto de acceso del Hub. El valor predeterminado es https://huggingface.co.

git_reference (`str`, *opcional*) : (property) Referencia de Git a la que se pueden enviar cambios si se trata de una Pull Request, `None` en caso contrario.

url (`str`) : (property) URL de la discusión en el Hub.

Una discusión o solicitud de incorporación de cambios (Pull Request) en el Hub.

Esta dataclass no está destinada a instanciarse directamente.

#### 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)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L88)

**Parámetros:**

title (`str`) : El título de la Discusión / Solicitud de extracción

status (`str`) : El estado de la Discusión / Solicitud de extracción. Puede ser uno de: * `"open"` * `"closed"` * `"merged"` (solo para Solicitudes de extracción) * `"draft"` (solo para Solicitudes de extracción)

num (`int`) : El número de la Discusión / Solicitud de extracción.

repo_id (`str`) : El identificador (`"{namespace}/{repo_name}"`) del repositorio en el que estaba abierta la Discusión / Solicitud de extracción.

repo_type (`str`) : El tipo de repositorio en el que se abrió la Discusión / Solicitud de extracción. Los valores posibles son: `"model"`, `"dataset"`, `"space"`.

author (`str`) : El nombre de usuario del autor de la Discusión / Pull Request. Puede ser `"deleted"` si el usuario ha sido eliminado desde entonces.

is_pull_request (`bool`) : Indica si se trata de una Pull Request.

created_at (`datetime`) : La `datetime` de creación de la Discusión / Pull Request.

events (`list` de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/es/package_reference/community#huggingface_hub.DiscussionEvent)) : La lista de `DiscussionEvents` en esta Discussion o Pull Request.

conflicting_files (`Union[list[str], bool, None]`, *opcional*) : Una lista de archivos en conflicto si se trata de una Pull Request. `None` si `self.is_pull_request` es `False`. `True` si hay archivos en conflicto pero no se puede obtener la lista.

target_branch (`str`, *opcional*) : La rama en la que se van a fusionar los cambios si se trata de una Pull Request. `None` si `self.is_pull_request` es `False`.

merge_commit_oid (`str`, *opcional*) : Si se trata de una Pull Request fusionada, se establece en el OID/SHA del commit de fusión; en caso contrario, `None`.

diff (`str`, *opcional*) : La diferencia de git si se trata de una Pull Request, `None` en caso contrario.

endpoint (`str`) : Punto de acceso del Hub. El valor predeterminado es https://huggingface.co.

git_reference (`str`, *opcional*) : (property) Referencia de Git a la que se pueden enviar cambios si se trata de una Pull Request, `None` en caso contrario.

url (`str`) : (property) URL de la discusión en el Hub.

Subclase de [Discussion](/docs/huggingface_hub/v2.4.0/es/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)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L155)

**Parámetros:**

id (`str`) : El ID del evento. Una cadena hexadecimal.

type (`str`) : El tipo del evento.

created_at (`datetime`) : Un objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) que contiene la marca de tiempo de creación del evento.

author (`str`) : El nombre de usuario del autor de la Discusión / Pull Request. Puede ser `"deleted"` si el usuario ha sido eliminado desde entonces.

Un evento en una Discusión o Pull Request.

Use clases concretas:
* [DiscussionComment](/docs/huggingface_hub/v2.4.0/es/package_reference/community#huggingface_hub.DiscussionComment)
* [DiscussionStatusChange](/docs/huggingface_hub/v2.4.0/es/package_reference/community#huggingface_hub.DiscussionStatusChange)
* [DiscusiónCommit](/docs/huggingface_hub/v2.4.0/es/package_reference/community#huggingface_hub.DiscussionCommit)
* [DiscussionTitleChange](/docs/huggingface_hub/v2.4.0/es/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)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L188)

**Parámetros:**

id (`str`) : El ID del evento. Una cadena hexadecimal.

type (`str`) : El tipo del evento.

created_at (`datetime`) : Un objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) que contiene la marca de tiempo de creación del evento.

author (`str`) : El nombre de usuario del autor de la Discusión / Pull Request. Puede ser `"deleted"` si el usuario ha sido eliminado desde entonces.

content (`str`) : El contenido markdown sin procesar del comentario. Las menciones, los enlaces y las imágenes no se renderizan.

edited (`bool`) : Indica si este comentario ha sido editado.

hidden (`bool`) : Indica si este comentario se ha ocultado o no.

Un comentario en una Discusión / Solicitud de extracción (Pull Request).

Subclase de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/es/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)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L243)

**Parámetros:**

id (`str`) : El ID del evento. Una cadena hexadecimal.

type (`str`) : El tipo del evento.

created_at (`datetime`) : Un objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) que contiene la marca de tiempo de creación del evento.

author (`str`) : El nombre de usuario del autor de la Discusión / Pull Request. Puede ser `"deleted"` si el usuario ha sido eliminado desde entonces.

new_status (`str`) : El estado de la Discusión / Solicitud de extracción (Pull Request) después del cambio. Puede ser uno de: * `"open"` * `"closed"` * `"merged"` (solo para Solicitudes de extracción)

Un cambio de estado en una Discusión / Solicitud de extracción (Pull Request).

Subclase de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/es/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)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L271)

**Parámetros:**

id (`str`) : El ID del evento. Una cadena hexadecimal.

type (`str`) : El tipo del evento.

created_at (`datetime`) : Un objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) que contiene la marca de tiempo de creación del evento.

author (`str`) : El nombre de usuario del autor de la Discusión / Pull Request. Puede ser `"deleted"` si el usuario ha sido eliminado desde entonces.

summary (`str`) : El resumen del commit.

oid (`str`) : El OID / SHA del commit, como una cadena hexadecimal.

Un commit en una Pull Request.

Subclase de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/es/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)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L298)

**Parámetros:**

id (`str`) : El ID del evento. Una cadena hexadecimal.

type (`str`) : El tipo del evento.

created_at (`datetime`) : Un objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) que contiene la marca de tiempo de creación del evento.

author (`str`) : El nombre de usuario del autor de la Discusión / Pull Request. Puede ser `"deleted"` si el usuario ha sido eliminado desde entonces.

old_title (`str`) : El título anterior de la Discusión / Solicitud de extracción.

new_title (`str`) : El nuevo título.

Un evento de cambio de nombre en una Discusión / Solicitud de extracción (Pull Request).

Subclase de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/es/package_reference/community#huggingface_hub.DiscussionEvent).

