Documentation
¶
Index ¶
- Constants
- Variables
- func BrowseUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
- func CliError(cause error) error
- func CommandLine(fig *figtree.FigTree, o *oreo.Client) *kingpin.Application
- func ConfigTemplate(fig *figtree.FigTree, template, command string, opts interface{}) (string, error)
- func ConvertType(input interface{}, output interface{}) error
- func EditLoop(opts *CommonOptions, input interface{}, output interface{}, ...) error
- func EditorUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
- func FileUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
- func FlagValue(ctx *kingpin.ParseContext, name string) string
- func FormatIssue(issueKey string, project string) string
- func GJsonQueryUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
- func HandleExit()
- func Homedir() string
- func IncreaseLogLevel(verbosity int)
- func InitLogging()
- func LoadConfigs(cmd *kingpin.CmdClause, fig *figtree.FigTree, opts interface{})
- func ParseCommandLine(app *kingpin.Application, args []string)
- func ReadYmlInputFile(opts *CommonOptions, input interface{}, output interface{}, ...) error
- func RegisterCommand(regEntry CommandRegistry)
- func RunTemplate(templateName string, data interface{}, out io.Writer) error
- func TemplateProcessor() *template.Template
- func TemplateUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
- type CommandRegistry
- type CommandRegistryEntry
- type CommonOptions
- type Error
- type Exit
- type GlobalOptions
- func (o *GlobalOptions) AuthMethod() string
- func (o *GlobalOptions) AuthMethodIsToken() bool
- func (o *GlobalOptions) GetPass() string
- func (o *GlobalOptions) GetPasswordPath() string
- func (o *GlobalOptions) ProvideAuthParams() *jiradata.AuthParams
- func (o *GlobalOptions) SetPass(passwd string) error
Constants ¶
View Source
const ( ServerDeploymentType = "server" CloudDeploymentType = "cloud" )
Variables ¶
View Source
var AllTemplates = map[string]string{
"attach-list": defaultAttachListTemplate,
"comment": defaultCommentTemplate,
"component-add": defaultComponentAddTemplate,
"components": defaultComponentsTemplate,
"create": defaultCreateTemplate,
"createmeta": defaultDebugTemplate,
"debug": defaultDebugTemplate,
"edit": defaultEditTemplate,
"editmeta": defaultDebugTemplate,
"epic-create": defaultEpicCreateTemplate,
"epic-list": defaultTableTemplate,
"fields": defaultDebugTemplate,
"issuelinktypes": defaultDebugTemplate,
"issuetypes": defaultIssuetypesTemplate,
"json": defaultDebugTemplate,
"list": defaultListTemplate,
"request": defaultDebugTemplate,
"subtask": defaultSubtaskTemplate,
"table": defaultTableTemplate,
"transition": defaultTransitionTemplate,
"transitions": defaultTransitionsTemplate,
"transmeta": defaultDebugTemplate,
"view": defaultViewTemplate,
"worklog": defaultWorklogTemplate,
"worklogs": defaultWorklogsTemplate,
}
View Source
var EditLoopAbort = fmt.Errorf("edit Loop aborted by request")
View Source
var FileAbort = fmt.Errorf("file processing aborted")
Functions ¶
func BrowseUsage ¶
func BrowseUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
func CommandLine ¶
func ConfigTemplate ¶
func ConvertType ¶
func ConvertType(input interface{}, output interface{}) error
func EditLoop ¶
func EditLoop(opts *CommonOptions, input interface{}, output interface{}, submit func() error) error
func EditorUsage ¶
func EditorUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
func FileUsage ¶
func FileUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
func FormatIssue ¶
func GJsonQueryUsage ¶
func GJsonQueryUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
func HandleExit ¶
func HandleExit()
HandleExit will unwind any panics and check to see if they are jiracli.Exit and exit accordingly.
Example:
func main() {
defer jiracli.HandleExit()
...
}
func IncreaseLogLevel ¶
func IncreaseLogLevel(verbosity int)
func InitLogging ¶
func InitLogging()
func ParseCommandLine ¶
func ParseCommandLine(app *kingpin.Application, args []string)
func ReadYmlInputFile ¶
func ReadYmlInputFile(opts *CommonOptions, input interface{}, output interface{}, submit func() error) error
func RegisterCommand ¶
func RegisterCommand(regEntry CommandRegistry)
func TemplateProcessor ¶
func TemplateUsage ¶
func TemplateUsage(cmd *kingpin.CmdClause, opts *CommonOptions)
Types ¶
type CommandRegistry ¶
type CommandRegistry struct {
Command string
Aliases []string
Entry *CommandRegistryEntry
Default bool
}
type CommandRegistryEntry ¶
type CommonOptions ¶
type CommonOptions struct {
Browse figtree.BoolOption `yaml:"browse,omitempty" json:"browse,omitempty"`
Editor figtree.StringOption `yaml:"editor,omitempty" json:"editor,omitempty"`
File figtree.StringOption `yaml:"file,omitempty" json:"file,omitempty"`
GJsonQuery figtree.StringOption `yaml:"gjq,omitempty" json:"gjq,omitempty"`
SkipEditing figtree.BoolOption `yaml:"noedit,omitempty" json:"noedit,omitempty"`
Template figtree.StringOption `yaml:"template,omitempty" json:"template,omitempty"`
}
func (*CommonOptions) PrintTemplate ¶
func (o *CommonOptions) PrintTemplate(data interface{}) error
type GlobalOptions ¶
type GlobalOptions struct {
// AuthenticationMethod is the method we use to authenticate with the jira serivce.
// Possible values are "api-token", "bearer-token" or "session".
// The default is "api-token" when the service endpoint ends with "atlassian.net", otherwise it "session". Session authentication
// will promt for user password and use the /auth/1/session-login endpoint.
AuthenticationMethod figtree.StringOption `yaml:"authentication-method,omitempty" json:"authentication-method,omitempty"`
// Endpoint is the URL for the Jira service. Something like: https://go-jira.atlassian.net
Endpoint figtree.StringOption `yaml:"endpoint,omitempty" json:"endpoint,omitempty"`
// Insecure will allow you to connect to an https endpoint with a self-signed SSL certificate
Insecure figtree.BoolOption `yaml:"insecure,omitempty" json:"insecure,omitempty"`
// Login is the id used for authenticating with the Jira service. For "api-token" AuthenticationMethod this is usually a
// full email address, something like "[email protected]". For "session" AuthenticationMethod this will be something
// like "user", which by default will use the same value in the `User` field.
Login figtree.StringOption `yaml:"login,omitempty" json:"login,omitempty"`
// PasswordSource specificies the method that we fetch the password. Possible values are "keyring" or "pass".
// If this is unset we will just prompt the user. For "keyring" this will look in the OS keychain, if missing
// then prompt the user and store the password in the OS keychain. For "pass" this will look in the PasswordDirectory
// location using the `pass` tool, if missing prompt the user and store in the PasswordDirectory
PasswordSource figtree.StringOption `yaml:"password-source,omitempty" json:"password-source,omitempty"`
// PasswordSourcePath can be used to specify the path to the PasswordSource binary to use.
PasswordSourcePath figtree.StringOption `yaml:"password-source-path,omitempty" json:"password-source-path,omitempty"`
// PasswordDirectory is only used for the "pass" PasswordSource. It is the location for the encrypted password
// files used by `pass`. Effectively this overrides the "PASSWORD_STORE_DIR" environment variable
PasswordDirectory figtree.StringOption `yaml:"password-directory,omitempty" json:"password-directory,omitempty"`
// PasswordName is the the name of the password key entry stored used with PasswordSource `pass`.
PasswordName figtree.StringOption `yaml:"password-name,omitempty" json:"password-name,omitempty"`
// Quiet will lower the defalt log level to suppress the standard output for commands
Quiet figtree.BoolOption `yaml:"quiet,omitempty" json:"quiet,omitempty"`
// SocksProxy is used to configure the http client to access the Endpoint via a socks proxy. The value
// should be a ip address and port string, something like "127.0.0.1:1080"
SocksProxy figtree.StringOption `yaml:"socksproxy,omitempty" json:"socksproxy,omitempty"`
// UnixProxy is use to configure the http client to access the Endpoint via a local unix domain socket used
// to proxy requests
UnixProxy figtree.StringOption `yaml:"unixproxy,omitempty" json:"unixproxy,omitempty"`
// User is use to represent the user on the Jira service. This can be different from the username used to
// authenticate with the service. For example when using AuthenticationMethod `api-token` the Login is
// typically an email address like `[email protected]` and the User property would be someting like
// `username` The User property is used on Jira service API calls that require a user to associate with
// an Issue (like assigning a Issue to yourself)
User figtree.StringOption `yaml:"user,omitempty" json:"user,omitempty"`
// JiraDeploymentType can be `cloud` or `server`, if not set it will be inferred from
// the /rest/api/2/serverInfo REST API.
JiraDeploymentType figtree.StringOption `yaml:"jira-deployment-type,omitempty" json:"jira-deployment-type,omitempty"`
// contains filtered or unexported fields
}
func (*GlobalOptions) AuthMethod ¶
func (o *GlobalOptions) AuthMethod() string
func (*GlobalOptions) AuthMethodIsToken ¶
func (o *GlobalOptions) AuthMethodIsToken() bool
func (*GlobalOptions) GetPass ¶
func (o *GlobalOptions) GetPass() string
func (*GlobalOptions) GetPasswordPath ¶
func (o *GlobalOptions) GetPasswordPath() string
func (*GlobalOptions) ProvideAuthParams ¶
func (o *GlobalOptions) ProvideAuthParams() *jiradata.AuthParams
func (*GlobalOptions) SetPass ¶
func (o *GlobalOptions) SetPass(passwd string) error
Click to show internal directories.
Click to hide internal directories.