github / github/github-mcp-server

Missing author_association field in list_issues and pull request responses

Abierto
#2,250 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Go
Estrellas
33k
Forks
5k
Merge medio
2 d 1 h
PR fusionados (30 d)
52

Descripción

## Summary

The `author_association` field is missing from several MCP response types, which prevents downstream consumers from determining author permissions (e.g., OWNER, MEMBER, COLLABORATOR, CONTRIBUTOR, NONE).

## Affected Endpoints

### 1. `list_issues` (GraphQL path)
- `IssueFragment` struct does not request `authorAssociation` in the GraphQL query
- `fragmentToMinimalIssue()` does not populate `AuthorAssociation` in `MinimalIssue`
- Note: The REST path in `convertToMinimalIssue()` correctly sets `AuthorAssociation: issue.GetAuthorAssociation()`

### 2. `list_pull_requests` and `pull_request_read` (REST path)
- `MinimalPullRequest` struct is missing the `author_association` field entirely
- `convertToMinimalPullRequest()` does not set it
- The raw `*github.PullRequest` from the go-github library has `AuthorAssociation` available via `pr.GetAuthorAssociation()`

### Already Working
- `issue_read` (single issue GET) — uses REST `convertToMinimalIssue()` which includes `author_association` ✅
- `get_review_comments` — `MinimalPullRequestReview` includes `author_association` ✅

## Impact

Consumers that rely on `author_association` to determine author trust level (OWNER, MEMBER, COLLABORATOR, CONTRIBUTOR, NONE) cannot make correct decisions when this field is missing from `list_issues` and pull request responses.

For example, a repo admin's issues are incorrectly treated as untrusted because their `author_association` of "MEMBER" is not present in the response.

## Suggested Fix

### For `list_issues` (GraphQL):
1. Add `AuthorAssociation githubv4.String` to `IssueFragment` struct in `issues.go`
2. Set `AuthorAssociation: string(fragment.AuthorAssociation)` in `fragmentToMinimalIssue()` in `minimal_types.go`

### For pull requests (REST):
1. Add `AuthorAssociation string \x60json:"author_association,omitempty"\x60` to `MinimalPullRequest` struct in `minimal_types.go`
2. Set `AuthorAssociation: pr.GetAuthorAssociation()` in `convertToMinimalPullRequest()` in `minimal_types.go`

## References
- `pkg/github/issues.go` — `IssueFragment` struct
- `pkg/github/minimal_types.go` — `MinimalIssue`, `MinimalPullRequest`, `fragmentToMinimalIssue()`, `convertToMinimalPullRequest()`

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.