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  }