1package exec 2 3import ( 4 "fmt" 5) 6 7type StepMetadata struct { 8 BuildID int 9 BuildName string 10 TeamID int 11 TeamName string 12 JobID int 13 JobName string 14 PipelineID int 15 PipelineName string 16 ResourceConfigScopeID int 17 ResourceConfigID int 18 BaseResourceTypeID int 19 ExternalURL string 20} 21 22func (metadata StepMetadata) Env() []string { 23 env := []string{} 24 25 if metadata.BuildID != 0 { 26 env = append(env, fmt.Sprintf("BUILD_ID=%d", metadata.BuildID)) 27 } 28 29 if metadata.BuildName != "" { 30 env = append(env, "BUILD_NAME="+metadata.BuildName) 31 } 32 33 if metadata.TeamID != 0 { 34 env = append(env, fmt.Sprintf("BUILD_TEAM_ID=%d", metadata.TeamID)) 35 } 36 37 if metadata.TeamName != "" { 38 env = append(env, "BUILD_TEAM_NAME="+metadata.TeamName) 39 } 40 41 if metadata.JobID != 0 { 42 env = append(env, fmt.Sprintf("BUILD_JOB_ID=%d", metadata.JobID)) 43 } 44 45 if metadata.JobName != "" { 46 env = append(env, "BUILD_JOB_NAME="+metadata.JobName) 47 } 48 49 if metadata.PipelineID != 0 { 50 env = append(env, fmt.Sprintf("BUILD_PIPELINE_ID=%d", metadata.PipelineID)) 51 } 52 53 if metadata.PipelineName != "" { 54 env = append(env, "BUILD_PIPELINE_NAME="+metadata.PipelineName) 55 } 56 57 if metadata.ExternalURL != "" { 58 env = append(env, "ATC_EXTERNAL_URL="+metadata.ExternalURL) 59 } 60 61 return env 62} 63