首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在jenkins gerrit触发器的定制标签上发布选票?

如何在jenkins gerrit触发器的定制标签上发布选票?
EN

Stack Overflow用户
提问于 2015-01-01 18:49:16
回答 4查看 6.6K关注 0票数 7

我在用jenkins gerrit触发器插件。它确实触发了这项工作。问题是,工作完成后,詹金斯无法发送评论,因为我在gerrit中没有“验证”的标签。

我发现在配置中有部分(Jenkins -> Manager -> Gerrit触发器->单击Gerrit“编辑”按钮)。在该节中,有用于“验证”和“代码评审”的硬编码子节。另一小节是"Gerrit验证命令“,命令如下:

代码语言:javascript
运行
复制
gerrit review <CHANGE>,<PATCHSET> --message 'Build Successful <BUILDS_STATS>'  --verified <VERIFIED> --code-review <CODE_REVIEW>

如何在这里添加自定义标签?

我试图将命令更改为以下内容:

代码语言:javascript
运行
复制
gerrit review <CHANGE>,<PATCHSET> --message 'Build Successful <BUILDS_STATS>'  --acceptance-tests $ACCEPTANCE_TESTS_VOTE --code-quality $CODE_QUALITY_VOTE

从医生那里:

变量,并将具有上述定义的值。该变量将具有生成结果的URL。

您还可以使用使用$ENV_VAR语法启动的构建中的任何环境变量。

如何添加新的“参数”喜欢或如何传递环境变量?

我尝试过使用EnvInject插件,但是环境变量似乎没有填充值( jenkins的错误消息说没有$VAR参数)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-08 13:23:56

我在定制标签上发布+1/-1,方法是将gerrit触发器配置的高级部分中的命令更改为。

gerrit review <CHANGE>,<PATCHSET> --message 'Build Successful <BUILDS_STATS>' --label 'MyCustomVerifiedLabel=<VERIFIED>' --code-review <CODE_REVIEW>

票数 4
EN

Stack Overflow用户

发布于 2015-09-28 14:15:58

这个问题很老,但我也面临着同样的问题,我想分享我的解决方案:

安装:https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Postbuild+Plugin

使用以下脚本作为PostBuild。

它会对你有帮助:

  • 收集必要的环境变量和作业状态。
  • 构建反馈消息
  • 构建ssh命令
  • 执行ssh命令->向gerrit发送反馈 //收集当前构建作业的所有环境变量def env = manager.build.getEnvironment(manager.listener) //Get Gerrit更改号def change = env' Gerrit _ Change _ Number‘//Get Gerrit修补程序编号def =env’Gerrit_PATCHSET_ buildUrl‘/Get到当前作业的buildUrl =env’build _buildUrl‘//buildUrl到控制台输出的of =buildUrl+“buildUrl”(+1),并且将生成反馈消息.def结果= +1 def消息=“\\”静态代码分析成功-${buildUrl}\\“//.除了作业失败(-1).如果(manager.build.result.isWorseThan(hudson.model.Result.SUCCESS)){结果= -1消息=“\\”静态代码分析失败-${buildUrl}\\“}/.或作业被中止,如果(manager.build.result == hudson.model.Result.ABORTED){ manager.build.result==hudson.model.Result.ABORTED){manager.build.result==hudson.model.Result.ABORTED=”\\“静态代码分析中止-${buildConsoleUrl}\”}//通过ssh //-i到私有ssh路径发送反馈给Gerrit键def ssh_message = "ssh -i /path/to/jenkins/.ssh/key -p 29418 user@ gerrit gerrit review ${change},${修补程序}-标签=定制label=${result} --message=${message}“manager.listener.logger.println(新ProcessBuilder('bash','-c',ProcessBuilder)

我希望这将有助于您解决您的挑战,而不需要使用Gerrit触发器插件报告。

票数 11
EN

Stack Overflow用户

发布于 2015-01-05 15:14:08

$ENV_VAR语法仅适用于构建启动的消息,因为这是在上下文中只有一个构建的可能。

该插件目前(v.2.12)对它所知道的评审标签、假设验证和代码评审都有一些独到的见解。但是,通过编辑已验证的命令,您可以更改Jenkins中的验证和代码评审在Gerrit中的含义。例如

代码语言:javascript
运行
复制
gerrit review <CHANGE>,<PATCHSET> --message 'Build Successful <BUILDS_STATS>'  --acceptance-tests <VERIFIED> --code-quality <CODE_REVIEW>

插件开发人员之间一直在讨论添加可配置标签支持,但是代码评审和验证假设在代码中运行得很深,所以这不是一个简单的修复方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27733592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档