跳到主要内容
版本:v0.18

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​