Exemple #1
0
func Build(build db.Build) atc.Build {
	var err error
	var reqURL string
	if build.JobName == "" && build.PipelineName == "" {
		reqURL, err = web.Routes.CreatePathForRoute(
			web.GetJoblessBuild,
			rata.Params{"build_id": strconv.Itoa(build.ID)},
		)
	} else {
		reqURL, err = web.Routes.CreatePathForRoute(
			web.GetBuild,
			rata.Params{"job": build.JobName, "build": build.Name, "pipeline_name": build.PipelineName},
		)
	}
	if err != nil {
		panic("failed to generate url: " + err.Error())
	}

	apiURL, err := atc.Routes.CreatePathForRoute(atc.GetBuild, rata.Params{"build_id": strconv.Itoa(build.ID)})
	if err != nil {
		panic("failed to generate url: " + err.Error())
	}

	atcBuild := atc.Build{
		ID:           build.ID,
		Name:         build.Name,
		Status:       string(build.Status),
		JobName:      build.JobName,
		PipelineName: build.PipelineName,
		URL:          reqURL,
		APIURL:       apiURL,
	}

	if !build.StartTime.IsZero() {
		atcBuild.StartTime = build.StartTime.Unix()
	}

	if !build.EndTime.IsZero() {
		atcBuild.EndTime = build.EndTime.Unix()
	}

	return atcBuild
}