在Jenkins主动选择被动参数中使用Groovy执行AWS KMS命令

在Jenkins主动选择被动参数中使用Groovy执行AWS KMS命令,jenkins,groovy,Jenkins,Groovy,我尝试使用Jenkins Active Choice被动参数并使用Groovy运行aws kms cli命令,但该值似乎没有返回。我看过其他几篇在Groovy中使用AWSCLI的文章,但没有一篇能解决我的问题。我无论如何都不是Java开发人员,所以欢迎任何帮助。如果我将下面的代码与“ls”命令一起使用,那么将在参数中填充该值 Yo def command = "aws kms decrypt --query Plaintext --output text --ciphertext-bl

我尝试使用Jenkins Active Choice被动参数并使用Groovy运行aws kms cli命令,但该值似乎没有返回。我看过其他几篇在Groovy中使用AWSCLI的文章,但没有一篇能解决我的问题。我无论如何都不是Java开发人员,所以欢迎任何帮助。如果我将下面的代码与“ls”命令一起使用,那么将在参数中填充该值

Yo
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]
Yo

def command=“aws kms decrypt--query Plaintext--output text--ciphertext blob fileb://我使用下面的方法解决了这个问题。感谢@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]

def out=['bash','-c',”aws kms解密--查询明文--输出文本--密文blobfileb://Possible 我在Jenkins的文章中看到了这篇文章,并尝试了他们的建议。请添加您从该答案中尝试过的内容。您在那里的代码不能与普通groovy execute一起使用,因为它使用了shell的功能。如果您遇到任何错误,请德似乎忽略了。如果你需要提示,如何阅读标准等:我发现了我的错误。