code: func NewClient(httpClient *http.Client, baseURL string) (*Client, error) {
  	if httpClient == nil {
  		httpClient = http.DefaultClient
  	}
  
  	// ensure the baseURL contains a trailing slash so that all paths are preserved in later calls
  	if !strings.HasSuffix(baseURL, "/") {
  		baseURL += "/"
  	}
  
  	parsedBaseURL, err := url.Parse(baseURL)
  	if err != nil {
  		return nil, err
  	}
  
  	c := &Client{
  		client:  httpClient,
  		baseURL: parsedBaseURL,
  	}
  	c.Authentication = &AuthenticationService{client: c}
  	c.Issue = &IssueService{client: c}
  	c.Project = &ProjectService{client: c}
  	c.Board = &BoardService{client: c}
  	c.Sprint = &SprintService{client: c}
  	c.User = &UserService{client: c}
  	c.Group = &GroupService{client: c}
  	c.Version = &VersionService{client: c}
  	c.Priority = &PriorityService{client: c}
  	c.Field = &FieldService{client: c}
  	c.Component = &ComponentService{client: c}
  	c.Resolution = &ResolutionService{client: c}
  	c.StatusCategory = &StatusCategoryService{client: c}
  	c.Filter = &FilterService{client: c}
  
  	return c, nil
  }
docs: // NewClient returns a new JIRA API client.
  // If a nil httpClient is provided, http.DefaultClient will be used.
  // To use API methods which require authentication you can follow the preferred solution and
  // provide an http.Client that will perform the authentication for you with OAuth and HTTP Basic (such as that provided by the golang.org/x/oauth2 library).
  // As an alternative you can use Session Cookie based authentication provided by this package as well.
  // See https://docs.atlassian.com/jira/REST/latest/#authentication
  // baseURL is the HTTP endpoint of your JIRA instance and should always be specified with a trailing slash.