我的Jenkins正在构建的Java应用程序中有一个字符串变量。 Jenkins构建完成后,它将向我们的内部Messenger发送通知。我需要将此Java字符串包括在通知消息中。该字符串不是常量。它是动态的,并且取决于Java应用程序中处理的请求所返回的响应。
当前,通知消息包含内部版本的元数据-状态,内部版本号,作业名称。詹金斯通过获取各个环境变量的值来获取这些值。
如何在Jenkins中获取Java字符串变量的值?
答案 0 :(得分:1)
根据我们之前的评论,我想您需要执行以下操作:
在Java应用中创建一个 API :此 API 需要发布具有已解析响应的操作(获得第三个服务响应的操作)。
从Jenkins调用此 API ,例如,使用 curl (如果需要,可以使用Groovy进行调用),类似这样的(假设您返回json响应):
//The next http://yourdomain... URL is the one your Java app will expose with your parsed response
def response = sh script: "curl 'http://yourdomain/api/v1/yourResource'", returnStdout: true
def jsonProcessed = readJSON text: response
//Do some post-process in Jenkins if you need to using readJSON. I just put a dummy raise error example (Check the readJSON link below)
if (jsonProcessed.key == 'whatever') {
error "Raise some error"
}
// Or directly the code to send the response to the messenger
// TODO Your sending code HERE
将Jenkins的回复发送给您的Messenger。
希望有帮助。