在Jenkins Active Choice反应参数中使用Groovy执行AWS KMS命令

时间:2019-04-16 14:21:57

标签: jenkins groovy

我正在尝试使用Jenkins Active Choice反应参数,并使用Groovy运行aws kms cli命令,但该值似乎没有返回。我在Groovy中查看了有关使用aws cli的其他几篇文章,但没有一篇解决我的问题。我绝不是Java开发人员,因此欢迎任何帮助。如果我将下面的代码与“ ls”命令一起使用,则该值将填充在参数中。

def command = "aws kms decrypt --query Plaintext --output text --ciphertext-blob fileb://<(echo 'my-cipher' | base64 -d') | base64 -d".execute()
command.waitFor()
return [command.text]

在此先感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我使用Run a compound shell command from Java/Groovy中的以下内容找出了这一点。感谢@cfrick的上述评论。

def out = ['bash', '-c', "aws kms decrypt --query Plaintext --output text --ciphertext-blob fileb://<(echo 'my-cipher' | base64 -d) | base64 -d"].execute([], new File('/tmp')).text

return [out]