1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-02-05 13:25:19 +02:00

feat: remove SAP web analytics reporting (#4773)

* improve vault logging

* remove swa calls

* Revert "improve vault logging"

This reverts commit 8335bbf365c63a9c0215059ededdf6758345491e.
This commit is contained in:
Christopher Fenner 2024-01-15 13:17:53 +01:00 committed by GitHub
parent 86a59eb412
commit 70b860f47f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 2 additions and 261 deletions

View File

@ -135,12 +135,7 @@ def generateSha1(input) {
void pushToSWA(Map parameters, Map config) {
try {
parameters.actionName = parameters.get('actionName') ?: 'Piper Library OS'
parameters.eventType = parameters.get('eventType') ?: 'library-os'
parameters.jobUrlSha1 = generateSha1(env.JOB_URL ?: '')
parameters.buildUrlSha1 = generateSha1(env.BUILD_URL ?: '')
Telemetry.notify(this, config, parameters)
echo "SAP web analytics is disabled. Please remove any remaining use of 'pushToSWA' function!"
} catch (ignore) {
// some error occured in telemetry reporting. This should not break anything though.
echo "[${parameters.step}] Telemetry Report failed: ${ignore.getMessage()}"

View File

@ -153,16 +153,6 @@ void call(Map parameters = [:], Closure body = null) {
config = configHelper.addIfEmpty('timestamp', getTimestamp(config.timestampTemplate))
.use()
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'buildTool',
stepParam1: config.buildTool,
stepParamKey2: 'artifactType',
stepParam2: config.artifactType,
stepParamKey3: 'scriptMissing',
stepParam3: parameters?.script == null
], config)
def artifactVersioning = ArtifactVersioning.getArtifactVersioning(config.buildTool, script, config)
def currentVersion = artifactVersioning.getVersion()

View File

@ -74,9 +74,6 @@ void call(Map parameters = [:]) {
.addIfEmpty('buildTool', script.commonPipelineEnvironment.getBuildTool())
.use()
// telemetry reporting
utils.pushToSWA([stepParam1: config.buildTool, 'buildTool': config.buildTool], config)
switch(config.buildTool){
case 'maven':
mavenBuild script: script

View File

@ -111,12 +111,6 @@ void call(parameters = [:]) {
// for the following parameters we expect a value provided from outside
.withMandatoryProperty('changeManagement/endpoint')
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
def changeId = getChangeDocumentId(script, configuration)
configuration = configHelper.mixin([changeDocumentId: changeId?.trim() ?: null], ['changeDocumentId'] as Set)
@ -186,4 +180,4 @@ static void addPipelineWarning(Script script, String heading, String message) {
"""
script.createSummary(icon: "warning.gif", text: html)
}
}

View File

@ -93,12 +93,6 @@ void call(Map parameters = [:]) {
error "[ERROR] Configuration of the aggregation view is no longer possible. Migrate any thresholds defined here to tool specific quality gates. (piper-lib/${STEP_NAME})"
}
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
// JAVA
if(configuration.pmd.active) {
report(pmdParser(createToolOptions(configuration.pmd)), configuration.pmd, configuration.archive)

View File

@ -81,11 +81,6 @@ void call(Map parameters = [:]) {
config.sourceRegistry = dockerUtils.getRegistryFromUrl(config.sourceRegistryUrl)
}
// telemetry reporting
new Utils().pushToSWA([
step: STEP_NAME
], config)
if (!config.dockerImage)
config.dockerImage = config.sourceImage

View File

@ -49,12 +49,6 @@ void call(Map parameters = [:]) {
.mixin(parameters, PARAMETER_KEYS)
.use()
utils.pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
boolean shareConfidentialInformation = configuration?.get('shareConfidentialInformation') ?: false
Map result = DebugReport.instance.generateReport(script, shareConfidentialInformation)

View File

@ -168,14 +168,6 @@ void call(Map parameters = [:], body) {
SidecarUtils sidecarUtils = new SidecarUtils(script)
utils.pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null,
stepParamKey2: 'kubernetes',
stepParam2: isKubernetes()
], config)
if (isKubernetes() && config.dockerImage) {
List dockerEnvVars = []
config.dockerEnvVars?.each { key, value ->

View File

@ -255,12 +255,6 @@ void call(Map parameters = [:], body) {
.addIfEmpty('uniqueId', UUID.randomUUID().toString())
.use()
utils.pushToSWA([
step : STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1 : parameters?.script == null
], config)
if (!config.containerMap && config.dockerImage) {
config.containerName = 'container-exec'
config.containerMap = [(config.get('dockerImage')): config.containerName]

View File

@ -50,12 +50,6 @@ void call(Map parameters = [:], body = null) {
.mixin(parameters, PARAMETER_KEYS)
.use()
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
if (!fileExists('dub.json') && !fileExists('dub.sdl')) {
error "[${STEP_NAME}] Neither dub.json nor dub.sdl was found."
}

View File

@ -48,12 +48,6 @@ void call(Map parameters = [:]) {
.withMandatoryProperty('pomPath')
.use()
utils.pushToSWA([
step: STEP_NAME,
stepParamKey1: 'pomPath',
stepParam1: config.pomPath,
], config)
def appUrls = parameters.get('appUrls')
if (appUrls && !(appUrls instanceof List)) {
error "The optional parameter 'appUrls' needs to be a List of Maps, where each Map contains the two entries 'url' and 'credentialsId'."

View File

@ -51,8 +51,6 @@ void call(Map parameters = [:]) {
.withMandatoryProperty('testServerUrl')
.use()
new Utils().pushToSWA([step: STEP_NAME], config)
def checkUrl = config.testServerUrl
if(config.healthEndpoint){
if(!checkUrl.endsWith('/'))

View File

@ -96,12 +96,6 @@ void call(Map parameters = [:]) {
.addIfNull('customDataMapTags', InfluxData.getInstance().getTags().findAll({ it.key != 'jenkins_custom_data' }))
.use()
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], config)
if (!config.artifactVersion) {
//this takes care that terminated builds due to milestone-locking do not cause an error
echo "[${STEP_NAME}] no artifact version available -> exiting writeInflux without writing data"

View File

@ -96,8 +96,6 @@ void call(Map parameters = [:]) {
.mixin(parameters, PARAMETER_KEYS)
.use()
new Utils().pushToSWA([step: STEP_NAME], config)
//this takes care that terminated builds due to milestone-locking do not cause an error
if (script.commonPipelineEnvironment.getBuildResult() == 'ABORTED') return

View File

@ -68,12 +68,6 @@ void call(parameters = [:]) {
Map config = configHelper.use()
utils.pushToSWA([
step : STEP_NAME,
stepParamKey1: 'enableZeroDowntimeDeployment',
stepParam1 : config.enableZeroDowntimeDeployment
], config)
def index = 1
def deployments = [:]

View File

@ -207,16 +207,6 @@ void call(parameters = [:]) {
if(deployMode != DeployMode.MTA && ! extensionFileNames.isEmpty())
error "Extensions (${extensionFileNames} found for deploy mode ${deployMode}. Extensions are only supported for deploy mode '${DeployMode.MTA}')"
utils.pushToSWA([
step: STEP_NAME,
stepParamKey1: 'deployMode',
stepParam1: configuration.deployMode == 'mta'?'mta':'war', // ['mta', 'warParams', 'warPropertiesFile']
stepParamKey2: 'warAction',
stepParam2: configuration.warAction == 'rolling-update'?'blue-green':'standard', // ['deploy', 'deploy-mta', 'rolling-update']
stepParamKey3: 'scriptMissing',
stepParam3: parameters?.script == null,
], configuration)
if(configuration.neo.credentialType == 'UsernamePassword'){
withCredentials([usernamePassword(
credentialsId: configuration.neo.credentialsId,

View File

@ -50,12 +50,6 @@ void call(Map parameters = [:], body = null) {
.mixin(parameters, PARAMETER_KEYS)
.use()
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
try {
if (!fileExists('package.json')) {
error "[${STEP_NAME}] package.json is not found."

View File

@ -47,12 +47,6 @@ void call(Map parameters = [:]) {
.mixin(parameters, PARAMETER_KEYS)
.use()
utils.pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], config)
config.stashIncludes.each {stashKey, stashIncludes ->
def useDefaultExcludes = !config.noDefaultExludes.contains(stashKey)
utils.stashWithMessage(stashKey, "[${STEP_NAME}] no files detected for stash '${stashKey}': ", stashIncludes, config.stashExcludes[stashKey]?:'', useDefaultExcludes)

View File

@ -45,12 +45,6 @@ void call(Map parameters = [:]) {
.mixin(parameters, PARAMETER_KEYS)
.use()
utils.pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], config)
config.stashIncludes.each {stashKey, stashIncludes ->
def useDefaultExcludes = !config.noDefaultExludes.contains(stashKey)
utils.stashWithMessage(stashKey, "[${STEP_NAME}] no files detected for stash '${stashKey}': ", stashIncludes, config.stashExcludes[stashKey]?:'', useDefaultExcludes)

View File

@ -70,10 +70,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
// Prefer the newer multicloudDeploy step if it is configured as it is more capable
if (config.multicloudDeploy) {
durationMeasure(script: script, measurementName: 'deploy_test_multicloud_duration') {

View File

@ -45,10 +45,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
if (config.batsExecuteTests) {
durationMeasure(script: script, measurementName: 'bats_duration') {
batsExecuteTests script: script

View File

@ -57,10 +57,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
durationMeasure(script: script, measurementName: 'build_duration') {
buildExecute script: script

View File

@ -38,10 +38,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
if (config.sonarExecuteScan) {
durationMeasure(script: script, measurementName: 'sonar_duration') {
sonarExecuteScan script: script

View File

@ -203,9 +203,6 @@ void call(Map parameters = [:]) {
echo "piper-lib-os configuration: ${script.commonPipelineEnvironment.configuration}"
}
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
piperInitRunStageConfiguration script: script, stageConfigResource: config.stageConfigResource
// CHANGE_ID is set only for pull requests

View File

@ -42,10 +42,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
boolean publishResults = false
try {
writeTemporaryCredentials(script: script) {

View File

@ -37,10 +37,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper(stageName: stageName, script: script) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
if (config.mavenExecuteStaticCodeChecks) {
mavenExecuteStaticCodeChecks(script: script)
}

View File

@ -99,10 +99,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
durationMeasure(script: script, measurementName: 'voter_duration') {
//prevent push to registry in case of docker/kaniko

View File

@ -41,10 +41,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
if (config.multicloudDeploy) {
durationMeasure(script: script, measurementName: 'deploy_performance_multicloud_duration') {
multicloudDeploy(script: script, stage: stageName)

View File

@ -46,9 +46,6 @@ void call(Map parameters = [:]) {
vaultRotateSecretId script: script
}
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
influxWriteData script: script
if(env.BRANCH_NAME == parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch) {
if(parameters.script.commonPipelineEnvironment.configuration.runStep?.get('Post Actions')?.slackSendNotification) {

View File

@ -41,10 +41,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
durationMeasure(script: script, measurementName: 'promote_duration') {
if (config.containerPushToRegistry) {
containerPushToRegistry script: script

View File

@ -62,10 +62,6 @@ void call(Map parameters = [:]) {
.use()
piperStageWrapper (script: script, stageName: stageName) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
// Prefer the newer multicloudDeploy step if it is configured as it is more capable
if (config.multicloudDeploy) {
durationMeasure(script: script, measurementName: 'deploy_release_multicloud_duration') {

View File

@ -104,9 +104,6 @@ void call(Map parameters = [:]) {
}
if (securityScanMap.size() > 0) {
// telemetry reporting
utils.pushToSWA([step: STEP_NAME], config)
parallel securityScanMap.plus([failFast: false])
}
}

View File

@ -66,12 +66,6 @@ void call(Map parameters = [:]) {
.mixinStageConfig(script.commonPipelineEnvironment, stageName, STEP_CONFIG_KEYS)
.mixin(parameters, PARAMETER_KEYS)
.use()
// report to SWA
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
// add Piper Notifications parser to config if missing
if(new JenkinsUtils().addWarningsNGParser(

View File

@ -152,30 +152,6 @@ private void executeStage(script, originalStage, stageName, config, utils, telem
} finally {
//Perform stashing of selected files in workspace
utils.stashStageFiles(script, stageName)
// In general telemetry reporting is disabled by the config settings. This flag is used to disable the reporting when the config is not yet read (e.g. init stage).
if (!telemetryDisabled) {
def duration = System.currentTimeMillis() - startTime
utils.pushToSWA([
eventType : 'library-os-stage',
stageName : stageName,
stepParamKey1 : 'buildResult',
stepParam1 : "${script.currentBuild.currentResult}",
buildResult : "${script.currentBuild.currentResult}",
stepParamKey2 : 'stageStartTime',
stepParam2 : "${startTime}",
stageStartTime : "${startTime}",
stepParamKey3 : 'stageDuration',
stepParam3 : "${duration}",
stageDuration : "${duration}",
stepParamKey4 : 'projectExtension',
stepParam4 : "${projectExtensions}",
projectExtension: "${projectExtensions}",
stepParamKey5 : 'globalExtension',
stepParam5 : "${globalExtensions}",
globalExtension : "${globalExtensions}"
], config)
}
}
}

View File

@ -100,12 +100,6 @@ void call(Map parameters = [:], Closure body) {
.dependingOn('buildTool').mixin('dockerWorkspace')
.use()
utils.pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], config)
// Inject config via env vars so that scripts running inside selenium can respond to that
config.dockerEnvVars = config.dockerEnvVars ?: [:]
config.dockerEnvVars.PIPER_SELENIUM_HOSTNAME = config.dockerName

View File

@ -107,12 +107,6 @@ void call(Map parameters = [:]) {
inferBuildTool(script, config)
utils.pushToSWA([
step: STEP_NAME,
stepParamKey4: 'customDefaults',
stepParam4: parameters.customDefaults?'true':'false'
], config)
InfluxData.addField('step_data', 'build_url', env.BUILD_URL)
InfluxData.addField('pipeline_data', 'build_url', env.BUILD_URL)

View File

@ -81,12 +81,6 @@ void call(Map parameters = [:]) {
.withMandatoryProperty('snykCredentialsId')
.use()
utils.pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], config)
utils.unstashAll(config.stashContent)
switch(config.scanType) {

View File

@ -98,11 +98,6 @@ void call(Map parameters = [:]) {
.withMandatoryProperty('spinnaker/pipelineNameOrId')
.use()
// telemetry reporting
new Utils().pushToSWA([
step: STEP_NAME
], config)
String paramsString = ""
if (config.spinnaker.pipelineParameters) {
def pipelineParameters = [parameters: config.spinnaker.pipelineParameters]

View File

@ -74,12 +74,6 @@ void call(Map parameters = [:]) {
.mixin(parameters, PARAMETER_KEYS)
.use()
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
publishJUnitReport(configuration.get('junit'))
publishJacocoReport(configuration.get('jacoco'))
publishCoberturaReport(configuration.get('cobertura'))

View File

@ -111,13 +111,6 @@ void call(Map parameters = [:]) {
echo "[TransportManagementService] Using deprecated Groovy implementation of '${STEP_NAME}' step instead of the default Golang one, since 'useGoStep' toggle parameter is explicitly set to 'false'."
echo "[TransportManagementService] WARNING: Note that the deprecated Groovy implementation will be completely removed after February 29th, 2024. Consider using the Golang implementation by not setting the 'useGoStep' toggle parameter to 'false'."
// telemetry reporting
new Utils().pushToSWA([
step : STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1 : parameters?.script == null
], config)
def jsonUtilsObject = new JsonUtils()
// make sure that all relevant descriptors, are available in workspace

View File

@ -158,12 +158,6 @@ void call(Map parameters = [:]) {
def changeDocumentId = null
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
if(backendType == BackendType.SOLMAN) {
changeDocumentId = getChangeDocumentId(cm, script, configuration)

View File

@ -111,12 +111,6 @@ void call(Map parameters = [:]) {
configuration = configHelper.use()
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], configuration)
def changeDocumentId = null
def transportRequestId = getTransportRequestId(cm, script, configuration)

View File

@ -201,14 +201,6 @@ void call(Map parameters = [:]) {
.withMandatoryProperty('failOnWarning', null, {backendType == BackendType.RFC})
.withMandatoryProperty('verbose', null, {backendType == BackendType.RFC})
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'changeManagementType',
stepParam1: configuration.changeManagement.type,
stepParamKey2: 'scriptMissing',
stepParam2: parameters?.script == null
], configuration)
def changeDocumentId = null
if(backendType == BackendType.SOLMAN) {

View File

@ -44,13 +44,6 @@ void call(Map parameters = [:], Closure body) {
.mixin(parameters, PARAMETER_KEYS)
.use()
// telemetry reporting
new Utils().pushToSWA([
step: STEP_NAME,
stepParamKey1: 'scriptMissing',
stepParam1: parameters?.script == null
], config)
if (config.credentials && !(config.credentials instanceof List)) {
error "[${STEP_NAME}] The execution failed, since credentials is not a list. Please provide credentials as a list of maps. For example:\n" +
"credentials: \n" + " - alias: 'ERP'\n" + " credentialId: 'erp-credentials'"

View File

@ -72,12 +72,6 @@ void call(Map parameters = [:]) {
def piperGoVersion = sh(returnStdout: true, script: "./piper version")
echo "PiperGoVersion: ${piperGoVersion}"
//
// since there is no valid config provided (... null) telemetry is disabled (same for other go releated steps at the moment).
utils.pushToSWA([
step: STEP_NAME,
], null)
String configFiles = prepareConfigurations([PIPER_DEFAULTS].plus(script.commonPipelineEnvironment.getCustomDefaults()), ADDITIONAL_CONFIGS_FOLDER)
writeFile(file: "${METADATA_FOLDER}/${METADATA_FILE}", text: libraryResource(METADATA_FILE))