1
0
mirror of https://github.com/interviewstreet/go-jira.git synced 2025-01-20 02:59:58 +02:00

Add the "option" field type for custom fields

JIRA supports SelectList field types, which are similar to but
represented not quite the same as Strings. This change allows go-jira
to create issues with custom fields on them that are SelectLists.
This commit is contained in:
Andreas Fuchs 2017-04-26 22:06:10 -07:00 committed by Andreas Fuchs
parent 320d02c202
commit 967e2d4805

View File

@ -312,6 +312,12 @@ type TransitionPayload struct {
ID string `json:"id" structs:"id"`
}
// Option represents an option value in a SelectList or MultiSelect
// custom issue field
type Option struct {
Value string `json:"value" structs:"value"`
}
// UnmarshalJSON will transform the JIRA time into a time.Time
// during the transformation of the JIRA JSON response
func (t *Time) UnmarshalJSON(b []byte) error {
@ -718,7 +724,7 @@ func (s *IssueService) DoTransition(ticketID, transitionID string) (*Response, e
// * metaProject should contain metaInformation about the project where the issue should be created.
// * metaIssuetype is the MetaInformation about the Issuetype that needs to be created.
// * fieldsConfig is a key->value pair where key represents the name of the field as seen in the UI
// And value is the string value for that particular key.
// And value is the string value for that particular key.
// Note: This method doesn't verify that the fieldsConfig is complete with mandatory fields. The fieldsConfig is
// supposed to be already verified with MetaIssueType.CheckCompleteAndAvailable. It will however return
// error if the key is not found.
@ -775,6 +781,10 @@ func InitIssueWithMetaAndFields(metaProject *MetaProject, metaIssuetype *MetaIss
issueFields.Unknowns[jiraKey] = IssueType{
Name: value,
}
case "option":
issueFields.Unknowns[jiraKey] = Option{
Value: value,
}
default:
return nil, fmt.Errorf("Unknown issue type encountered: %s for %s", valueType, key)
}