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  }