无法访问传递给jenkins构建脚本的自定义参数
我想将web钩子中的一些参数添加到Jenkins发送的邮件中。我尝试了StackOverflow和其他地方提供的解决方案。还没有成功 我已准备好以下各项:无法访问传递给jenkins构建脚本的自定义参数,jenkins,Jenkins,我想将web钩子中的一些参数添加到Jenkins发送的邮件中。我尝试了StackOverflow和其他地方提供的解决方案。还没有成功 我已准备好以下各项: 选中这是一个参数化的构建 构建脚本看起来像http://JENKINS_URL/job/android02/buildWithParameters?token=&PARAM= 在邮件内容中,我尝试通过${PARAM},$PARAM访问自定义参数。 然而,在邮件中,我没有得到我设置的值。如果我为PARAM设置了默认值,它将正确显示在我收到的邮件
这是一个参数化的构建
http://JENKINS_URL/job/android02/buildWithParameters?token=&PARAM=
${PARAM}
,$PARAM
访问自定义参数。
然而,在邮件中,我没有得到我设置的值。如果我为PARAM
设置了默认值,它将正确显示在我收到的邮件中。我试过http://JENKINS_URL/job/android02/build?token=&PARAM=
URL以及以防万一。邮件将作为可编辑电子邮件通知
config发送李>
基本上,除了无法通过远程触发构建
选项访问已传递的自定义参数外,所有功能都正常工作
编辑1:
如果我在收到的邮件中为参数PARAM
保留默认值,例如,test
,我可以看到显示的test
。但是我需要得到我在构建脚本中传递的值。从“工具提示”中,当您单击“”旁边的问号时得到:
${ENV,var=“VARIABLENAME”}
从生成环境扩展为环境变量(此处指定为VARIABLENAME)。注意,这不包括构建脚本本身设置的任何变量,只包括Jenkins和其他插件设置的变量
因此,使用${ENV,var=“PARAM”}
谢谢你的回答。但不幸的是,它没有起作用。我在邮件内容中添加了
${ENV,var=“PARAM”}
,但在我收到的邮件中,它仍然是空的。如果我为PARAM
保留一些默认值,那么在邮件中我可以看到该值。我想得到我在脚本中设置的值。你引用的工具提示确实说,请注意,这不包括任何由构建脚本本身设置的变量,只包括由Jenkins和其他插件设置的变量,这是否意味着我不能这样做?真的很奇怪。为了让我正确理解,如果设置了默认值,默认值将在消息中可见。但当你用参数触发时,它是不可见的?您是否能够在生成步骤中访问该值,例如,参数值是否在Shell或批处理脚本步骤中可用?谢谢您的评论。问题是我对詹金斯的建筑还很陌生。我只想说说我在做什么。(1) 版本控制已经连接到一个python脚本,它向该脚本传递一组信息(如last commit msg、committer、revision等)。(2) 脚本从步骤1读取所需信息,并通过将其附加到PARAM
queryparam(http://JENKINS_URL/job/android02/buildWithParameters?token=XXXXXX&PARAM=blahblah
)我不知道您正在谈论的批处理脚本步骤。目前,我从django脚本创建了一个文件,它通过URL调用构建脚本,并将该文件附加到邮件中。好的,很好,您找到了一个临时解决方案。我提到的批处理脚本步骤是自由风格作业中的executeshell
或executewindows批处理脚本
步骤。你的工作类型是什么?