我有多个使用管道脚本的 Jenkins 作业,并且我对其中至少 4 个使用相同的方法
def createJiraLinks(def ticketNumbers) {
ArrayList<String> jiraLinks = new ArrayList<String>();
for(int i =0; i < ticketNumbers.size(); i++) {
def jira_json = sh script: """/usr/local/bin/curl -X GET -H "Content-Type: application/json" --cert-type PEM --key-type PEM -E /Users/Jenkins/.jenkins/workspace/certificates/cert.pem --key /Users/Jenkins/.jenkins/workspace/certificates/cert.pem https://jira.dev.org.co.uk:443/rest/api/2/issue/${ticketNumbers[i]}""", returnStdout: true
def json = jsonParse(jira_json);
def summary = json['fields']['summary'].toString();
jiraLinks.add("[" + ticketNumbers[i] + "](https://jira.dev.org.co.uk/browse/" + ticketNumbers[i] + ")" + " - " + summary);
}
return jiraLinks;
}
如何让每个管道作业导入此方法,以便如果我需要更新它,我只需执行一次,这里的关键部分是能够使用 sh script:
作为如果我使用“String.execute()”运行curl命令,该命令将失败,因为我无法正确格式化它
任何建议/提示表示赞赏
谢谢
最佳答案
关于java - 使用 Jenkins 构建的常用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44391836/