Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Github *Github
Slack *Slack
Repos map[string]*RepoConfig
Database *Database
Member Member `toml:"member"`
}
Config is cherry picker config struct
type PullStatusControl ¶
type PullStatusControl struct {
Label string `toml:"label"`
Cond string `toml:"cond"`
Events []*PullStatusControlEvent `toml:"event"`
}
PullStatusControl is pull status control for a specific label
type PullStatusControlEvent ¶
PullStatusControlEvent is a rule for pull status control
type RepoConfig ¶
type RepoConfig struct {
// common config
GithubBotChannel string `toml:"github-bot-channel"`
Member *Member `toml:"member"`
// repo config
Owner string `toml:"owner"`
Repo string `toml:"repo"`
Interval int `toml:"interval"`
Fullupdate int `toml:"fullupdate"`
WebhookSecret string `toml:"webhook-secret"`
RunTestCommand string `toml:"run-test-command"`
// cherry picker config
CherryPick bool `toml:"cherry-pick"`
Dryrun bool `toml:"dryrun"`
Rule string `toml:"cherry-pick-rule"`
Release string `toml:"cherry-pick-release"`
TypeLabel string `toml:"cherry-type-label"`
ReplaceLabel string `toml:"cherry-replace-label"`
IgnoreLabel string `toml:"ignore-label"`
CherryPickChannel string `toml:"cherry-pick-channel"`
CherryConflict bool `toml:"cherry-pick-conflict"`
SquashMerge bool `toml:"cherry-pick-squash"`
CherryPickMilestone bool `toml:"cherry-pick-milestone"`
CherryPickAssign bool `toml:"cherry-pick-assign"`
// label check config
LabelCheck bool `toml:"label-check"`
ShortCheckDuration int `toml:"short-check-duration"`
MediumCheckDuration int `toml:"medium-check-duration"`
LongCheckDuration int `toml:"long-check-duration"`
CommonChecker string `toml:"common-checker"`
ChiefChecker string `toml:"chief-checker"`
LabelCheckChannel string `toml:"label-check-channel"`
DefaultChecker string `toml:"default-checker"`
InviteCollaborator bool `toml:"invite-collaborator"`
// pr limit config
PrLimit bool `toml:"pr-limit"`
MaxPrOpened int `toml:"max-pr-opened"`
PrLimitMode string `toml:"pr-limit-mode"`
PrLimitOrgs string `toml:"pr-limit-orgs"`
PrLimitLabel string `toml:"pr-limit-label"`
ContributorLabel string `toml:"contributor-label"`
// merge config
Merge bool `toml:"auto-merge"`
CanMergeLabel string `toml:"can-merge-label"`
ReleaseAccessControl bool `toml:"release-access-control"`
ReleaseLGTMNeed int `toml:"release-lgtm-need"`
SignedOffMessage bool `toml:"signed-off-message"`
MergeSIGControl bool `toml:"merge-sig-control"`
// issue redeliver
IssueRedeliver bool `toml:"issue-redeliver"`
Redeliver []*Redeliver `toml:"redeliver"`
// pull request status control
StatusControl bool `toml:"status-control"`
LabelOutdated string `toml:"label-outdated"`
NoticeChannel string `toml:"notice-channel"`
PullStatusControl []*PullStatusControl `toml:"pull-status-control"`
// auto update config
AutoUpdate bool `toml:"auto-update"`
AutoUpdateChannel string `toml:"auto-update-channel"`
UpdateOwner string `toml:"update-owner"`
UpdateRepo string `toml:"update-repo"`
UpdateTargetMap map[string]string `toml:"update-target-map"`
UpdateScript string `toml:"update-script"`
MergeLabel string `toml:"merge-label"`
UpdateAutoMerge bool `toml:"update-auto-merge"`
// issue notify
IssueSlackNotice bool `toml:"issue-slack-notice"`
IssueSlackNoticeChannel string `toml:"issue-slack-notice-channel"`
IssueSlackNoticeNotify string `toml:"issue-slack-notice-notify"`
// approve
PullApprove bool `toml:"pull-approve"`
// contributor
NotifyNewContributorPR bool `toml:"notify-new-contributor-pr"`
// watch file change
WatchFiles []*WatchFile `toml:"watch-file"`
WatchFileChannel string `toml:"watch-file-channel"`
}
RepoConfig is single repo config
Click to show internal directories.
Click to hide internal directories.