在我的代码中有一个java String变量,比如说
第一个月
在jenkins中运行此代码后,我在post build actions -> Slack Notification(外部插件)下的自定义消息中发送了一些数据。
像明智的,我需要得到上述变量值也自定义消息
尝试的方法:
我把上面提到的变量作为系统变量,System.setProperty("jenkinsVariableToAccessInPostAction", jenkinsVariable)
个
在构建后操作-> Slack通知(外部插件)->自定义消息中,尝试使用${ENV,jenkinsVariableToAccessInPostAction}
个${ENV.jenkinsVariableToAccessInPostAction}
个
但是上面提到的两种方法都不起作用。我在slack消息中打印了${ENV,jenkinsVariableToString InPostAction}和${ENV. jenkinsVariableToString InPostAction}本身
1条答案
按热度按时间b91juud31#
基本上,你试图在Java应用程序和正在执行的Jenkins管道之间共享数据,这是不可能的,直接通过设置环境变量,因为它只影响当前运行的会话,而不是Jenkins文件存储的环境对象-你试图访问。
克服这个问题的最简单方法是将所需的相关数据(在本例中为参数及其值)写入文件,然后通过管道读取文件并提取相关数据。
例如,在java应用程序中创建一个名为
params.properties
的文件,并以properties文件格式向其中写入所需的参数:字符串
然后在你的post build中,使用readProperties步骤读取这个文件,你将在返回的字典中获得所需的值。
型
当然,您可以为参数文件使用不同的格式,如Yaml或Json,然后使用相关的管道步骤来读取它们。