Jenkins New Relic Insights Plugin
This is a Jenkins Plugin which allows users to send custom events to new relic insights.
Set up
Credentials
Set up a "New Relic Insights Key" credential
Usage
Add key value data points to submit with a custom event.
eventType key is required
Freestyle Job
Scripted Pipeline
Two options exist for sending data with a custom event in a scripted pipeline.
Key Value Data Points
node {
// assemble key value keyValues points
def secrets = [
[$class: 'KeyValue', key: 'eventType', value: 'test_deployment'],
[$class: 'KeyValue', key: 'appId', value: '888']
]
// call build step with key value keyValues points
step([$class: 'NewRelicInsights',
credentialsId: '291ff5f2-a93f-4d5a-8e56-a43d61475fc7',
keyValues: secrets])
}Groovy Map
node {
// a simpler option for pipelines
def json = [eventType: 'test_deployment', appId: '888']
// call build step with map
step([$class: 'NewRelicInsights',
credentialsId: '291ff5f2-a93f-4d5a-8e56-a43d61475fc7',
json: json])
}Insights only accepts key-value pairs, not map/object or array values. Only floats and strings are supported data types. See Insights Docs for more information.
Querying in Insights
All of the above examples would appear as below in insights:
Insights Dashboard Examples
Deployment Metrics
For more information, please see new relic insights.
Development
Maven Tasks
Here is a list of maven tasks that I use on this project:
- mvn verify: runs all tests
- mvn package: creates the
hpiplugin archive to be used with Jenkins - mvn hpi:run -Djetty.port=8090: runs the Jenkins server (with the plugin pre-loaded) on port 8090
License
This project is distributed under the MIT license.
TODO
- Seperate out eventType from generic keyValues object
- Support variables in freestyle
- Support pipeline
- Surface a cleaner way to pass the keyValues via pipeline
- Implement proper build wrapper pipeline step
newrelicInsights credentialsId: '', keyValues: keyValues, json: jsonReference credit
https://github.com/jenkinsci/newrelic-deployment-notifier-plugin



