From 3c1c4d95e199a717499f1f4259649152a6832e9f Mon Sep 17 00:00:00 2001 From: ldelossa Date: Wed, 26 Aug 2020 13:56:59 -0400 Subject: [PATCH] transition: map field name to id this commit allows a user to use the more friendly field.Name when transitioning to states which require custom field inputs. Signed-off-by: ldelossa --- jiracmd/transition.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/jiracmd/transition.go b/jiracmd/transition.go index 57b10e4..c5d460a 100644 --- a/jiracmd/transition.go +++ b/jiracmd/transition.go @@ -165,6 +165,26 @@ func CmdTransition(o *oreo.Client, globals *jiracli.GlobalOptions, opts *Transit return err } } + + // if issueUpdate contains fields lets see if we can map them + // to their ids + if len(issueUpdate.Fields) > 0 { + fields, err := jira.GetFields(o, globals.Endpoint.Value) + if err != nil { + return err + } + for k, v := range issueUpdate.Fields { + for _, f := range fields { + if f.Name == k { + // re-map to field.id + issueUpdate.Fields[f.ID] = v + delete(issueUpdate.Fields, k) + break + } + } + } + } + return jira.TransitionIssue(o, globals.Endpoint.Value, opts.Issue, &issueUpdate) }) if err != nil {