Documentation
¶
Index ¶
- type Client
- func (c *Client) AddLabels(ctx context.Context, org, repo string, number int, labels []string) error
- func (c *Client) CloseIssue(ctx context.Context, org, repo string, number int) error
- func (c *Client) CreateComment(ctx context.Context, org, repo string, number int, body string) error
- func (c *Client) GetFileContent(ctx context.Context, org, repo, path, ref string) ([]byte, error)
- func (c *Client) GetIssue(ctx context.Context, org, repo string, number int) (*github.Issue, error)
- func (c *Client) ListComments(ctx context.Context, org, repo string, number int, ...) ([]*github.IssueComment, *github.Response, error)
- func (c *Client) ListIssueCommentReactions(ctx context.Context, org, repo string, commentID int64) ([]*github.Reaction, error)
- func (c *Client) ListIssueEvents(ctx context.Context, org, repo string, number int) ([]*github.IssueEvent, error)
- func (c *Client) ListIssues(ctx context.Context, org, repo string, opts *github.IssueListByRepoOptions) ([]*github.Issue, *github.Response, error)
- func (c *Client) RemoveLabel(ctx context.Context, org, repo string, number int, label string) error
- func (c *Client) TransferIssue(ctx context.Context, org, repo string, number int, targetRepo string) (string, error)
- type GraphQLClient
- func (c *GraphQLClient) GetIssueNodeID(ctx context.Context, owner, repo string, number int) (string, error)
- func (c *GraphQLClient) GetRepositoryNodeID(ctx context.Context, owner, repo string) (string, error)
- func (c *GraphQLClient) TransferIssue(ctx context.Context, issueNodeID, targetRepoNodeID string) (string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client wraps the GitHub API client.
func NewClient ¶
NewClient creates a new GitHub client using the provided token. If token is empty, it returns an unauthenticated client.
func (*Client) AddLabels ¶
func (c *Client) AddLabels(ctx context.Context, org, repo string, number int, labels []string) error
AddLabels adds labels to an issue.
func (*Client) CloseIssue ¶ added in v0.1.7
CloseIssue closes a GitHub issue by setting its state to "closed".
func (*Client) CreateComment ¶
func (c *Client) CreateComment(ctx context.Context, org, repo string, number int, body string) error
CreateComment posts a comment on an issue.
func (*Client) GetFileContent ¶ added in v0.0.4
GetFileContent fetches the raw content of a file from a repository. ref can be a branch, tag, or commit SHA. If empty, the default branch is used.
func (*Client) ListComments ¶ added in v0.0.3
func (c *Client) ListComments(ctx context.Context, org, repo string, number int, opts *github.IssueListCommentsOptions) ([]*github.IssueComment, *github.Response, error)
ListComments fetches comments for a specific issue.
func (*Client) ListIssueCommentReactions ¶ added in v0.1.7
func (c *Client) ListIssueCommentReactions(ctx context.Context, org, repo string, commentID int64) ([]*github.Reaction, error)
ListIssueCommentReactions fetches all reactions on a specific issue comment.
func (*Client) ListIssueEvents ¶ added in v0.1.0
func (c *Client) ListIssueEvents(ctx context.Context, org, repo string, number int) ([]*github.IssueEvent, error)
ListIssueEvents fetches timeline events for a specific issue. This includes events like transferred, closed, reopened, labeled, etc.
func (*Client) ListIssues ¶ added in v0.0.3
func (c *Client) ListIssues(ctx context.Context, org, repo string, opts *github.IssueListByRepoOptions) ([]*github.Issue, *github.Response, error)
ListIssues fetches a list of issues from the repository. options can be used to filter by state, labels, etc. If options is nil, default options are used.
func (*Client) RemoveLabel ¶ added in v0.1.7
RemoveLabel removes a single label from an issue. Returns nil if the label was not present (GitHub API returns 404, which we treat as success).
func (*Client) TransferIssue ¶
func (c *Client) TransferIssue(ctx context.Context, org, repo string, number int, targetRepo string) (string, error)
TransferIssue transfers an issue to another repository using GitHub GraphQL API. Requires the user to have admin/write access to both repositories. targetRepo should be in "owner/repo" format. Returns the URL of the transferred issue.
type GraphQLClient ¶ added in v0.1.0
type GraphQLClient struct {
// contains filtered or unexported fields
}
GraphQLClient provides access to GitHub's GraphQL API.
func NewGraphQLClient ¶ added in v0.1.0
func NewGraphQLClient(httpClient *http.Client, token string) *GraphQLClient
NewGraphQLClient creates a new GraphQL client with the given token.
func (*GraphQLClient) GetIssueNodeID ¶ added in v0.1.0
func (c *GraphQLClient) GetIssueNodeID(ctx context.Context, owner, repo string, number int) (string, error)
GetIssueNodeID fetches the GraphQL node ID for an issue.
func (*GraphQLClient) GetRepositoryNodeID ¶ added in v0.1.0
func (c *GraphQLClient) GetRepositoryNodeID(ctx context.Context, owner, repo string) (string, error)
GetRepositoryNodeID fetches the GraphQL node ID for a repository.
func (*GraphQLClient) TransferIssue ¶ added in v0.1.0
func (c *GraphQLClient) TransferIssue(ctx context.Context, issueNodeID, targetRepoNodeID string) (string, error)
TransferIssue transfers an issue to another repository using GraphQL mutation. Returns the new issue URL after transfer.