code: func (s *RepositoriesService) GetPreReceiveHook(ctx context.Context, owner, repo string, id int64) (*PreReceiveHook, *Response, error) {
  	u := fmt.Sprintf("repos/%v/%v/pre-receive-hooks/%d", owner, repo, id)
  	req, err := s.client.NewRequest("GET", u, nil)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	// TODO: remove custom Accept header when this API fully launches.
  	req.Header.Set("Accept", mediaTypePreReceiveHooksPreview)
  
  	h := new(PreReceiveHook)
  	resp, err := s.client.Do(ctx, req, h)
  	if err != nil {
  		return nil, resp, err
  	}
  
  	return h, resp, nil
  }
docs: // GetPreReceiveHook returns a single specified pre-receive hook.
  //
  // GitHub API docs: https://developer.github.com/enterprise/2.13/v3/repos/pre_receive_hooks/#get-a-single-pre-receive-hook