1package present 2 3import ( 4 "strconv" 5 6 "github.com/concourse/concourse/atc" 7 "github.com/concourse/concourse/atc/db" 8 "github.com/tedsuo/rata" 9) 10 11func Build(build db.Build) atc.Build { 12 13 apiURL, err := atc.Routes.CreatePathForRoute(atc.GetBuild, rata.Params{ 14 "build_id": strconv.Itoa(build.ID()), 15 "team_name": build.TeamName(), 16 }) 17 if err != nil { 18 panic("failed to generate url: " + err.Error()) 19 } 20 21 atcBuild := atc.Build{ 22 ID: build.ID(), 23 Name: build.Name(), 24 JobName: build.JobName(), 25 PipelineName: build.PipelineName(), 26 TeamName: build.TeamName(), 27 Status: string(build.Status()), 28 APIURL: apiURL, 29 } 30 31 if build.RerunOf() != 0 { 32 atcBuild.RerunNumber = build.RerunNumber() 33 atcBuild.RerunOf = &atc.RerunOfBuild{ 34 Name: build.RerunOfName(), 35 ID: build.RerunOf(), 36 } 37 } 38 39 if !build.StartTime().IsZero() { 40 atcBuild.StartTime = build.StartTime().Unix() 41 } 42 43 if !build.EndTime().IsZero() { 44 atcBuild.EndTime = build.EndTime().Unix() 45 } 46 47 if !build.ReapTime().IsZero() { 48 atcBuild.ReapTime = build.ReapTime().Unix() 49 } 50 51 return atcBuild 52} 53