code: func handleLUCIBuild(c *router.Context) error {
  	bucket := c.Params.ByName("bucket")
  	buildername := c.Params.ByName("builder")
  	numberOrId := c.Params.ByName("numberOrId")
  	forceBlamelist := c.Request.FormValue("blamelist") != ""
  
  	if _, v2Bucket := deprecated.BucketNameToV2(bucket); v2Bucket != "" {
  		// Params bucket is a v1 bucket, so call the legacy endpoint.
  		return handleLUCIBuildLegacy(c, bucket, buildername, numberOrId)
  	}
  
  	// TODO(hinoka): Once v2 is default, redirect v1 bucketnames to v2 bucketname URLs.
  	br := buildbucketpb.GetBuildRequest{}
  	if strings.HasPrefix(numberOrId, "b") {
  		id, err := strconv.ParseInt(numberOrId[1:], 10, 64)
  		if err != nil {
  			return errors.Annotate(err, "bad build id").Tag(grpcutil.InvalidArgumentTag).Err()
  		}
  		br.Id = int64(id)
  	} else {
  		number, err := strconv.Atoi(numberOrId)
  		if err != nil {
  			return errors.Annotate(err, "bad build number").Tag(grpcutil.InvalidArgumentTag).Err()
  		}
  		br.BuildNumber = int32(number)
  		br.Builder = &buildbucketpb.BuilderID{
  			Project: c.Params.ByName("project"),
  			Bucket:  bucket,
  			Builder: buildername,
  		}
  	}
  
  	bp, err := buildbucket.GetBuildPage(c, br, forceBlamelist)
  	return renderBuild(c, bp, err)
  }
docs: // handleLUCIBuild renders a LUCI build.