CloudBees Docker Hub/Registry Notification

This plugin provides integration between

  • Jenkins and Docker Hub
  • Jenkins and Docker Registry 2.0

, utilizing webhooks to trigger one (or more) Jenkins job(s). This allows you to implement continuous delivery pipelines based on Docker in Jenkins.

Upon receiving a new image notification, Jenkins will trigger all jobs that have the Docker Hub/Registry trigger enabled and use the incoming Docker image as part of the Build. A DockerHub Pull build step is provided to retrieve the latest image from Hub.

Configuring Docker Hub

Configure your Docker Hub repository with a webhook to your public jenkins instance http://JENKINS/dockerhub-webhook/notify

In your hub.docker.com repository, you can find the "webhooks" section and point it to your jenkins instance:

Configuring Docker Registry 2.0

Follow Docker Registry 2.0 documentation on how to configure registry so that it would send notifications to http://JENKINS/dockerregistry-webhook/notify

The simplest viable configuration looks like this:

  notifications:
    endpoints:
      - name: jenkinslistener
        url: http://JENKINS/dockerregistry-webhook/notify
        timeout: 500ms
        threshold: 5
        backoff: 1s

Examples

Payloads submitted by the hub:

Payloads submitted by the registry:

The plugin can be tested with

    curl -X POST -H "Content-Type: application/json" http://localhost:8080/jenkins/dockerhub-webhook/notify -d @src/test/resources/public-repository-payload.json