Skip to main content
Version: v0.21

GitHub

Summary

This plugin collects GitHub data through REST API and GraphQL API. It then computes and visualizes various DevOps metrics from the GitHub data, which helps tech leads, QA and DevOps engineers, and project managers to answer questions such as:

  • Is this month more productive than last?
  • How fast do we respond to customer requirements?
  • Was our quality improved or not?

Supported Versions

Available for GitHub Cloud. Check this doc for more details.

Entities

Check out the GitHub 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 GitHub:

Configuration

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": "github",
"options": {
"connectionId": 1,
"scopeId": "384111310",
"transformationRules":{
"deploymentPattern":"",
"productionPattern":"",
"issueComponent":"",
"issuePriority":"(high|medium|low)$",
"issueSeverity":"",
"issueTypeBug":"(bug)$",
"issueTypeIncident":"",
"issueTypeRequirement":"(feature|feature-request)$",
"prBodyClosePattern":"",
"prComponent":"",
"prType":""
}
}
}
]
]
}
'

or

curl 'http://localhost:8080/pipelines' \
--header 'Content-Type: application/json' \
--data-raw '
{
"name": "project1-BLUEPRINT",
"blueprintId": 1,
"plan": [
[
{
"plugin": "github",
"options": {
"connectionId": 1,
"owner": "apache",
"repo": "incubator-devlake",
"transformationRules":{
"deploymentPattern":"",
"productionPattern":"",
"issueComponent":"",
"issuePriority":"(high|medium|low)$",
"issueSeverity":"",
"issueTypeBug":"(bug)$",
"issueTypeIncident":"",
"issueTypeRequirement":"(feature|feature-request)$",
"prBodyClosePattern":"",
"prComponent":"",
"prType":""
}
}
}
]
]
}
'

References