53

How do I create badges for my project in gitlab?

I know there is a webpage for it here https://docs.gitlab.com/ee/user/project/badges.html

but I have no idea what they are saying.

suppose my project is here https://gitlab.com/username/userproject

what should be the link and the badge image link?

bn4t
  • 1,448
  • 1
  • 11
  • 23
trial guy
  • 561
  • 1
  • 4
  • 4
  • Please, check the comments on docs.gitlab link . There're people also asking for examples, here some links: - https://gitlab.com/gitlab-org/gitlab-ce/issues/46188 - https://gitlab.com/gitlab-org/gitlab-ce/issues/41174 – jordivador May 30 '18 at 13:08

3 Answers3

46

There are two default badges: Pipeline and Coverage. The example URLs would be:

https://gitlab.com/username/userproject/badges/master/pipeline.svg
https://gitlab.com/username/userproject/badges/master/coverage.svg
  • For pipeline you have to set up a buildserver pipeline (.gitlab-ci.yml).
  • For coverage you have to enter a regex parsing expression in the settings for CI.

But you can also set up custom badges. But you have to create them on your own. For public repos you can use an service like Shields.io or private repos you can use AnyBadge (needs an python interpreter in build chain. Here is an example how to set up a custom badge: Adding Custom badges to Gitlab

When you look at bigger repositories (for example this), you can have a look at the path of the images and see where they are created.

Sir2B
  • 1,029
  • 1
  • 10
  • 17
29

Usually you can get the url for the badges from the respective services.

For example the url of the pipeline batch for your repo would be:

https://gitlab.com/username/userproject/badges/master/pipeline.svg)


For adding it to the README you would use following markdown code:

[![pipeline status](https://gitlab.com/user/userproject/badges/master/pipeline.svg)](https://gitlab.com/user/userproject/commits/master)

Note: This badge is the pipeline badge for the master branch. For a pipeline badge of a different branch you'd simply replace master with the respective branch name.

File from the screenshot: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/README.md

chrimaho
  • 580
  • 4
  • 22
bn4t
  • 1,448
  • 1
  • 11
  • 23
2

If you don't want to hard code the path, you can construct it using gitlab variables. e.g.

For pipeline - https://gitlab.com/%{project_path}/badges/%{default_branch}/pipeline.svg

For Code Coverage - https://gitlab.com/%{project_path}/badges/%{default_branch}/coverage.svg

For Release information - https://gitlab.com/%{project_path}/-/badges/release.svg

vishal shah
  • 177
  • 5