mirror of
https://github.com/Threnklyn/jira.git
synced 2026-06-05 20:48:28 +02:00
@@ -32,6 +32,10 @@ func New(opts map[string]string) *Cli {
|
|||||||
endpoint, _ := opts["endpoint"]
|
endpoint, _ := opts["endpoint"]
|
||||||
url, _ := url.Parse(strings.TrimRight(endpoint, "/"))
|
url, _ := url.Parse(strings.TrimRight(endpoint, "/"))
|
||||||
|
|
||||||
|
if project, ok := opts["project"]; ok {
|
||||||
|
opts["project"] = strings.ToUpper(project)
|
||||||
|
}
|
||||||
|
|
||||||
cli := &Cli{
|
cli := &Cli{
|
||||||
endpoint: url,
|
endpoint: url,
|
||||||
opts: opts,
|
opts: opts,
|
||||||
|
|||||||
@@ -220,6 +220,11 @@ func (c *Cli) CmdCreateMeta(project string, issuetype string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if val, ok := data.(map[string]interface{})["projects"]; ok {
|
if val, ok := data.(map[string]interface{})["projects"]; ok {
|
||||||
|
if len(val.([]interface{})) == 0 {
|
||||||
|
err = fmt.Errorf("Project '%s' or issuetype '%s' unknown. Unable to createmeta.", project, issuetype)
|
||||||
|
log.Error("%s", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
if val, ok = val.([]interface{})[0].(map[string]interface{})["issuetypes"]; ok {
|
if val, ok = val.([]interface{})[0].(map[string]interface{})["issuetypes"]; ok {
|
||||||
data = val.([]interface{})[0]
|
data = val.([]interface{})[0]
|
||||||
}
|
}
|
||||||
@@ -253,6 +258,11 @@ func (c *Cli) CmdCreate(project string, issuetype string) error {
|
|||||||
issueData["overrides"].(map[string]string)["issuetype"] = issuetype
|
issueData["overrides"].(map[string]string)["issuetype"] = issuetype
|
||||||
|
|
||||||
if val, ok := data.(map[string]interface{})["projects"]; ok {
|
if val, ok := data.(map[string]interface{})["projects"]; ok {
|
||||||
|
if len(val.([]interface{})) == 0 {
|
||||||
|
err = fmt.Errorf("Project '%s' or issuetype '%s' unknown. Unable to create issue.", project, issuetype)
|
||||||
|
log.Error("%s", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
if val, ok = val.([]interface{})[0].(map[string]interface{})["issuetypes"]; ok {
|
if val, ok = val.([]interface{})[0].(map[string]interface{})["issuetypes"]; ok {
|
||||||
issueData["meta"] = val.([]interface{})[0]
|
issueData["meta"] = val.([]interface{})[0]
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-2
@@ -116,9 +116,19 @@ func runTemplate(templateContent string, data interface{}, out io.Writer) error
|
|||||||
func responseToJson(resp *http.Response, err error) (interface{}, error) {
|
func responseToJson(resp *http.Response, err error) (interface{}, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
|
||||||
return jsonDecode(resp.Body), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data := jsonDecode(resp.Body)
|
||||||
|
if resp.StatusCode == 400 {
|
||||||
|
if val, ok := data.(map[string]interface{})["errorMessages"]; ok {
|
||||||
|
for _,errMsg := range val.([]interface{}) {
|
||||||
|
log.Error("%s", errMsg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return data, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func jsonDecode(io io.Reader) interface{} {
|
func jsonDecode(io io.Reader) interface{} {
|
||||||
|
|||||||
Reference in New Issue
Block a user