code: func (s *RepositoriesService) CreateRelease(ctx context.Context, owner, repo string, release *RepositoryRelease) (*RepositoryRelease, *Response, error) {
  	u := fmt.Sprintf("repos/%s/%s/releases", owner, repo)
  
  	releaseReq := &repositoryReleaseRequest{
  		TagName:         release.TagName,
  		TargetCommitish: release.TargetCommitish,
  		Name:            release.Name,
  		Body:            release.Body,
  		Draft:           release.Draft,
  		Prerelease:      release.Prerelease,
  	}
  
  	req, err := s.client.NewRequest("POST", u, releaseReq)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	r := new(RepositoryRelease)
  	resp, err := s.client.Do(ctx, req, r)
  	if err != nil {
  		return nil, resp, err
  	}
  	return r, resp, nil
  }
docs: // CreateRelease adds a new release for a repository.
  //
  // Note that only a subset of the release fields are used.
  // See RepositoryRelease for more information.
  //
  // GitHub API docs: https://developer.github.com/v3/repos/releases/#create-a-release