#Core concepts

#How it works

When we developed Pmbot, we tried to replicate how we updated our own repositories manually. In practice, a developer would:

  • clone the repository
  • updated the dependencies on a new branch, say update/npm
  • check that everything builds and that all tests pass
  • commit and push
  • wait for CI pipelines to complete and pass
  • merge the update branch into the main branch
  • notify others that the update was successful

Pmbot basically automates this behavior by interacting with your Git server and CI platforms.

#CI Providers

CI providers are used by Pmbot to trigger updates of specific Git repositories on your CI platform. When you configure them, you generally provides settings such as the platform URL and set credentials so that Pmbot can make the proper API calls.


Repositories allow you to configure how to update a given repository on a given CI platform. They allow you to track updates and set schedules.


Schedules allow you to define which branches to update, and when to update them. You can configure the timezone and select predefined schedules or use custom cron sequences.


Updates are created each time a schedule expires (or when its manually created through the UI). They are groups of dependency updates for various package managers, on a given repository.


To configure a given repository is updated, you place at it's root a .pmbot.yml file. It allows you to define which package managers to use and fine tune how dependencies of a given package manager are updated. We have made sure that you can set things like commit messages, version policies, etc.