如何通过Web钩子从Docker Hub与Jenkins进行通信?

似乎有很多的例子来轮询GitHub,但我怎么能轮询docker集线器和触发一个基于它的构build?

我在Docker Hub中有一个webhook,用于自动构build,但是我不知道如何在Jenkins中进行轮询。

似乎有这个Jenkins插件: https : //wiki.jenkins-ci.org/display/JENKINS/DockerHub+Plugin

但是,据我了解,自从Docker Hub发生API更改以来,该插件已被破坏。

更新:

看起来答案是使用“构build触发器”下的“触发器构build远程”选项,但由于匿名不具有构build权限而失败。 然后我切换到使用这个插件: https : //wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin

所以这个URL变成这样: https : //jenkinsserver.com/buildByToken/build?job=test&token=test

如果我通过浏览器(甚至隐身)而不是cURL POST到该URL,这是有效的。 我得到:

$ curl -X POST https://jenkinsserver.com/buildByToken/build?job=test&token=test <html><head><meta http-equiv='refresh' content='1;url=/securityRealm/commenceLogin?from=%2FbuildByToken%2Fbuild%3Fjob%3Dtest'/><script>window.location.replace('/securityRealm/commenceLogin?from=%2FbuildByToken%2Fbuild%3Fjob%3Dtest');</script></head><body style='background-color:white; color:white;'> Authentication required <!-- You are authenticated as: anonymous Groups that you are in: Permission you need to have (but didn't): hudson.model.Hudson.Read ... which is implied by: hudson.security.Permission.GenericRead ... which is implied by: hudson.model.Hudson.Administer --> </body></html> 

但是,如果我这样做,我可以通过cURL来实现它:

 curl -X POST https://user:token@jenkinsserver.com/buildByToken/build?job=test&token=test 

但是,Docker Hub不喜欢那个URL … 在这里输入图像说明

我在这里错过了什么? 我甚至在正确的轨道上? 如果你是一个从Docker Hub webhook触发和Jenkins任务的人,你是怎么做到的?

作者的话说:这个插件的开发确实处于hibernate状态,但可以在任何时候复活,特别是在具体的使用情况下。 当DockerHub钩子被宣布时,我创build了这个插件作为一个PoC,但是没有具体的用法来做进一步的实验。 随意贡献,使插件可以支持自己的使用。