GitProjectHealth
GitProjectHealth (GPH) is a set of importers, a meta-model, analyses and visualizations that let you study the history and the health of software repositories inside Moose.
With GitProjectHealth you can, for instance:
- list the repositories of a group or organization, and see which have failing pipelines;
- count commits, contributors, merge requests (pull requests) or code churn over a period;
- find who knows which part of a system (degree of authorship, truck factor);
- export dozens of metrics per user or per project in CSV;
- link commits and merge requests to Jira tickets, or to the source code entities of a Famix model.
Choose your importer
Section titled “Choose your importer”GitProjectHealth can read data from two kinds of sources: the REST API of a Git platform, and a local clone of a repository.
Each importer is a subclass of GitModelImporter and fills the same GLHModel.
| Importer | Class | Source | Commits & diffs | Merge requests, pipelines, notes | Speed |
|---|---|---|---|---|---|
| GitLab | GitlabModelImporter | GitLab REST API (gitlab.com or self-hosted) | ✅ | ✅ (most complete) | slow on big histories |
| GitHub | GithubModelImporter | GitHub REST API | ✅ | ✅ pull requests, workflow runs | slow, rate-limited |
| Bitbucket | BitBucketModelImporter | Bitbucket Server / Data Center REST API | ✅ | ✅ pull requests, comments | slow |
| Local | GitLocalModelImporter | a cloned repository on disk | ✅ | ❌ | fast |
| Mixed | GitModelMixedImporter | local clone and platform API | ✅ (from the clone) | ✅ (from the API) | fast for history |
Rule of thumb:
- you only need the history (commits, diffs, files, authors) → use the local importer;
- you need the social information (merge requests, reviews, pipelines) on a few projects → use a platform importer;
- you need both on large histories → use the mixed importer.
Documentation map
Section titled “Documentation map”Getting startedInstall GitProjectHealth and import your first repository in 10 minutes.
ImportersGitLab, GitHub, Bitbucket, local and mixed importers in detail.
Configuration referenceEvery importer option, its default value and its cost, plus the import methods supported by each platform.
Meta-modelEntities of a GLHModel and how to navigate between them.
RecipesReady-to-run scripts for common questions.
Metrics and analysesGitMetricExporter, the 50+ built-in metrics, churn, truck factor and degree of authorship.
VisualizationsInspector tabs and Roassal visualizations, with SVG and CSV export.
ConnectorsLink your Git model with Jira issues or with a Famix model of the code.
TroubleshootingCommon errors, API limits and the migration table for deprecated classes.