GitLab
Summary
This plugin collects GitLab data through API. It then computes and visualizes various DevOps metrics from the GitLab data, which helps tech leads, QA and DevOps engineers, and project managers to answer questions such as:
- How long does it take for your codes to get merged?
- How much time is spent on code review?
- How long does it take for your codes to get merged?
- How much time is spent on code review?
Supported Versions
Available for GitLab Cloud, Community Edition 11+. Check this doc for more details.
Entities
Check out the GitLab 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 GitLab:
- Commit Count
- Commit Author Count
- Added Lines of Code
- Deleted Lines of Code
- PR Count
- PR Cycle Time
- PR Coding Time
- PR Pickup Time
- PR Review Time
- PR Deploy Time
- PR Time To Merge
- PR Merge Rate
- PR Review Depth
- PR Size
- 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 GitLab via config-ui.
- Configuring GitLab 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": "gitlab",
"options": {
"connectionId": 1,
"projectId": 33728042,
"transformationRules":{
"deploymentPattern":"",
"productionPattern":"",
"issueComponent":"",
"issuePriority":"(high|medium|low)$",
"issueSeverity":"",
"issueTypeBug":"(bug)$",
"issueTypeIncident":"",
"issueTypeRequirement":"(feature|feature-request)$",
"prBodyClosePattern":"",
"prComponent":"",
"prType":""
}
}
}
]
]
}
'