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