当前位置: 首页 > 面试题库 >

通过curl触发构建时如何设置Jenkins构建说明?

俞学
2023-03-14
问题内容

我正在尝试设置要触发的版本的版本说明,因为我正在启动该版本,到目前为止我还没有运气。

我遇到了一个解决方案将文本添加到由Jenkins远程API触发的构建页面中,我有点以这种方式工作(第一个命令将启动构建,第二个命令将设置最后一个的描述)建立):

curl -v -X POST "http://[myServer]/job/[jobName]/build"
curl -v -X POST "http://[myServer]/job/[jobName/lastBuild/submitDescription" --data-urlencode "description=test description"

但是,问题是,如果我刚刚启动的构建被排队/没有立即启动,“ lastBuild”将不引用我刚刚启动的构建,而是之前的那个(仍在构建中)。

所以我尝试了这样的事情:

payload='json={""description"":""test description""}'
curl -v -X POST -H "Content-Type: application/json" -d $payload "http://[myServer]/job/[jobName]/build"

但这实际上并没有设置描述。

有什么想法可以实现吗?


问题答案:

您始终可以拥有一个变量,并在初始调用时将构建说明传递到该变量中。然后在构建结束时,将变量输出到控制台并使用 Description Setterplugin 捕获。

编辑以澄清:

  • 安装 Description Setter插件
  • 在作业配置中,配置一个String参数,将其称为“ MyDescription ”,将默认值保留为空白。
  • 在构建步骤中的某个位置,“ Execute Shell ”或“ Execute Windows Batch Command ”类型echo Desc: $MyDescriptionecho Desc: %MyDescription%取决于您的操作系统。
  • 在构建后步骤中,选择“ 设置构建描述 ”。
    • 正则表达式 设置为^Desc: (.*)
    • 说明 设置为\1
  • 从命令行触发:

curl -v -X POST --data-urlencode "MyDescription=This is my desc" "http://[myServer]/job/[jobName]/buildWithParameters"
(上面是一行)



 类似资料:
  • 我在Jenkins中使用“构建用户变量插件”来获取导致触发的用户。这在手动触发时工作正常。当构建过程也由轮询P4触发时,BUILD_USER被设置为SCMTrigger。但是,当定期(时间)触发构建时,BUILD_USER为空。有没有办法设置时间触发时的BUILD_USER env变量?

  • 问题内容: 我已经安装了Description Setter插件,但是我不知道是否以及如何使用BUILD_ID,它在jenkins / env-vars.html /中以以下格式显示:“ 2005-08-22_23-59-59”(YYYY- MM-DD_hh-mm-ss)。有谁知道我是否可以使用它以及如何使用? 显示BUILD_ID是向构建描述添加时间戳的最简单方法,但是如果不可能,如何实现? 谢

  • 问题内容: 我有一个jenkins管道,其设置如下,其中Build A是管道的开始,并在完成时触发构建B,依此类推(如下所示)。到目前为止,我已经实现了Build A,B和C。我使用了Jenkins参数化的Trigger插件作为构建后的动作来触发我的构建。 无论如何,在构建B完成之后,有什么我可以根据构建B之后的构建用fork启动构建的参数的方法,如下所示。Build C和Build D是将部署到

  • 问题内容: 我正在尝试用一个使用Jenkins管道插件并从项目存储库加载a的新任务替换当前使用旧式Jenkins作业被黑客入侵的当前构建管道。 遗留作业所做的一件事是使用Description setter插件将构建说明设置为包含Mercurial哈希,用户名和当前版本,以便轻松查找构建。 有没有办法用Jenkins管道插件复制/模拟这种行为? 问题答案: 只是想通了。管道作业公开具有可写属性的全

  • 我有一个子模块a,它不是一个独立的应用程序。它需要主应用程序才能工作。我想为创建一个CI构建,这样每当提交被推送到时,它就会触发一个具有主项目代码的构建。 我在詹金斯怎么做? 我需要做的是: 提交会触发生成 如何使用Jenkins和GIT做到这一点? 注意,我有多个子模块的项目。子模块A触发一个构建,该构建从A中提取最新的更改以及最新的主代码,并从其他子模块中提取更新。

  • 问题内容: 我在Jenkins中配置了项目,该项目轮询SCM并在发布更改时开始构建。有一个后构建动作来构建另一个项目。我的问题是,之后要构建的项目具有其自己的参数。如何知道生成后操作触发时指定了哪个参数?现在,如果我使用“选择”,是否只是选择第一个?我如何挑选其他人? 问题答案: 好吧,让我们一个接一个:) 如果要查看使用了哪个参数,可以安装此插件:显示构建参数插件 如果要使用特定参数触发构建,请