code: func (g *GitScm) Artifact(artifact, path string) error {
  	req, err := http.NewRequest(http.MethodGet, artifact, nil)
  	if err != nil {
  		return err
  	}
  
  	for k, v := range g.AuthHeaders {
  		req.Header.Add(k, v)
  	}
  
  	log.Infof("[Artifact] Downloading artifacts from %q", artifact)
  	resp, err := g.Do(req)
  	if err != nil {
  		return err
  	}
  	defer resp.Body.Close()
  	if resp.StatusCode != 200 {
  		return fmt.Errorf("Download artifact error %q, code %d", artifact, resp.StatusCode)
  	}
  
  	// extract files from zipfile
  	return unzipFile(resp.Body, path)
  }
docs: // Artifact download the artifact to the path, then unzip it