Documentation
¶
Index ¶
- func CleanupOpenAIResources(ctx context.Context, resources *OpenAIResources)
- func GenerateIssueDescription(ctx context.Context, resources *OpenAIResources) (string, string, error)
- func GenerateMRDescription(ctx context.Context, resources *OpenAIResources) (string, error)
- func NewOpenAIClient() (*openai.Client, error)
- func OpenURL(url string) error
- func PollRun(ctx context.Context, client *openai.Client, threadID, runID string) (*openai.Run, error)
- type CreateMergeRequestOptions
- type CreateMergeRequestParams
- type GitHubIssueProvider
- type GitHubMRDescriptionProvider
- func (p *GitHubMRDescriptionProvider) GetIssueDetails(issueNumber int) (*IssueDetailsResult, error)
- func (p *GitHubMRDescriptionProvider) GetOpenRequestsForIssue(issueNumber int) ([]MRDescriptionResult, error)
- func (p *GitHubMRDescriptionProvider) GetRequestDiff(requestID int) (string, error)
- func (p *GitHubMRDescriptionProvider) UpdateIssueDescription(issueNumber int, description string) error
- func (p *GitHubMRDescriptionProvider) UpdateIssueTitle(issueNumber int, title string) error
- func (p *GitHubMRDescriptionProvider) UpdateRequestDescription(requestID int, description string) error
- type GitHubProvider
- func (p *GitHubProvider) AddLabelsToIssue(issueNumber int, labels []string) error
- func (p *GitHubProvider) CreateIssue(params IssueParams) (*IssueResult, error)
- func (p *GitHubProvider) CreateMergeRequest(params MergeRequestParams) (*RequestResult, error)
- func (p *GitHubProvider) GetIssue(issueNumber int) (*IssueResult, error)
- func (p *GitHubProvider) GetOpenRequests(issueNumber int) ([]RequestResult, error)
- func (p *GitHubProvider) GetURL() string
- func (p *GitHubProvider) RemoveLabelsFromIssue(issueNumber int, labels []string) error
- type GitLabIssueProvider
- type GitLabMRDescriptionProvider
- func (p *GitLabMRDescriptionProvider) GetIssueDetails(issueNumber int) (*IssueDetailsResult, error)
- func (p *GitLabMRDescriptionProvider) GetOpenRequestsForIssue(issueNumber int) ([]MRDescriptionResult, error)
- func (p *GitLabMRDescriptionProvider) GetRequestDiff(requestID int) (string, error)
- func (p *GitLabMRDescriptionProvider) UpdateIssueDescription(issueNumber int, description string) error
- func (p *GitLabMRDescriptionProvider) UpdateIssueTitle(issueNumber int, title string) error
- func (p *GitLabMRDescriptionProvider) UpdateRequestDescription(requestID int, description string) error
- type GitLabProvider
- func (p *GitLabProvider) AddLabelsToIssue(issueNumber int, labels []string) error
- func (p *GitLabProvider) CreateIssue(params IssueParams) (*IssueResult, error)
- func (p *GitLabProvider) CreateMergeRequest(params MergeRequestParams) (*RequestResult, error)
- func (p *GitLabProvider) GetIssue(issueNumber int) (*IssueResult, error)
- func (p *GitLabProvider) GetOpenRequests(issueNumber int) ([]RequestResult, error)
- func (p *GitLabProvider) GetURL() string
- func (p *GitLabProvider) RemoveLabelsFromIssue(issueNumber int, labels []string) error
- type GithubIssue
- type GithubProject
- func (p *GithubProject) AddLabelsToIssue(issueNumber int, labels []string) error
- func (p *GithubProject) CreateIssue(title, labels string, selfAssign bool, milestoneTitle ...string) (*GithubIssue, error)
- func (p *GithubProject) CreatePullRequest(title, sourceBranch, targetBranch string, issueNumber int, isDraft bool, ...) (*GithubPullRequest, error)
- func (p *GithubProject) GetIssue(issueNumber int) (*GithubIssue, error)
- func (p *GithubProject) GetOpenPullRequestsForIssue(issueNumber int) ([]*GithubPullRequest, error)
- func (p *GithubProject) GetPullRequestDiff(prNumber int) (string, error)
- func (p *GithubProject) RemoveLabelsFromIssue(issueNumber int, labels []string) error
- func (p *GithubProject) UpdateIssueDescription(issueNumber int, description string) error
- func (p *GithubProject) UpdateIssueTitle(issueNumber int, title string) error
- func (p *GithubProject) UpdatePullRequestDescription(prNumber int, description string) error
- type GithubPullRequest
- type GitlabIssue
- type GitlabMergeRequest
- type GitlabProject
- func (p *GitlabProject) AddLabelsToIssue(issueIID int, labels []string) error
- func (p *GitlabProject) CreateIssue(title, labels string, selfAssign bool, milestoneTitle ...string) (*GitlabIssue, error)
- func (p *GitlabProject) CreateMergeRequest(title, sourceBranch, targetBranch string, issueIID int, ...) (*GitlabMergeRequest, error)
- func (p *GitlabProject) GetIssue(issueNumber int) (*GitlabIssue, error)
- func (p *GitlabProject) GetMergeRequestDiff(mrIID int) (string, error)
- func (p *GitlabProject) GetMilestoneID(title string) (int, error)
- func (p *GitlabProject) GetOpenMergeRequestsForIssue(issueID int) ([]*GitlabMergeRequest, error)
- func (p *GitlabProject) RemoveLabelsFromIssue(issueIID int, labels []string) error
- func (p *GitlabProject) UpdateIssueDescription(issueIID int, description string) error
- func (p *GitlabProject) UpdateIssueTitle(issueIID int, title string) error
- func (p *GitlabProject) UpdateMergeRequestDescription(mrIID int, description string) error
- type IssueCreationResult
- type IssueDetailsResult
- type IssueParams
- type IssueProvider
- type IssueResult
- type MRDescriptionProvider
- type MRDescriptionResult
- type MRInfo
- type MergeRequestParams
- type OpenAIResources
- type RequestResult
- type SCMProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CleanupOpenAIResources ¶ added in v0.2.0
func CleanupOpenAIResources(ctx context.Context, resources *OpenAIResources)
CleanupOpenAIResources deletes OpenAI resources to avoid leaving them dangling
func GenerateIssueDescription ¶ added in v0.2.0
func GenerateIssueDescription(ctx context.Context, resources *OpenAIResources) (string, string, error)
GenerateIssueDescription generates a description for an issue using OpenAI
func GenerateMRDescription ¶ added in v0.2.0
func GenerateMRDescription(ctx context.Context, resources *OpenAIResources) (string, error)
GenerateMRDescription generates a description for a merge request using OpenAI
func NewOpenAIClient ¶ added in v0.2.0
NewOpenAIClient creates and validates the OpenAI client
Types ¶
type CreateMergeRequestOptions ¶ added in v0.2.0
type CreateMergeRequestOptions struct {
IsDraft bool
IssueLabels []string
MilestoneID int
RemoveSourceBranch bool
Squash bool
}
CreateMergeRequestOptions contains the optional parameters for creating a merge request
type CreateMergeRequestParams ¶ added in v0.3.0
type CreateMergeRequestParams struct {
Provider SCMProvider
GitRepo *git.Repository
CurrentBranch string
Remote string
TargetBranch string
IssueNumber int
IsDraft bool
RemoveSourceBranch bool
Squash bool
}
CreateMergeRequestParams is a convenience struct for CreateMergeRequest parameters
type GitHubIssueProvider ¶ added in v0.2.0
type GitHubIssueProvider struct {
// contains filtered or unexported fields
}
GitHubIssueProvider adapts GithubProject to the IssueProvider interface
func NewGitHubIssueProvider ¶ added in v0.2.0
func NewGitHubIssueProvider(repo string) (*GitHubIssueProvider, error)
NewGitHubIssueProvider creates a new GitHub issue provider
func (*GitHubIssueProvider) CreateIssue ¶ added in v0.2.0
func (p *GitHubIssueProvider) CreateIssue(title, labels string, selfAssign bool, milestone string) (*IssueCreationResult, error)
CreateIssue implements the IssueProvider interface for GitHub Note: GitHub doesn't use the milestone parameter
type GitHubMRDescriptionProvider ¶ added in v0.2.0
type GitHubMRDescriptionProvider struct {
// contains filtered or unexported fields
}
GitHubMRDescriptionProvider adapts GithubProject to the MRDescriptionProvider interface
func NewGitHubMRDescriptionProvider ¶ added in v0.2.0
func NewGitHubMRDescriptionProvider(repo string) (*GitHubMRDescriptionProvider, error)
NewGitHubMRDescriptionProvider creates a new GitHub MR description provider
func (*GitHubMRDescriptionProvider) GetIssueDetails ¶ added in v0.2.0
func (p *GitHubMRDescriptionProvider) GetIssueDetails(issueNumber int) (*IssueDetailsResult, error)
GetIssueDetails returns an issue by its number
func (*GitHubMRDescriptionProvider) GetOpenRequestsForIssue ¶ added in v0.2.0
func (p *GitHubMRDescriptionProvider) GetOpenRequestsForIssue(issueNumber int) ([]MRDescriptionResult, error)
GetOpenRequestsForIssue returns the open pull requests for an issue
func (*GitHubMRDescriptionProvider) GetRequestDiff ¶ added in v0.2.0
func (p *GitHubMRDescriptionProvider) GetRequestDiff(requestID int) (string, error)
GetRequestDiff gets the diff for a pull request
func (*GitHubMRDescriptionProvider) UpdateIssueDescription ¶ added in v0.2.0
func (p *GitHubMRDescriptionProvider) UpdateIssueDescription(issueNumber int, description string) error
UpdateIssueDescription updates the description of an issue
func (*GitHubMRDescriptionProvider) UpdateIssueTitle ¶ added in v0.2.0
func (p *GitHubMRDescriptionProvider) UpdateIssueTitle(issueNumber int, title string) error
UpdateIssueTitle updates the title of an issue
func (*GitHubMRDescriptionProvider) UpdateRequestDescription ¶ added in v0.2.0
func (p *GitHubMRDescriptionProvider) UpdateRequestDescription(requestID int, description string) error
UpdateRequestDescription updates the description of a pull request
type GitHubProvider ¶ added in v0.2.0
type GitHubProvider struct {
// contains filtered or unexported fields
}
GitHubProvider adapts GithubProject to the SCMProvider interface
func NewGitHubProvider ¶ added in v0.2.0
func NewGitHubProvider(repo string) (*GitHubProvider, error)
NewGitHubProvider creates a new GitHub provider
func (*GitHubProvider) AddLabelsToIssue ¶ added in v0.4.0
func (p *GitHubProvider) AddLabelsToIssue(issueNumber int, labels []string) error
AddLabelsToIssue implements the SCMProvider interface
func (*GitHubProvider) CreateIssue ¶ added in v0.3.0
func (p *GitHubProvider) CreateIssue(params IssueParams) (*IssueResult, error)
CreateIssue implements the SCMProvider interface
func (*GitHubProvider) CreateMergeRequest ¶ added in v0.2.0
func (p *GitHubProvider) CreateMergeRequest(params MergeRequestParams) (*RequestResult, error)
CreateMergeRequest implements the SCMProvider interface
func (*GitHubProvider) GetIssue ¶ added in v0.2.0
func (p *GitHubProvider) GetIssue(issueNumber int) (*IssueResult, error)
GetIssue implements the SCMProvider interface
func (*GitHubProvider) GetOpenRequests ¶ added in v0.2.0
func (p *GitHubProvider) GetOpenRequests(issueNumber int) ([]RequestResult, error)
GetOpenRequests returns the open pull requests related to an issue
func (*GitHubProvider) GetURL ¶ added in v0.2.0
func (p *GitHubProvider) GetURL() string
GetURL returns the GitHub URL for the repo
func (*GitHubProvider) RemoveLabelsFromIssue ¶ added in v0.4.0
func (p *GitHubProvider) RemoveLabelsFromIssue(issueNumber int, labels []string) error
RemoveLabelsFromIssue implements the SCMProvider interface
type GitLabIssueProvider ¶ added in v0.2.0
type GitLabIssueProvider struct {
// contains filtered or unexported fields
}
GitLabIssueProvider adapts GitlabProject to the IssueProvider interface
func NewGitLabIssueProvider ¶ added in v0.2.0
func NewGitLabIssueProvider(repo string) (*GitLabIssueProvider, error)
NewGitLabIssueProvider creates a new GitLab issue provider
func (*GitLabIssueProvider) CreateIssue ¶ added in v0.2.0
func (p *GitLabIssueProvider) CreateIssue(title, labels string, selfAssign bool, milestone string) (*IssueCreationResult, error)
CreateIssue implements the IssueProvider interface for GitLab
type GitLabMRDescriptionProvider ¶ added in v0.2.0
type GitLabMRDescriptionProvider struct {
// contains filtered or unexported fields
}
GitLabMRDescriptionProvider adapts GitlabProject to the MRDescriptionProvider interface
func NewGitLabMRDescriptionProvider ¶ added in v0.2.0
func NewGitLabMRDescriptionProvider(repo string) (*GitLabMRDescriptionProvider, error)
NewGitLabMRDescriptionProvider creates a new GitLab MR description provider
func (*GitLabMRDescriptionProvider) GetIssueDetails ¶ added in v0.2.0
func (p *GitLabMRDescriptionProvider) GetIssueDetails(issueNumber int) (*IssueDetailsResult, error)
GetIssueDetails returns an issue by its number
func (*GitLabMRDescriptionProvider) GetOpenRequestsForIssue ¶ added in v0.2.0
func (p *GitLabMRDescriptionProvider) GetOpenRequestsForIssue(issueNumber int) ([]MRDescriptionResult, error)
GetOpenRequestsForIssue returns the open merge requests for an issue
func (*GitLabMRDescriptionProvider) GetRequestDiff ¶ added in v0.2.0
func (p *GitLabMRDescriptionProvider) GetRequestDiff(requestID int) (string, error)
GetRequestDiff gets the diff for a merge request
func (*GitLabMRDescriptionProvider) UpdateIssueDescription ¶ added in v0.2.0
func (p *GitLabMRDescriptionProvider) UpdateIssueDescription(issueNumber int, description string) error
UpdateIssueDescription updates the description of an issue
func (*GitLabMRDescriptionProvider) UpdateIssueTitle ¶ added in v0.2.0
func (p *GitLabMRDescriptionProvider) UpdateIssueTitle(issueNumber int, title string) error
UpdateIssueTitle updates the title of an issue
func (*GitLabMRDescriptionProvider) UpdateRequestDescription ¶ added in v0.2.0
func (p *GitLabMRDescriptionProvider) UpdateRequestDescription(requestID int, description string) error
UpdateRequestDescription updates the description of a merge request
type GitLabProvider ¶ added in v0.2.0
type GitLabProvider struct {
// contains filtered or unexported fields
}
GitLabProvider adapts GitlabProject to the SCMProvider interface
func NewGitLabProvider ¶ added in v0.2.0
func NewGitLabProvider(repo string) (*GitLabProvider, error)
NewGitLabProvider creates a new GitLab provider
func (*GitLabProvider) AddLabelsToIssue ¶ added in v0.4.0
func (p *GitLabProvider) AddLabelsToIssue(issueNumber int, labels []string) error
AddLabelsToIssue implements the SCMProvider interface
func (*GitLabProvider) CreateIssue ¶ added in v0.3.0
func (p *GitLabProvider) CreateIssue(params IssueParams) (*IssueResult, error)
CreateIssue implements the SCMProvider interface
func (*GitLabProvider) CreateMergeRequest ¶ added in v0.2.0
func (p *GitLabProvider) CreateMergeRequest(params MergeRequestParams) (*RequestResult, error)
CreateMergeRequest implements the SCMProvider interface
func (*GitLabProvider) GetIssue ¶ added in v0.2.0
func (p *GitLabProvider) GetIssue(issueNumber int) (*IssueResult, error)
GetIssue implements the SCMProvider interface
func (*GitLabProvider) GetOpenRequests ¶ added in v0.2.0
func (p *GitLabProvider) GetOpenRequests(issueNumber int) ([]RequestResult, error)
GetOpenRequests returns the open merge requests related to an issue
func (*GitLabProvider) GetURL ¶ added in v0.2.0
func (p *GitLabProvider) GetURL() string
GetURL returns the GitLab URL for the repo
func (*GitLabProvider) RemoveLabelsFromIssue ¶ added in v0.4.0
func (p *GitLabProvider) RemoveLabelsFromIssue(issueNumber int, labels []string) error
RemoveLabelsFromIssue implements the SCMProvider interface
type GithubIssue ¶
GithubIssue represents a GitHub issue
type GithubProject ¶
type GithubProject struct {
// contains filtered or unexported fields
}
GithubProject represents a GitHub repository
func NewGithubProject ¶
func NewGithubProject(repoName string) (*GithubProject, error)
NewGithubProject creates a new GitHub project client
func (*GithubProject) AddLabelsToIssue ¶ added in v0.4.0
func (p *GithubProject) AddLabelsToIssue(issueNumber int, labels []string) error
AddLabelsToIssue adds labels to an existing issue
func (*GithubProject) CreateIssue ¶
func (p *GithubProject) CreateIssue(title, labels string, selfAssign bool, milestoneTitle ...string) (*GithubIssue, error)
CreateIssue creates a new issue in the repository
func (*GithubProject) CreatePullRequest ¶
func (p *GithubProject) CreatePullRequest(title, sourceBranch, targetBranch string, issueNumber int, isDraft bool, issueLabels []string) (*GithubPullRequest, error)
CreatePullRequest creates a new pull request in the repository
func (*GithubProject) GetIssue ¶
func (p *GithubProject) GetIssue(issueNumber int) (*GithubIssue, error)
GetIssue returns an issue by its number
func (*GithubProject) GetOpenPullRequestsForIssue ¶
func (p *GithubProject) GetOpenPullRequestsForIssue(issueNumber int) ([]*GithubPullRequest, error)
GetOpenPullRequestsForIssue returns all open pull requests related to an issue
func (*GithubProject) GetPullRequestDiff ¶ added in v0.2.0
func (p *GithubProject) GetPullRequestDiff(prNumber int) (string, error)
GetPullRequestDiff returns the diff of a pull request
func (*GithubProject) RemoveLabelsFromIssue ¶ added in v0.4.0
func (p *GithubProject) RemoveLabelsFromIssue(issueNumber int, labels []string) error
RemoveLabelsFromIssue removes labels from an existing issue
func (*GithubProject) UpdateIssueDescription ¶ added in v0.2.0
func (p *GithubProject) UpdateIssueDescription(issueNumber int, description string) error
UpdateIssueDescription updates the description of an issue
func (*GithubProject) UpdateIssueTitle ¶ added in v0.2.0
func (p *GithubProject) UpdateIssueTitle(issueNumber int, title string) error
UpdateIssueTitle updates the title of an issue
func (*GithubProject) UpdatePullRequestDescription ¶ added in v0.2.0
func (p *GithubProject) UpdatePullRequestDescription(prNumber int, description string) error
UpdatePullRequestDescription updates the description of a pull request
type GithubPullRequest ¶
GithubPullRequest represents a GitHub pull request
type GitlabIssue ¶
GitlabIssue represents a GitLab issue
type GitlabMergeRequest ¶
GitlabMergeRequest represents a GitLab merge request
type GitlabProject ¶
type GitlabProject struct {
// contains filtered or unexported fields
}
GitlabProject represents a GitLab repository
func NewGitlabProject ¶
func NewGitlabProject(repoName string) (*GitlabProject, error)
NewGitlabProject creates a new GitLab project client
func (*GitlabProject) AddLabelsToIssue ¶ added in v0.4.0
func (p *GitlabProject) AddLabelsToIssue(issueIID int, labels []string) error
AddLabelsToIssue adds labels to an existing issue
func (*GitlabProject) CreateIssue ¶
func (p *GitlabProject) CreateIssue(title, labels string, selfAssign bool, milestoneTitle ...string) (*GitlabIssue, error)
CreateIssue creates a new issue in the repository
func (*GitlabProject) CreateMergeRequest ¶
func (p *GitlabProject) CreateMergeRequest(title, sourceBranch, targetBranch string, issueIID int, options CreateMergeRequestOptions) (*GitlabMergeRequest, error)
CreateMergeRequest creates a new merge request in the repository
func (*GitlabProject) GetIssue ¶
func (p *GitlabProject) GetIssue(issueNumber int) (*GitlabIssue, error)
GetIssue returns an issue by its number
func (*GitlabProject) GetMergeRequestDiff ¶ added in v0.2.0
func (p *GitlabProject) GetMergeRequestDiff(mrIID int) (string, error)
GetMergeRequestDiff returns the diff of a merge request
func (*GitlabProject) GetMilestoneID ¶
func (p *GitlabProject) GetMilestoneID(title string) (int, error)
GetMilestoneID returns the ID of a milestone by title
func (*GitlabProject) GetOpenMergeRequestsForIssue ¶
func (p *GitlabProject) GetOpenMergeRequestsForIssue(issueID int) ([]*GitlabMergeRequest, error)
GetOpenMergeRequestsForIssue returns all open merge requests related to an issue
func (*GitlabProject) RemoveLabelsFromIssue ¶ added in v0.4.0
func (p *GitlabProject) RemoveLabelsFromIssue(issueIID int, labels []string) error
RemoveLabelsFromIssue removes labels from an existing issue
func (*GitlabProject) UpdateIssueDescription ¶ added in v0.2.0
func (p *GitlabProject) UpdateIssueDescription(issueIID int, description string) error
UpdateIssueDescription updates the description of an issue
func (*GitlabProject) UpdateIssueTitle ¶ added in v0.2.0
func (p *GitlabProject) UpdateIssueTitle(issueIID int, title string) error
UpdateIssueTitle updates the title of an issue
func (*GitlabProject) UpdateMergeRequestDescription ¶ added in v0.2.0
func (p *GitlabProject) UpdateMergeRequestDescription(mrIID int, description string) error
UpdateMergeRequestDescription updates the description of a merge request
type IssueCreationResult ¶ added in v0.2.0
type IssueCreationResult struct {
Number int // Issue number (GitHub) or IID (GitLab)
Title string // Issue title
URL string // Issue URL
}
IssueCreationResult represents the result of creating an issue
type IssueDetailsResult ¶ added in v0.2.0
type IssueDetailsResult struct {
Number int
IID int // For GitLab compatibility
Title string
WebURL string
}
IssueDetailsResult represents issue details
type IssueParams ¶ added in v0.3.0
IssueParams holds parameters for creating an issue
type IssueProvider ¶ added in v0.2.0
type IssueProvider interface {
// CreateIssue creates a new issue and returns its details
CreateIssue(title, labels string, selfAssign bool, milestone string) (*IssueCreationResult, error)
}
IssueProvider represents a provider for creating issues
type IssueResult ¶ added in v0.2.0
IssueResult represents an issue from either system
type MRDescriptionProvider ¶ added in v0.2.0
type MRDescriptionProvider interface {
// GetOpenRequestsForIssue returns the open merge/pull requests for an issue
GetOpenRequestsForIssue(issueNumber int) ([]MRDescriptionResult, error)
// GetRequestDiff gets the diff for a merge/pull request
GetRequestDiff(requestID int) (string, error)
// GetIssueDetails returns an issue by its number
GetIssueDetails(issueNumber int) (*IssueDetailsResult, error)
// UpdateRequestDescription updates the description of a merge/pull request
UpdateRequestDescription(requestID int, description string) error
// UpdateIssueDescription updates the description of an issue
UpdateIssueDescription(issueNumber int, description string) error
// UpdateIssueTitle updates the title of an issue
UpdateIssueTitle(issueNumber int, title string) error
}
MRDescriptionProvider represents a provider for merge/pull request descriptions
type MRDescriptionResult ¶ added in v0.2.0
type MRDescriptionResult struct {
ID int
IID int // For GitLab compatibility
Title string
WebURL string
}
MRDescriptionResult represents a merge/pull request result
type MRInfo ¶ added in v0.2.0
type MRInfo struct {
OpenRequests []MRDescriptionResult
SelectedID int
Diff string
WebURL string
IssueURL string
}
MRInfo holds information about a merge/pull request
type MergeRequestParams ¶ added in v0.3.0
type MergeRequestParams struct {
Title string
SourceBranch string
TargetBranch string
IssueNumber int
IsDraft bool
Labels []string
MilestoneID int
RemoveSourceBranch bool
Squash bool
}
MergeRequestParams holds parameters for creating a merge request
type OpenAIResources ¶ added in v0.2.0
type OpenAIResources struct {
Client *openai.Client
AssistantID string
ThreadID string
FileID string
}
OpenAIResources holds references to OpenAI resources
func SetupOpenAIResources ¶ added in v0.2.0
func SetupOpenAIResources(ctx context.Context, client *openai.Client, diff string) (*OpenAIResources, error)
SetupOpenAIResources creates and initializes OpenAI resources
type RequestResult ¶ added in v0.2.0
RequestResult represents a merge/pull request result
func CreateMergeRequest ¶ added in v0.2.0
func CreateMergeRequest(params CreateMergeRequestParams) (*RequestResult, error)
CreateMergeRequest contains the common flow for creating a merge/pull request
type SCMProvider ¶ added in v0.2.0
type SCMProvider interface {
// CreateMergeRequest creates a merge/pull request and returns its details
CreateMergeRequest(params MergeRequestParams) (*RequestResult, error)
// CreateIssue creates a new issue in the repository
CreateIssue(params IssueParams) (*IssueResult, error)
// GetOpenRequests returns the open merge/pull requests for an issue
GetOpenRequests(issueNumber int) ([]RequestResult, error)
// GetIssue returns an issue by its number
GetIssue(issueNumber int) (*IssueResult, error)
// AddLabelsToIssue adds labels to an existing issue
AddLabelsToIssue(issueNumber int, labels []string) error
// RemoveLabelsFromIssue removes labels from an existing issue
RemoveLabelsFromIssue(issueNumber int, labels []string) error
// GetURL returns the URL for the created request
GetURL() string
}
SCMProvider represents a source code management system (GitHub, GitLab, etc.)