code: func (s *RepositoriesService) CreateStatus(ctx context.Context, owner, repo, ref string, status *RepoStatus) (*RepoStatus, *Response, error) {
  	u := fmt.Sprintf("repos/%v/%v/statuses/%v", owner, repo, url.QueryEscape(ref))
  	req, err := s.client.NewRequest("POST", u, status)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	repoStatus := new(RepoStatus)
  	resp, err := s.client.Do(ctx, req, repoStatus)
  	if err != nil {
  		return nil, resp, err
  	}
  
  	return repoStatus, resp, nil
  }
docs: // CreateStatus creates a new status for a repository at the specified
  // reference. Ref can be a SHA, a branch name, or a tag name.
  //
  // GitHub API docs: https://developer.github.com/v3/repos/statuses/#create-a-status