GitHub is one of the Code Repositories supported in CloudMunch. Metrics can be pulled for one or more repos individually or aggregated at the organization level across all the repositories. CloudMunch pulls commits, parses the comments and generates metrics & visualizations.
GitHub integration configuration consists of two steps
- Authentication - OAuth or Basic authentication mechanisms are supported for GitHub.
Depending on whether your team is created on CloudMunch installed on-premise or SaaS service, additional configuration is required to enable OAuth to work successfully. To setup OAuth for on-premise installation follow this guide. For CloudMunch SaaS edition, simply select the OAuth option in the configuration screen. You will be redirected to the GitHub authentication page which will allow you to enter your GitHub credentials and register CloudMunch as an application that can access your repository data. You can also allow the scope to include access to Organization data.
Basic Authentication is accomplished through Personal Access Tokens. You can get more information about setting up Personal Access Tokens here. Select the don't use OAuth for authentication and enter the token.
- Repository selection - This involves picking one or more repositories for which metrics need to be generated. The credentials provided enables getting a list of repositories that are accessible. For each repository, the widgets for an individual repository are created.
- Regex for Story and Defect parsing - Regular expression pattern can be specified to parse the commit messages for Story and Defect separately. You can configure either both, one or skip this. Several metrics like files/story, commits/story depend on the pattern.
Here are the list of metrics created for GitHub integration.
|User Commits||Tracks the number of commits by users ordered by the commits count|
|Highest Commits||Count and user with the highest commits|
|Commits - Trend by Day||Commits into the Repository trend by day for the last seven days.|
|Commits - Trend by Sprints||Correlating total commits to the various Sprints (last four), if a Project management integration is configured.|
|Avg Commits/Story (Trend by Day, Month, Sprint)||Average number of commits per story (if story regex is specified)|
|Avg Files/Commit (Trend by Day, Month, Sprint)||Average number of files changed per commit|
|Avg Files/Story (Trend by Day, Month, Sprint)||Average number of files changed per story (if story regex is specified)|
|Avg Items/Commit (Trend by Day, Month, Sprint)||Average number of distinct files added/updated per commit|
|Commits - No Stories/Defects||Percentage of commits to stories vs defects|
|Avg Time/Story (Trend by Day, Month, Sprint)||Average time for a story (if story regex is specified - the time between the first and last commit for that story)|
|Peak Day||Peak day with the most commits across all the repositories. (Organization related)|
|Size Trend by Day||Trend of the size of the repos by Day across all the repositories. (Organization related)|
|Pull Requests Trend by Day||Trend of the size of the repos by Day across all the repositories. (Organization related)|
|Repo Commits Trend by Day||Trend of total commits by Day across all the repositories. (Organization related)|
|Top Repos by Size||Top repositories by size in the Org.|
|Top Repos by Pull Requests||Top repositories by Pull Requests in the Org.|
|Top Repos by Commits||Top repositories by Commits in the Org.|