如何在JIRA脚本运行程序groovy中运行shell命令

如何在JIRA脚本运行程序groovy中运行shell命令,groovy,jira,jira-rest-api,Groovy,Jira,Jira Rest Api,我正试图从Jira post函数Groovy脚本配置Jenkins构建触发器 下面是我的Groovy代码: import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.CustomFieldManager; import com.atlassian.jira.issue.Issue; import com.atlassian.jira.issue.fields.CustomField

我正试图从Jira post函数Groovy脚本配置Jenkins构建触发器

下面是我的Groovy代码:

import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.fields.CustomField;
import com.onresolve.scriptrunner.runner.util.UserMessageUtil

def WANITOPUSHField =  ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10802);//customfield id
def WANITOPUSHValue = issue.getCustomFieldValue(WANITOPUSHField);
def SelectVersionField = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10805);//customfield id
def SelectVersionValue = issue.getCustomFieldValue(SelectVersionField);

if(WANITOPUSHField != null) {
    if(WANITOPUSHValue.toString() == 'Yes') {
       'curl --user USERNAME:PASSWORD  "http://JENKINS_URL/job/deploy-dev-test/buildWithParameters?token=MYTOCKEN&ENV=1"'.execute()
       UserMessageUtil.success("Jenkins Build started ");

    } else {
        UserMessageUtil.success("Condition Not sucsess "+WANITOPUSHValue.toString());
    }
}
这里我使用curl命令在Jira票证状态改变时触发Jenkins build,但是curl命令在这里不起作用

它正在向警报框发送输出

java.lang.UNIXProcess@4d0c79da
我不知道该命令是否成功执行意味着什么,请任何人都可以在这方面帮助我,并建议我是否可以使用Groovy的其他方法来实现这一点。execute()返回UNIXProcess java类的实例。当toString()方法未被重写时,您将看到类似java.lang的内容。UNIXProcess@4d0c79da

下面是一些帮助您获得shell命令输出的代码:

def command = 'curl --user USERNAME:PASSWORD  "http://JENKINS_URL/job/deploy-dev-test/buildWithParameters?token=MYTOCKEN&ENV=1"'
def proc = command.execute()
proc.waitFor()              

println "Process exit code: ${proc.exitValue()}"
println "Std Err: ${proc.err.text}"
println "Std Out: ${proc.in.text}"

感谢您的建议,
def command='curl--user USERNAME:PASSWORDhttp://JENKINS_URL/job/deploy-dev-test/buildWithParameters?token=MYTOCKEN&ENV=1“
这对我很有用,很好!我不得不删除URL周围的引号。Unix程序参数中的密码对于所有进程都是公共的。请参阅:
ls-ef