set JIRA_OPERATION when parsing configs. Use figtree config types for options to make defaulting work

This commit is contained in:
Cory Bennett
2017-08-24 16:57:21 -07:00
parent 5d6170a81a
commit 5716a7cb59
31 changed files with 140 additions and 95 deletions
+6 -2
View File
@@ -1,6 +1,7 @@
package jiracli
import (
"github.com/coryb/figtree"
jira "gopkg.in/Netflix-Skunkworks/go-jira.v1"
kingpin "gopkg.in/alecthomas/kingpin.v2"
)
@@ -13,7 +14,7 @@ type ListOptions struct {
func (jc *JiraCli) CmdListRegistry() *CommandRegistryEntry {
opts := ListOptions{
GlobalOptions: GlobalOptions{
Template: "list",
Template: figtree.NewStringOption("list"),
},
SearchOptions: jira.SearchOptions{
MaxResults: 500,
@@ -34,7 +35,9 @@ func (jc *JiraCli) CmdListRegistry() *CommandRegistryEntry {
}
func (jc *JiraCli) CmdListUsage(cmd *kingpin.CmdClause, opts *ListOptions) error {
log.Debugf("Configs: %#v", opts)
jc.LoadConfigs(cmd, opts)
log.Debugf("Configs: %#v", opts)
if err := jc.GlobalUsage(cmd, &opts.GlobalOptions); err != nil {
return err
}
@@ -54,9 +57,10 @@ func (jc *JiraCli) CmdListUsage(cmd *kingpin.CmdClause, opts *ListOptions) error
// List will query jira and send data to "list" template
func (jc *JiraCli) CmdList(opts *ListOptions) error {
log.Debugf("Configs: %#v", opts)
data, err := jc.Search(opts)
if err != nil {
return err
}
return jc.runTemplate(opts.Template, data, nil)
return jc.runTemplate(opts.Template.Value, data, nil)
}