github / github/github-mcp-server

Missing author_association field in list_issues and pull request responses

Ouverte
#2,250 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Go
Étoiles
33k
Forks
5k
Merge moyen
2 j 1 h
PR mergées (30 j)
52

Description

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

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.