Your configuration inherits from the default configuration located at [https://github.com/SAP/jenkins-library/blob/master/resources/default_pipeline_environment.yml](https://github.com/SAP/jenkins-library/blob/master/resources/default_pipeline_environment.yml).
!!! caution "Adding custom parameters"
Please note that adding custom parameters to the configuration is at your own risk.
We may introduce new parameters at any time which may clash with your custom parameters.
Following data (non-personal) is collected for example:
* Hashed job url, e.g. `4944f745e03f5f79daf0001eec9276ce351d3035` hash calculation is done in your Jenkins server and no original values are transmitted
* Name of library step which has been executed, like e.g. `artifactSetVersion`
* Certain parameters of the executed steps, e.g. `buildTool=maven`
This is done with either of the following two ways:
1. General deactivation in your `.pipeline/config.yml` file by setting the configuration parameter `general -> collectTelemetryData: false` (default setting can be found in the [library defaults](https://github.com/SAP/jenkins-library/blob/master/resources/default_pipeline_environment.yml)).
**Please note: this will only take effect in all steps if you run `setupCommonPipelineEnvironment` at the beginning of your pipeline**
2. Individual deactivation per step by passing the parameter `collectTelemetryData: false`, like e.g. `setVersion script:this, collectTelemetryData: false`
## Collecting telemetry and logging data for Splunk
Splunk gives the ability to analyze any kind of logging information and to visualize the retrieved information in dashboards.
To do so, we support sending telemetry information as well as logging information in case of a failed step to a Splunk Http Event Collector (HEC) endpoint.
The following data will be sent to the endpoint if activated:
The information will be sent to the specified Splunk endpoint in the config file. By default, the Splunk mechanism is
deactivated and gets only activated if you add the following to your config:
```yaml
general:
gitSshKeyCredentialsId: GitHub_Test_SSH
steps:
cloudFoundryDeploy:
deployTool: 'cf_native'
cloudFoundry:
org: 'testOrg'
space: 'testSpace'
credentialsId: 'MY_CF_CREDENTIALSID_IN_JENKINS'
hooks:
splunk:
dsn: 'YOUR SPLUNK HEC ENDPOINT'
token: 'YOURTOKEN'
index: 'SPLUNK INDEX'
sendLogs: true
```
`sendLogs` is a boolean, if set to true, the Splunk hook will send the collected logs in case of a failure of the step.
If no failure occurred, no logs will be sent.
### How does the sent data look alike
In case of a failure, we send the collected messages in the field `messages` and the telemetry information in `telemetry`. By default, piper sends the log messages in batches. The default length for the messages is `1000`. As an example:
If you encounter an error in a step that created `5k` log messages, piper will send five messages containing the messages and the telemetry information.
## Access to configuration in custom library steps
Within library steps the `ConfigurationHelper` object is used.
You can see its usage in all the Piper steps, for example [newmanExecute](https://github.com/SAP/jenkins-library/blob/master/vars/newmanExecute.groovy#L23).