{"id":27928507,"url":"https://github.com/jenkinsci/coverage-model","last_synced_at":"2025-12-27T23:44:03.510Z","repository":{"id":152402896,"uuid":"614760956","full_name":"jenkinsci/coverage-model","owner":"jenkinsci","description":"Java API to parse and collect code coverage results","archived":false,"fork":false,"pushed_at":"2025-04-29T11:43:12.000Z","size":2448,"stargazers_count":6,"open_issues_count":0,"forks_count":39,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-29T12:54:02.327Z","etag":null,"topics":["cobertura","coverage","coverage-report","jacoco","junit","opencover","pit","pitest","vectorcast"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenkinsci.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-03-16T09:09:11.000Z","updated_at":"2025-04-29T11:43:22.000Z","dependencies_parsed_at":"2023-10-16T18:48:29.516Z","dependency_job_id":"ee13619b-ea59-4ef1-bf51-03eb67fd46df","html_url":"https://github.com/jenkinsci/coverage-model","commit_stats":null,"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fcoverage-model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fcoverage-model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fcoverage-model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fcoverage-model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkinsci","download_url":"https://codeload.github.com/jenkinsci/coverage-model/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252799159,"owners_count":21805950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cobertura","coverage","coverage-report","jacoco","junit","opencover","pit","pitest","vectorcast"],"created_at":"2025-05-07T02:21:05.005Z","updated_at":"2025-12-27T23:44:03.501Z","avatar_url":"https://github.com/jenkinsci.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Code coverage model \n\n[![Join the chat at Gitter/Matrix](https://badges.gitter.im/jenkinsci/code-coverage-api-plugin.svg)](https://gitter.im/jenkinsci/code-coverage-api-plugin?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n[![Jenkins](https://ci.jenkins.io/job/Plugins/job/coverage-model/job/main/badge/icon?subject=Jenkins%20CI)](https://ci.jenkins.io/job/Plugins/job/coverage-model/job/main/)\n[![CI on all platforms](https://github.com/jenkinsci/coverage-model/workflows/GitHub%20CI/badge.svg)](https://github.com/jenkinsci/coverage-model/actions/workflows/ci.yml)\n[![CodeQL](https://github.com/jenkinsci/coverage-model/workflows/CodeQL/badge.svg)](https://github.com/jenkinsci/coverage-model/actions/workflows/codeql.yml)\n[![Line Coverage](https://raw.githubusercontent.com/jenkinsci/coverage-model/main/badges/line-coverage.svg)](https://github.com/jenkinsci/coverage-model/actions/workflows/quality-monitor-comment.yml)\n[![Branch Coverage](https://raw.githubusercontent.com/jenkinsci/coverage-model/main/badges/branch-coverage.svg)](https://github.com/jenkinsci/coverage-model/actions/workflows/quality-monitor-comment.yml)\n[![Mutation Coverage](https://raw.githubusercontent.com/jenkinsci/coverage-model/main/badges/mutation-coverage.svg)](https://github.com/jenkinsci/coverage-model/actions/workflows/quality-monitor-comment.yml)\n\nThis library Provides a Java API to parse and collect code coverage results.\nIt is used by my [Jenkins' coverage plug-in](https://github.com/jenkinsci/coverage-plugin) to visualize\nthe coverage of individual builds.\n\n![Jenkins Coverage Plug-in Overview](doc/jenkins-1.png)\n![Jenkins Coverage Plug-in Files](doc/jenkins-2.png)\n\nAdditionally, this library is used by my additional [Quality Monitor GitHub Action](https://github.com/uhafner/quality-monitor), that monitors the quality of projects based on a configurable set of metrics and gives feedback on pull requests (or single commits) in GitHub.\nThere are also two additional actions available to autograde student software projects based\non these metrics: [GitHub Autograding action](https://github.com/uhafner/autograding-github-action) and [GitLab Autograding action](https://github.com/uhafner/autograding-gitlab-action).\n\n![Quality Monitor GitHub Action](doc/quality-monitor.png)\n\nThis library consists basically of two separate parts:\n\n1. A model to manage several metrics in a software project. Supported metrics are code coverage (line, branch, instruction), mutation coverage (mutation killed rate, test strength), tests (number of tests), and general software metrics (lines of code, non-commenting source statements, cyclomatic complexity, cognitive complexity, NPath-complexity, and class cohesion).\n2. Parsers for several code coverage and metric formats:\n    * [Cobertura](https://cobertura.github.io/cobertura/) code coverage results\n    * [Open Clover](https://openclover.org/) code coverage results\n    * [Go Coverage](https://go.dev/doc/build-cover) results\n    * [JaCoCo](https://www.jacoco.org/) code coverage results\n    * [LCOV](https://github.com/linux-test-project/lcov) code coverage results\n    * [OpenCover](https://github.com/OpenCover/opencover) code coverage results\n    * [VectorCAST](https://www.vector.com/int/en/products/products-a-z/software/vectorcast) code coverage results including MC/DC, Function, Function Call coverages\n    * [PIT](https://pitest.org/) mutation coverage results\n    * [JUnit](https://junit.org/junit5/) test results\n    * [NUnit](https://nunit.org) test results\n    * [XUnit](https://xunit.net) test results\n    * [PMD software metrics](https://github.com/uhafner/codingstyle-pom/blob/main/pom.xml#L945-L960) via a patched version of [PMD](https://pmd.github.io/)\n\nAll source code is licensed under the MIT license. Contributions to this library are welcome! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fcoverage-model","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkinsci%2Fcoverage-model","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fcoverage-model/lists"}