Search code examples
gitlabcode-coveragegitlab-apipython-gitlab

Retrieving project coverage with python-gitlab


I use the python-gitlab module to retrieve the project statistics for a number of projects in Gitlab via its API. One of the values I want to get is the CI status and the code coverage. While the status is easy:

from gitlab import Gitlab
gl = Gitlab('http://gitlab.example.com')
project = gl.projects.get('olebole/myproject')
branch = project.branches.get(project.default_branch)
commit = project.commits.get((branch.commit['id'])
print(commit.last_pipeline['status'])

I didn't find a way to retrieve the coverage; also adding with_stats=True to the commit retrieval didn't make it.

How can one get this value?


Solution

  • This is in the pipeline object:

    pipeline = project.pipelines.get(commit.last_pipeline['id'])
    print(pipeline.status, pipeline.coverage)