Gitlab Pond
Metrics
Metric Name |
Description |
Pull Request Count |
Number of Pull/Merge Requests |
Pull Request Pass Rate |
Ratio of Pull/Merge Review requests to merged |
Pull Request Reviewer Count |
Number of Pull/Merge Reviewers |
Pull Request Review Time |
Time from Pull/Merge created time until merged |
Commit Author Count |
Number of Contributors |
Commit Count |
Number of Commits |
Added Lines |
Accumulated Number of New Lines |
Deleted Lines |
Accumulated Number of Removed Lines |
Pull Request Review Rounds |
Number of cycles of commits followed by comments/final merge |
Configuration
Provider (Datasource) Connection
The connection aspect of the configuration screen requires the following key fields to connect to the GitLab API. As GitLab is a single-source data provider at the moment, the connection name is read-only as there is only one instance to manage. As we continue our development roadmap we may enable multi-source connections for GitLab in the future.
- Connection Name [
READONLY
]
- ⚠️ Defaults to "Gitlab" and may not be changed.
- Endpoint URL (REST URL, starts with
https://
or http://
)
- This should be a valid REST API Endpoint eg.
https://gitlab.example.com/api/v4/
- ⚠️ URL should end with
/
- Personal Access Token (HTTP Basic Auth)
For help on Creating a personal access token, please see official GitLab Docs on Personal Tokens
For an overview of the GitLab REST API, please see official GitLab Docs on REST
Click Save Connection to update connection settings.
Provider (Datasource) Settings
There are no additional settings for the GitLab Datasource Provider at this time.
NOTE: GitLab Project ID
Mappings feature has been deprecated.
Gathering Data with Gitlab
In order to collect data, you have to compose a JSON looks like following one, and send it by selecting Advanced Mode
on Create Pipeline Run
page:
- Configure-UI Mode
[
[
{
"plugin": "gitlab",
"options": {
"projectId": <Your gitlab project id>
}
}
]
]
and if you want to perform certain subtasks.
[
[
{
"plugin": "gitlab",
"subtasks": ["collectXXX", "extractXXX", "convertXXX"],
"options": {
"projectId": <Your gitlab project id>
}
}
]
]
- Curl Mode:
You can also trigger data collection by making a POST request to
/pipelines
.
curl --location --request POST 'localhost:8080/pipelines' \
--header 'Content-Type: application/json' \
--data-raw '
{
"name": "gitlab 20211126",
"tasks": [[{
"plugin": "gitlab",
"options": {
"projectId": <Your gitlab project id>
}
}]]
}
'
and if you want to perform certain subtasks.`
curl --location --request POST 'localhost:8080/pipelines' \
--header 'Content-Type: application/json' \
--data-raw '
{
"name": "gitlab 20211126",
"tasks": [[{
"plugin": "gitlab",
"subtasks": ["collectXXX", "extractXXX", "convertXXX"],
"options": {
"projectId": <Your gitlab project id>
}
}]]
}
'
Finding Project Id
To get the project id for a specific Gitlab
repository:
Use this project id in your requests, to collect data from this project
⚠️ (WIP) Create a Gitlab API Token
-
When logged into Gitlab
visit https://gitlab.com/-/profile/personal_access_tokens
-
Give the token any name, no expiration date and all scopes (excluding write access)

-
Click the Create Personal Access Token button
-
Save the API token into .env
file via cofnig-ui
or edit the file directly.