Skip to content

How to trigger renovatebot runs using the command line

Warning

On-demand triggering of renovatebot is currently experimental and may change over time as we learn more about how people use this feature. If you have any feedback, please open an issue in the appropriate GitLab project.

Ordinarily there are many hours between runs of renovatebot on a project. This is frustrating if, for example, you need renovatebot to rebase or retry a Merge Request or if you can see MRs pending in the Dependency Dashboard and want them opened.

This guide covers how you can trigger a renovatebot run yourself from the command line.

Prerequisites

Triggering a run

Make sure you are authenticated as a gcloudadmin user:

gcloud auth login
Do not use gcloud auth application-default login.

We do not use gcloud auth application-default login as we would when, for example, running logan. This is because we want to use gcloud auth print-identity-token to generate an authentication token for the triggering API and that requires that we authenticate ourselves to the gcloud tool itself.

When authenticated as a gcloudadmin user, you are able to trigger a run against any project under uis/devops. For example, to trigger a run against uis/devops/experiments/example:

http POST \
    "https://europe-west2-gitlab-bots-prod-364942b0.cloudfunctions.net/renovatebot-trigger-8d99" \
    "Authorization:bearer $(gcloud auth print-identity-token)" \
    "projects[0]=uis/devops/experiments/example"

The command should output something similar to:

HTTP/1.1 200 OK
Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
Content-Length: 134
Content-Type: application/json
Date: Thu, 21 Nov 2024 11:04:51 GMT
Function-Execution-Id: 3uu6cjyk4f8s
Server: Google Frontend
X-Cloud-Trace-Context: 589f7775ce0664740b175b9446173e2a;o=1

{
    "jobs": "trigger-api-cfdbca5f08d50cceec3a24f61ee71f47",
    "projects": [
        "uis/devops/experiments/example"
    ],
    "status": "triggered"
}

A manually triggered run of renovatebot involves the creation and provisioning of a one-off VM for the run and so it can take up to 10 minutes for a run to complete. The job id can be reported to Developer Experience if a run of renovatebot doesn't seem to have happened within a reasonable amount of time.

Important

To guard against inadvertently keeping the renovatebot VM running it will be automatically destroyed after a few minutes. To ensure that renovatebot can finish before the VM is destroyed, you are currently limited to triggering a run against one project at a time.

Summary

In this guide you learned how to trigger a run of renovatebot for a GitLab project from the command line.

Next steps