code: func makeFeedbackLink(c *router.Context, build *ui.MiloBuildLegacy) string {
  	project, err := common.GetProject(c.Context, c.Params.ByName("project"))
  	if err != nil || proto.Equal(&project.BuildBugTemplate, &config.BugTemplate{}) {
  		return ""
  	}
  
  	buildURL := c.Request.URL
  	var builderURL *url.URL
  	if build.Summary.ParentLabel != nil && build.Summary.ParentLabel.URL != "" {
  		builderURL, err = buildURL.Parse(build.Summary.ParentLabel.URL)
  		if err != nil {
  			logging.WithError(err).Errorf(c.Context, "Unable to parse build.Summary.ParentLabel.URL for custom feedback link")
  			return ""
  		}
  	}
  
  	link, err := buildbucket.MakeBuildBugLink(&project.BuildBugTemplate, map[string]interface{}{
  		"Build":          makeBuild(c.Params, build),
  		"MiloBuildUrl":   buildURL,
  		"MiloBuilderUrl": builderURL,
  	})
  
  	if err != nil {
  		logging.WithError(err).Errorf(c.Context, "Unable to make custom feedback link")
  		return ""
  	}
  
  	return link
  }
docs: // makeFeedbackLink attempts to create the feedback link for the build page. If the
  // project is not configured for a custom feedback link or an interpolation placeholder
  // cannot be satisfied an empty string is returned.