add take/give commands

This commit is contained in:
Cory Bennett
2015-02-13 12:52:35 -08:00
parent 4a33dd8e20
commit e433c536c0
2 changed files with 40 additions and 9 deletions
+30 -5
View File
@@ -226,7 +226,7 @@ func (c *Cli) CmdCreate(project string, issuetype string) error {
} else {
logBuffer := bytes.NewBuffer(make([]byte,0))
resp.Write(logBuffer)
err := fmt.Errorf("Unexpected Response From PUT")
err := fmt.Errorf("Unexpected Response From POST")
log.Error("%s:\n%s", err, logBuffer)
return err
}
@@ -270,7 +270,7 @@ func (c *Cli) CmdBlocks(blocker string, issue string) error {
} else {
logBuffer := bytes.NewBuffer(make([]byte,0))
resp.Write(logBuffer)
err := fmt.Errorf("Unexpected Response From PUT")
err := fmt.Errorf("Unexpected Response From POST")
log.Error("%s:\n%s", err, logBuffer)
return err
}
@@ -303,7 +303,7 @@ func (c *Cli) CmdDups(duplicate string, issue string) error {
} else {
logBuffer := bytes.NewBuffer(make([]byte,0))
resp.Write(logBuffer)
err := fmt.Errorf("Unexpected Response From PUT")
err := fmt.Errorf("Unexpected Response From POST")
log.Error("%s:\n%s", err, logBuffer)
return err
}
@@ -327,7 +327,7 @@ func (c *Cli) CmdWatch(issue string, watcher string) error {
} else {
logBuffer := bytes.NewBuffer(make([]byte,0))
resp.Write(logBuffer)
err := fmt.Errorf("Unexpected Response From PUT")
err := fmt.Errorf("Unexpected Response From POST")
log.Error("%s:\n%s", err, logBuffer)
return err
}
@@ -413,7 +413,7 @@ func (c *Cli) CmdComment(issue string) error {
} else {
logBuffer := bytes.NewBuffer(make([]byte,0))
resp.Write(logBuffer)
err := fmt.Errorf("Unexpected Response From PUT")
err := fmt.Errorf("Unexpected Response From POST")
log.Error("%s:\n%s", err, logBuffer)
return err
}
@@ -436,3 +436,28 @@ func (c *Cli) CmdComment(issue string) error {
}
return nil
}
func (c *Cli) CmdAssign(issue string, user string) error {
log.Debug("assign called")
json, err := jsonEncode(map[string]interface{}{
"name": user,
}); if err != nil {
return err
}
uri := fmt.Sprintf("%s/rest/api/2/issue/%s/assignee", c.endpoint, issue)
resp, err := c.put(uri, json); if err != nil {
return err
}
if resp.StatusCode == 204 {
fmt.Printf("OK %s %s/browse/%s\n", issue, c.endpoint, issue)
} else {
logBuffer := bytes.NewBuffer(make([]byte,0))
resp.Write(logBuffer)
err := fmt.Errorf("Unexpected Response From PUT")
log.Error("%s:\n%s", err, logBuffer)
return err
}
return nil
}
+10 -4
View File
@@ -42,9 +42,8 @@ Usage:
jira [-v ...] [-u USER] [-e URI] start ISSUE [-m COMMENT]
jira [-v ...] [-u USER] [-e URI] stop ISSUE [-m COMMENT]
jira [-v ...] [-u USER] [-e URI] [-t FILE] comment ISSUE [-m COMMENT]
jira TODO [-v ...] [-u USER] [-e URI] take ISSUE
jira TODO [-v ...] [-u USER] [-e URI] assign ISSUE ASSIGNEE
jira [-v ...] [-u USER] [-e URI] take ISSUE
jira [-v ...] [-u USER] [-e URI] (assign|give) ISSUE ASSIGNEE
General Options:
-h --help Show this usage
@@ -52,7 +51,7 @@ General Options:
-v --verbose Increase output logging
-u --user=USER Username to use for authenticaion (default: %s)
-e --endpoint=URI URI to use for jira (default: https://jira)
-t --template=FILE Template file to use for output
-t --template=FILE Template file to use for output/editing
List Options:
-q --query=JQL Jira Query Language expression for the search
@@ -216,6 +215,13 @@ Transition Options:
err = c.CmdTransition(args["ISSUE"].(string), "stop")
} else if validCommand("comment") {
err = c.CmdComment(args["ISSUE"].(string))
} else if validCommand("take") {
err = c.CmdAssign(args["ISSUE"].(string), user)
} else if validCommand("assign") || validCommand("give") {
err = c.CmdAssign(
args["ISSUE"].(string),
args["ASSIGNEE"].(string),
)
} else if val, ok := args["ISSUE"]; ok {
err = c.CmdView(val.(string))
}