code: func (t *MetaIssueType) GetMandatoryFields() (map[string]string, error) {
  	ret := make(map[string]string)
  	for key := range t.Fields {
  		required, err := t.Fields.Bool(key + "/required")
  		if err != nil {
  			return nil, err
  		}
  		if required {
  			name, err := t.Fields.String(key + "/name")
  			if err != nil {
  				return nil, err
  			}
  			ret[name] = key
  		}
  	}
  	return ret, nil
  }
docs: // GetMandatoryFields returns a map of all the required fields from the MetaIssueTypes.
  // if a field returned by the api was:
  // "customfield_10806": {
  //					"required": true,
  //					"schema": {
  //						"type": "any",
  //						"custom": "com.pyxis.greenhopper.jira:gh-epic-link",
  //						"customId": 10806
  //					},
  //					"name": "Epic Link",
  //					"hasDefaultValue": false,
  //					"operations": [
  //						"set"
  //					]
  //				}
  // the returned map would have "Epic Link" as the key and "customfield_10806" as value.
  // This choice has been made so that the it is easier to generate the create api request later.