捕获远程触发的 Hudson 作业的版本号?

捕获远程触发的 Hudson 作业的版本号?

我有一个非常简单的内部 Web 应用程序,可以通过它远程触发某些 Hudson 构建(在另一台服务器上)。我可以毫无问题地触发构建,但我不知道如何捕获相关的构建号以供以后参考。

我正在使用buildWithParameters触发器,而该调用的实际结果只是一堆混乱的 HTML - 我不相信它会给我返回版本号。

我开始着手提取作业的整个构建列表(通过 api),然后尝试将该列表与我的记录进行核对 - 但这比我想要的要复杂得多。我还考虑过在启动作业后休眠几秒钟,然后从latestBuildHudson api 中获取 - 但我确信这在某个时候会出错(有人会快速启动两个作业,而我会弄错关联)。

答案1

我使用触发作业的服务器上的回调 URI 解决了这个问题。Hudson 作业所做的第一件事是curl http://example.com/callback/$BUILD_NUMBER(实际上还有另一个标识符,以便触发端可以正确匹配作业,但您明白我的意思)。

这样一来,触发侧就处于黑暗中,直到工作真正开始,但它可以正常工作。

相关内容