Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Closer ¶ added in v0.13.0
type Closer struct {
VersionController VersionController
FeatureBranch string
}
Closer closes pull requests
type ConflictStrategy ¶ added in v0.37.0
type ConflictStrategy int
ConflictStrategy define how a conflict of an already existing branch should be handled
const ( // ConflictStrategySkip will skip the run for if the branch does already exist ConflictStrategySkip ConflictStrategy = iota + 1 // ConflictStrategyReplace will ignore any existing branch and replace it with new changes ConflictStrategyReplace )
func ParseConflictStrategy ¶ added in v0.37.0
func ParseConflictStrategy(str string) (ConflictStrategy, error)
ParseConflictStrategy parses a conflict strategy from a string
type Git ¶ added in v0.28.0
type Git interface {
Clone(ctx context.Context, url string, baseName string) error
ChangeBranch(branchName string) error
Changes() (bool, error)
Commit(commitAuthor *git.CommitAuthor, commitMessage string) error
BranchExist(remoteName, branchName string) (bool, error)
Push(ctx context.Context, remoteName, remoteReference string, force bool) error
AddRemote(name, url string) error
LatestCommitHash() (string, error)
ChangesSinceCommit(sinceCommitHash string) ([]git.Changes, error)
}
Git is a git implementation
type Merger ¶
type Merger struct {
VersionController VersionController
FeatureBranch string
}
Merger merges pull requests in an organization
type Printer ¶ added in v0.12.0
type Printer struct {
VersionController VersionController
ScriptPath string // Must be absolute path
Arguments []string
Stdout io.Writer
Stderr io.Writer
// RepoFilters contains repository filtering options
RepoFilters RepoFilters
Concurrent int
CloneDir string
CreateGit func(dir string) Git
}
Printer contains fields to be able to do the print command
type RepoFilters ¶ added in v0.60.0
type RepoFilters struct {
// SkipRepository is a list of repositories (owner/repo) that should be skipped
SkipRepository []string
// RegExIncludeRepository, when set, only repositories matching it will be included
RegExIncludeRepository *regexp.Regexp
// RegExExcludeRepository, when set, repositories matching it will be excluded
RegExExcludeRepository *regexp.Regexp
}
RepoFilters contains repository filtering options shared across commands
type Runner ¶
type Runner struct {
VersionController VersionController
ScriptPath string // Must be absolute path
Arguments []string
FeatureBranch string
Output io.Writer
CommitMessage string
PullRequestTitle string
PullRequestBody string
Reviewers []string
TeamReviewers []string
MaxReviewers int // If set to zero, all reviewers will be use
MaxTeamReviewers int // If set to zero, all team-reviewers will be used
DryRun bool
CommitAuthor *git.CommitAuthor
BaseBranch string // The base branch of the PR, use default branch if not set
Assignees []string
Concurrent int
SkipPullRequest bool // If set, the script will run directly on the base-branch without creating any PR
PushOnly bool // If set, the script will only publish the feature branch without creating a PR
APIPush bool // Use the SCM API to commit and push the changes instead of git
ManualCommit bool // If set, multi-gitter will not commit the changes left by the script.
// RepoFilters contains repository filtering options
RepoFilters RepoFilters
Fork bool // If set, create a fork and make the pull request from it
ForkOwner string // The owner of the new fork. If empty, the fork should happen on the logged in user
ConflictStrategy ConflictStrategy // Defines what will happen if a branch already exists
Draft bool // If set, creates Pull Requests as draft
AutoMerge bool // If set, enables auto-merge for created Pull Requests
Labels []string // Labels to be added to the pull request
CloneDir string // Directory to clone repositories to
Interactive bool // If set, interactive mode is activated and the user will be asked to verify every change
CreateGit func(dir string) Git
}
Runner contains fields to be able to do the run
type Statuser ¶
type Statuser struct {
VersionController VersionController
Output io.Writer
FeatureBranch string
}
Statuser checks the statuses of pull requests
type VersionController ¶
type VersionController interface {
GetRepositories(ctx context.Context) ([]scm.Repository, error)
CreatePullRequest(ctx context.Context, repo scm.Repository, prRepo scm.Repository, newPR scm.NewPullRequest) (scm.PullRequest, error)
UpdatePullRequest(ctx context.Context, repo scm.Repository, pullReq scm.PullRequest, updatedPR scm.NewPullRequest) (scm.PullRequest, error)
GetPullRequests(ctx context.Context, branchName string) ([]scm.PullRequest, error)
GetOpenPullRequest(ctx context.Context, repo scm.Repository, branchName string) (scm.PullRequest, error)
MergePullRequest(ctx context.Context, pr scm.PullRequest) error
ClosePullRequest(ctx context.Context, pr scm.PullRequest) error
ForkRepository(ctx context.Context, repo scm.Repository, newOwner string) (scm.Repository, error)
}
VersionController fetches repositories
type VersionControllerEnhanceCommit ¶ added in v0.58.0
type VersionControllerFeatureBranchExist ¶ added in v0.58.0
Source Files
¶
Click to show internal directories.
Click to hide internal directories.