code: func (s *IssueService) Create(issue *Issue) (*Issue, *Response, error) {
  	apiEndpoint := "rest/api/2/issue"
  	req, err := s.client.NewRequest("POST", apiEndpoint, issue)
  	if err != nil {
  		return nil, nil, err
  	}
  	resp, err := s.client.Do(req, nil)
  	if err != nil {
  		// incase of error return the resp for further inspection
  		return nil, resp, err
  	}
  
  	responseIssue := new(Issue)
  	defer resp.Body.Close()
  	data, err := ioutil.ReadAll(resp.Body)
  	if err != nil {
  		return nil, resp, fmt.Errorf("Could not read the returned data")
  	}
  	err = json.Unmarshal(data, responseIssue)
  	if err != nil {
  		return nil, resp, fmt.Errorf("Could not unmarshall the data into struct")
  	}
  	return responseIssue, resp, nil
  }
docs: // Create creates an issue or a sub-task from a JSON representation.
  // Creating a sub-task is similar to creating a regular issue, with two important differences:
  // The issueType field must correspond to a sub-task issue type and you must provide a parent field in the issue create request containing the id or key of the parent issue.
  //
  // JIRA API docs: https://docs.atlassian.com/jira/REST/latest/#api/2/issue-createIssues