# 토론 및 Pull Request와 상호 작용하기

Hub에서 Pull Requests와 Discussions를 상호작용할 수 있는 메서드의 참조는 [HfApi](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi) 문서 페이지를 확인하세요.

- [get_repo_discussions()](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi.get_repo_discussions)
- [get_discussion_details()](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi.get_discussion_details)
- [create_discussion()](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi.create_discussion)
- [create_pull_request()](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi.create_pull_request)
- [rename_discussion()](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi.rename_discussion)
- [comment_discussion()](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi.comment_discussion)
- [edit_discussion_comment()](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi.edit_discussion_comment)
- [change_discussion_status()](/docs/huggingface_hub/v2.4.0/ko/package_reference/hf_api#huggingface_hub.HfApi.change_discussion_status)
- [merge_pull_request()](/docs/huggingface_hub/v2.4.0/ko/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`) : Discussion / Pull Request의 제목

status (`str`) : Discussion / Pull Request의 상태입니다. 다음 중 하나여야 합니다: * `"open"` * `"closed"` * `"merged"` (Pull Requests에만 해당) * `"draft"` (Pull Requests에만 해당)

num (`int`) : Discussion / Pull Request의 번호입니다.

repo_id (`str`) : Discussion / Pull Request이 열려 있던 리포지토리의 id (`"{namespace}/{repo_name}"`).

repo_type (`str`) : Discussion / Pull Request이 열려 있던 repo의 유형입니다. 가능한 값은 다음과 같습니다: `"model"`, `"dataset"`, `"space"`.

author (`str`) : Discussion / Pull Request 작성자의 사용자 이름입니다. 사용자가 이후에 삭제된 경우 `"deleted"`일 수 있습니다.

is_pull_request (`bool`) : 이 것이 Pull Request인지 여부.

created_at (`datetime`) : Discussion / Pull Request 생성 시점의 `datetime`입니다.

endpoint (`str`) : Hub의 엔드포인트입니다. 기본값은 https://huggingface.co입니다.

git_reference (`str`, *선택 사항*) : (property) 이 객체가 Pull Request인 경우 변경 사항을 push할 수 있는 Git reference, 그렇지 않으면 `None`.

url (`str`) : (property) Hub에서 해당 토론의 URL.

Hub의 Discussion 또는 Pull Request.

이 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`) : Discussion / Pull Request의 제목

status (`str`) : Discussion / Pull Request의 상태입니다. 다음 중 하나일 수 있습니다: * `"open"` * `"closed"` * `"merged"` (Pull Requests에만 해당) * `"draft"` (Pull Requests에만 해당)

num (`int`) : Discussion / Pull Request의 번호입니다.

repo_id (`str`) : Discussion / Pull Request이 열려 있던 리포지토리의 id (`"{namespace}/{repo_name}"`).

repo_type (`str`) : Discussion / Pull Request이 열려 있던 repo의 유형입니다. 가능한 값은 다음과 같습니다: `"model"`, `"dataset"`, `"space"`.

author (`str`) : Discussion / Pull Request 작성자의 사용자 이름입니다. 사용자가 이후에 삭제된 경우 `"deleted"`일 수 있습니다.

is_pull_request (`bool`) : 이 것이 Pull Request인지 여부.

created_at (`datetime`) : Discussion / Pull Request 생성 시점의 `datetime`입니다.

events (`list` of [DiscussionEvent](/docs/huggingface_hub/v2.4.0/ko/package_reference/community#huggingface_hub.DiscussionEvent)) : 이 Discussion 또는 Pull Request에 포함된 `DiscussionEvents` 목록입니다.

conflicting_files (`Union[list[str], bool, None]`, *선택*) : Pull Request인 경우 충돌하는 파일 목록. `self.is_pull_request`가 `False`인 경우 `None`. 충돌하는 파일이 있지만 목록을 가져올 수 없는 경우 `True`.

target_branch (`str`, *선택 사항*) : 이 것이 Pull Request인 경우 변경 사항이 병합될 브랜치. `self.is_pull_request`가 `False`인 경우 `None`.

merge_commit_oid (`str`, *선택 사항*) : 이 Pull Request가 병합된 경우, 병합 커밋의 OID/SHA로 설정되고, 그렇지 않으면 `None`입니다.

diff (`str`, *선택 사항*) : Pull Request인 경우 git diff, 그렇지 않으면 `None`.

endpoint (`str`) : Hub의 엔드포인트입니다. 기본값은 https://huggingface.co입니다.

git_reference (`str`, *선택 사항*) : (property) 이 객체가 Pull Request인 경우 변경 사항을 push할 수 있는 Git reference, 그렇지 않으면 `None`.

url (`str`) : (property) Hub에서 해당 토론의 URL.

[Discussion](/docs/huggingface_hub/v2.4.0/ko/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`) : 이벤트의 ID입니다. 16진수 문자열입니다.

type (`str`) : 이벤트의 유형.

created_at (`datetime`) : 이벤트의 생성 시각을 담고 있는 [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) 객체.

author (`str`) : Discussion / Pull Request 작성자의 사용자 이름입니다. 사용자가 이후에 삭제된 경우 `"deleted"`일 수 있습니다.

Discussion 또는 Pull Request의 이벤트입니다.

구체적인 클래스를 사용하세요:
* [DiscussionComment](/docs/huggingface_hub/v2.4.0/ko/package_reference/community#huggingface_hub.DiscussionComment)
* [DiscussionStatusChange](/docs/huggingface_hub/v2.4.0/ko/package_reference/community#huggingface_hub.DiscussionStatusChange)
* [토론 커밋](/docs/huggingface_hub/v2.4.0/ko/package_reference/community#huggingface_hub.DiscussionCommit)
* [DiscussionTitleChange](/docs/huggingface_hub/v2.4.0/ko/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`) : 이벤트의 ID입니다. 16진수 문자열입니다.

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`) : 댓글의 원시 마크다운 콘텐츠입니다. 멘션, 링크 및 이미지는 렌더링되지 않습니다.

edited (`bool`) : 이 댓글이 수정되었는지 여부.

hidden (`bool`) : 이 댓글이 숨겨져 있는지 여부.

Discussion / Pull Request에 있는 댓글.

[DiscussionEvent](/docs/huggingface_hub/v2.4.0/ko/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`) : 이벤트의 ID입니다. 16진수 문자열입니다.

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에만 해당)

Discussion / Pull Request의 상태 변경.

[DiscussionEvent](/docs/huggingface_hub/v2.4.0/ko/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`) : 이벤트의 ID입니다. 16진수 문자열입니다.

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를 16진수 문자열로 나타낸 값.

Pull Request의 커밋.

[DiscussionEvent](/docs/huggingface_hub/v2.4.0/ko/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`) : 이벤트의 ID입니다. 16진수 문자열입니다.

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`) : 새로운 제목.

Discussion / Pull Request의 이름 변경 이벤트.

[DiscussionEvent](/docs/huggingface_hub/v2.4.0/ko/package_reference/community#huggingface_hub.DiscussionEvent)의 하위 클래스입니다.

