github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/exec/step_metadata.go (about) 1 package exec 2 3 import ( 4 "encoding/json" 5 "fmt" 6 ) 7 8 type StepMetadata struct { 9 BuildID int 10 BuildName string 11 TeamID int 12 TeamName string 13 JobID int 14 JobName string 15 PipelineID int 16 PipelineName string 17 PipelineInstanceVars map[string]interface{} 18 ExternalURL string 19 } 20 21 func (metadata StepMetadata) Env() []string { 22 env := []string{} 23 24 if metadata.BuildID != 0 { 25 env = append(env, fmt.Sprintf("BUILD_ID=%d", metadata.BuildID)) 26 } 27 28 if metadata.BuildName != "" { 29 env = append(env, "BUILD_NAME="+metadata.BuildName) 30 } 31 32 if metadata.TeamID != 0 { 33 env = append(env, fmt.Sprintf("BUILD_TEAM_ID=%d", metadata.TeamID)) 34 } 35 36 if metadata.TeamName != "" { 37 env = append(env, "BUILD_TEAM_NAME="+metadata.TeamName) 38 } 39 40 if metadata.JobID != 0 { 41 env = append(env, fmt.Sprintf("BUILD_JOB_ID=%d", metadata.JobID)) 42 } 43 44 if metadata.JobName != "" { 45 env = append(env, "BUILD_JOB_NAME="+metadata.JobName) 46 } 47 48 if metadata.PipelineID != 0 { 49 env = append(env, fmt.Sprintf("BUILD_PIPELINE_ID=%d", metadata.PipelineID)) 50 } 51 52 if metadata.PipelineName != "" { 53 env = append(env, "BUILD_PIPELINE_NAME="+metadata.PipelineName) 54 } 55 56 if metadata.PipelineInstanceVars != nil { 57 bytes, _ := json.Marshal(metadata.PipelineInstanceVars) 58 env = append(env, "BUILD_PIPELINE_INSTANCE_VARS="+string(bytes)) 59 } 60 61 if metadata.ExternalURL != "" { 62 env = append(env, "ATC_EXTERNAL_URL="+metadata.ExternalURL) 63 } 64 65 return env 66 }