Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BasicAuthGroup ¶
type BasicAuthGroup struct {
Username string `long:"username" env:"USERNAME" description:"username for basic auth"`
Password string `long:"password" env:"PASSWORD" description:"password for basic auth"`
}
BasicAuthGroup defines parameters for basic authentication.
type GithubGroup ¶
type GithubGroup struct {
Repo struct {
Owner string `long:"owner" env:"OWNER" description:"owner of the repository"`
Name string `long:"name" env:"NAME" description:"name of the repository"`
} `group:"repo" namespace:"repo" env-namespace:"REPO"`
BasicAuth BasicAuthGroup `group:"basic_auth" namespace:"basic_auth" env-namespace:"BASIC_AUTH"`
}
GithubGroup defines parameters to connect to the github repository.
func (GithubGroup) Empty ¶
func (g GithubGroup) Empty() bool
Empty returns true if the argument group is empty.
type GithubNotifierGroup ¶
type GithubNotifierGroup struct {
GithubGroup
ReleaseNameTemplate string `long:"release_name_tmpl" env:"RELEASE_NAME_TMPL" description:"template for release name"`
ConfLocation string `long:"conf_location" env:"CONF_LOCATION" description:"location to the config file"`
}
GithubNotifierGroup defines parameters to make release in the github.
func (GithubNotifierGroup) Empty ¶
func (g GithubNotifierGroup) Empty() bool
Empty returns true if the argument group is empty.
type ReleaseNotes ¶
type ReleaseNotes struct {
Tag string `long:"tag" env:"TAG" description:"tag to be released" required:"true"`
Engine struct {
Type string `long:"type" env:"TYPE" choice:"github" description:"type of the repository engine" required:"true"`
Github GithubGroup `group:"github" namespace:"github" env-namespace:"GITHUB"`
} `group:"engine" namespace:"engine" env-namespace:"ENGINE"`
Notify struct {
Telegram TelegramGroup `group:"telegram" namespace:"telegram" env-namespace:"TELEGRAM"`
Github GithubNotifierGroup `group:"github" namespace:"github" env-namespace:"GITHUB"`
Stdout StdoutGroup `group:"stdout" namespace:"stdout" env-namespace:"STDOUT"`
} `group:"notify" namespace:"notify" env-namespace:"NOTIFY"`
}
ReleaseNotes builds the release-notes from the specified template ands sends it to the desired destinations (telegram, stdout (for CI), etc.).
func (ReleaseNotes) Execute ¶
func (r ReleaseNotes) Execute(_ []string) error
Execute the release-notes command.
type StdoutGroup ¶
type StdoutGroup struct {
ConfLocation string `long:"conf_location" env:"CONF_LOCATION" description:"location to the config file"`
}
StdoutGroup defines parameters for printing release notes to stdout.
func (StdoutGroup) Empty ¶
func (g StdoutGroup) Empty() bool
Empty returns true if stdout group is empty.
type TelegramGroup ¶
type TelegramGroup struct {
ChatID string `long:"chat_id" env:"CHAT_ID" description:"id of the chat, where the release notes will be sent"`
Token string `long:"token" env:"TOKEN" description:"bot token"`
WebPagePreview bool `long:"web_page_preview" env:"WEB_PAGE_PREVIEW" description:"request telegram to preview for web links"`
ConfLocation string `long:"conf_location" env:"CONF_LOCATION" description:"location to the config file"`
}
TelegramGroup defines parameters for telegram notifier.
func (TelegramGroup) Empty ¶
func (g TelegramGroup) Empty() bool
Empty returns true if the config group is not filled.