mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
98139bb498
* influxWriteData - support Influx tags In order to better query data in Influx, tags needs to be written. This change allows filling tag data via the Influx plugin.
138 lines
4.1 KiB
Groovy
138 lines
4.1 KiB
Groovy
class commonPipelineEnvironment implements Serializable {
|
|
Map configProperties = [:]
|
|
|
|
//stores version of the artifact which is build during pipeline run
|
|
def artifactVersion
|
|
|
|
//Stores the current buildResult
|
|
String buildResult = 'SUCCESS'
|
|
|
|
//stores the gitCommitId as well as additional git information for the build during pipeline run
|
|
String gitCommitId
|
|
String gitSshUrl
|
|
String gitHttpsUrl
|
|
String gitBranch
|
|
|
|
//GiutHub specific information
|
|
String githubOrg
|
|
String githubRepo
|
|
|
|
//stores properties for a pipeline which build an artifact and then bundles it into a container
|
|
private Map appContainerProperties = [:]
|
|
|
|
Map configuration = [:]
|
|
Map defaultConfiguration = [:]
|
|
|
|
//each Map in influxCustomDataMap represents a measurement in Influx. Additional measurements can be added as a new Map entry of influxCustomDataMap
|
|
private Map influxCustomDataMap = [pipeline_data: [:], step_data: [:]]
|
|
//each Map in influxCustomDataMapTags represents tags for certain measurement in Influx. Tags are required in Influx for easier querying data
|
|
private Map influxCustomDataMapTags = [pipeline_data: [:]]
|
|
//influxCustomData represents measurement jenkins_custom_data in Influx. Metrics can be written into this map
|
|
private Map influxCustomData = [:]
|
|
//influxCustomDataTags represents tags in Influx. Tags are required in Influx for easier querying data
|
|
private Map influxCustomDataTags = [:]
|
|
|
|
String mtarFilePath
|
|
|
|
String transportRequestId
|
|
String changeDocumentId
|
|
|
|
def reset() {
|
|
appContainerProperties = [:]
|
|
artifactVersion = null
|
|
|
|
configProperties = [:]
|
|
configuration = [:]
|
|
|
|
gitCommitId = null
|
|
gitSshUrl = null
|
|
gitHttpsUrl = null
|
|
gitBranch = null
|
|
|
|
githubOrg = null
|
|
githubRepo = null
|
|
|
|
influxCustomData = [:]
|
|
influxCustomDataTags = [:]
|
|
influxCustomDataMap = [pipeline_data: [:], step_data: [:]]
|
|
influxCustomDataMapTags = [pipeline_data: [:]]
|
|
|
|
mtarFilePath = null
|
|
|
|
transportRequestId = null
|
|
changeDocumentId = null
|
|
}
|
|
|
|
def setAppContainerProperty(property, value) {
|
|
appContainerProperties[property] = value
|
|
}
|
|
|
|
def getAppContainerProperty(property) {
|
|
return appContainerProperties[property]
|
|
}
|
|
|
|
def setConfigProperty(property, value) {
|
|
configProperties[property] = value
|
|
}
|
|
|
|
def getConfigProperty(property) {
|
|
if (configProperties[property] != null)
|
|
return configProperties[property].trim()
|
|
else
|
|
return configProperties[property]
|
|
}
|
|
|
|
// goes into measurement jenkins_data
|
|
def setInfluxCustomDataEntry(field, value) {
|
|
influxCustomData[field] = value
|
|
}
|
|
// goes into measurement jenkins_data
|
|
def getInfluxCustomData() {
|
|
return influxCustomData
|
|
}
|
|
|
|
// goes into measurement jenkins_data
|
|
def setInfluxCustomDataTagsEntry(tag, value) {
|
|
influxCustomDataTags[tag] = value
|
|
}
|
|
|
|
// goes into measurement jenkins_data
|
|
def getInfluxCustomDataTags() {
|
|
return influxCustomDataTags
|
|
}
|
|
|
|
void setInfluxCustomDataMapEntry(measurement, field, value) {
|
|
if (!influxCustomDataMap[measurement]) {
|
|
influxCustomDataMap[measurement] = [:]
|
|
}
|
|
influxCustomDataMap[measurement][field] = value
|
|
}
|
|
def getInfluxCustomDataMap() {
|
|
return influxCustomDataMap
|
|
}
|
|
|
|
def setInfluxCustomDataMapTagsEntry(measurement, tag, value) {
|
|
if (!influxCustomDataMapTags[measurement]) {
|
|
influxCustomDataMapTags[measurement] = [:]
|
|
}
|
|
influxCustomDataMapTags[measurement][tag] = value
|
|
}
|
|
def getInfluxCustomDataMapTags() {
|
|
return influxCustomDataMapTags
|
|
}
|
|
|
|
def setInfluxStepData(key, value) {
|
|
setInfluxCustomDataMapEntry('step_data', key, value)
|
|
}
|
|
def getInfluxStepData(key) {
|
|
return influxCustomDataMap.step_data[key]
|
|
}
|
|
|
|
def setPipelineMeasurement(key, value) {
|
|
setInfluxCustomDataMapEntry('pipeline_data', key, value)
|
|
}
|
|
def getPipelineMeasurement(key) {
|
|
return influxCustomDataMap.pipeline_data[key]
|
|
}
|
|
}
|