Jenkins
Summary
This plugin collects Jenkins data through Remote Access API. It then computes and visualizes various DevOps metrics from the Jenkins data, which helps tech leads and DevOps engineers to answer questions such as:
- What is the deployment frequency of your team?
- What is the build success rate?
- How long does it take for a code change to be deployed into production?
Note
Please note that it is important to avoid rerunning Jenkins builds in place, and instead ensure that each rerun has a unique build number. This is because rerunning builds with the same build number can lead to inconsistencies in the data collected by the Jenkins plugin.
Entities
Check out the Jenkins entities collected by this plugin.
Data Refresh Policy
Check out the data refresh policy of this plugin.
Metrics
Metrics that can be calculated based on the data collected from Jenkins:
- Build Count
- Build Duration
- Build Success Rate
- DORA - Deployment Frequency
- DORA - Lead Time for Changes
- DORA - Median Time to Restore Service
- DORA - Change Failure Rate
Configuration
- Configuring Jenkins via Config UI
- Configuring Jenkins via Config UI's advanced mode.
API Sample Request
You can trigger data collection by making a POST request to /pipelines
.
curl 'http://localhost:8080/pipelines' \
--header 'Content-Type: application/json' \
--data-raw '
{
"name": "project1-BLUEPRINT",
"blueprintId": 1,
"plan": [
[
{
"plugin": "jenkins",
"options": {
"connectionId": 1,
"scopeId": "auto_deploy",
"transformationRules":{
"deploymentPattern":"",
"productionPattern":""
}
}
}
]
]
}
'
or
curl 'http://localhost:8080/pipelines' \
--header 'Content-Type: application/json' \
--data-raw '
{
"name": "project1-BLUEPRINT",
"blueprintId": 2,
"plan": [
[
{
"plugin": "jenkins",
"options": {
"connectionId": 1,
"jobFullName": "auto_deploy",
"transformationRules":{
"deploymentPattern":"",
"productionPattern":""
}
}
}
]
]
}
'