github.com/SAP/jenkins-library@v1.362.0/cmd/tmsUpload.go (about) 1 package cmd 2 3 import ( 4 "fmt" 5 6 "github.com/SAP/jenkins-library/pkg/log" 7 "github.com/SAP/jenkins-library/pkg/telemetry" 8 "github.com/SAP/jenkins-library/pkg/tms" 9 ) 10 11 func tmsUpload(uploadConfig tmsUploadOptions, telemetryData *telemetry.CustomData, influx *tmsUploadInflux) { 12 utils := tms.NewTmsUtils() 13 config := convertUploadOptions(uploadConfig) 14 communicationInstance := tms.SetupCommunication(config) 15 16 err := runTmsUpload(uploadConfig, communicationInstance, utils) 17 if err != nil { 18 log.Entry().WithError(err).Fatal("Failed to run tmsUpload step") 19 } 20 } 21 22 func runTmsUpload(uploadConfig tmsUploadOptions, communicationInstance tms.CommunicationInterface, utils tms.TmsUtils) error { 23 config := convertUploadOptions(uploadConfig) 24 fileInfo, errUploadFile := tms.UploadFile(config, communicationInstance, utils) 25 if errUploadFile != nil { 26 return errUploadFile 27 } 28 29 errUploadDescriptors := tms.UploadDescriptors(config, communicationInstance, utils) 30 if errUploadDescriptors != nil { 31 return errUploadDescriptors 32 } 33 34 _, errUploadFileToNode := communicationInstance.UploadFileToNode(fileInfo, config.NodeName, config.CustomDescription, config.NamedUser) 35 if errUploadFileToNode != nil { 36 log.SetErrorCategory(log.ErrorService) 37 return fmt.Errorf("failed to upload file to node: %w", errUploadFileToNode) 38 } 39 40 return nil 41 } 42 43 func convertUploadOptions(uploadConfig tmsUploadOptions) tms.Options { 44 var config tms.Options 45 config.ServiceKey = uploadConfig.ServiceKey 46 if uploadConfig.ServiceKey == "" && uploadConfig.TmsServiceKey != "" { 47 config.ServiceKey = uploadConfig.TmsServiceKey 48 log.Entry().Warn("DEPRECATION WARNING: The tmsServiceKey parameter has been deprecated, please use the serviceKey parameter instead.") 49 } 50 config.CustomDescription = uploadConfig.CustomDescription 51 if config.CustomDescription == "" { 52 config.CustomDescription = tms.DEFAULT_TR_DESCRIPTION 53 } 54 config.NamedUser = uploadConfig.NamedUser 55 config.NodeName = uploadConfig.NodeName 56 config.MtaPath = uploadConfig.MtaPath 57 config.MtaVersion = uploadConfig.MtaVersion 58 config.NodeExtDescriptorMapping = uploadConfig.NodeExtDescriptorMapping 59 config.Proxy = uploadConfig.Proxy 60 config.StashContent = uploadConfig.StashContent 61 config.Verbose = GeneralConfig.Verbose 62 return config 63 }