cmd

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2022 License: MIT Imports: 12 Imported by: 0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL