You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Jenkins可运行的Groovy脚本在Windows Jenkins因无curl失效求解决方案

解决Windows Jenkins上Groovy脚本无法执行curl命令的问题

你的问题核心是Windows系统默认没有预装curl命令,导致依赖系统curl的脚本无法运行。我们可以改用Groovy内置的HTTP请求能力来替代curl,这样脚本就能跨Linux和Windows平台运行了,不需要依赖外部工具。

下面是修改后的完整脚本:

import groovy.json.JsonSlurper
import java.net.URL
import java.net.HttpURLConnection
import java.util.Base64

try {
    List<String> artifacts = new ArrayList<String>()
    // Jira API请求地址
    def artifactsUrl = 'https://companyname.atlassian.net/rest/api/2/search?jql=project=11411%20and%20issuetype%20in%20(Story)%20and%20labels%20in%20(demo)+&fields=summary'
    
    // 处理Basic认证:将用户名和token编码为Base64
    def auth = "someusername@xxxx.com:tokenkey"
    def encodedAuth = Base64.getEncoder().encodeToString(auth.getBytes())
    def authHeader = "Basic ${encodedAuth}"

    // 创建HTTP连接并配置请求
    URL url = new URL(artifactsUrl)
    HttpURLConnection connection = (HttpURLConnection) url.openConnection()
    connection.setRequestMethod("GET")
    connection.setRequestProperty("Authorization", authHeader)
    connection.setRequestProperty("Content-Type", "application/json")
    connection.setRequestProperty("Accept", "application/json")

    // 读取响应内容
    def artifactsObjectRaw = new BufferedReader(new InputStreamReader(connection.getInputStream())).text

    // 解析JSON并提取摘要
    def parser = new JsonSlurper()
    def json = parser.parseText(artifactsObjectRaw)
    for(item in json.issues){
        artifacts.add(item.fields.summary)
    }

    // 返回结果列表
    return artifacts
} catch (Exception e) {
    println "There was a problem fetching the artifacts: ${e.message}"
    e.printStackTrace() // 可选:打印完整栈信息方便调试
}

关键改动说明:

  • 移除curl依赖:不再调用系统的curl命令,改用Java标准库的HttpURLConnection发起HTTP请求,Groovy可以直接使用这些API,完全跨平台。
  • 手动处理Basic认证:原来curl的-u username:token参数,等价于在请求头中添加Authorization: Basic <base64编码的用户名:token>,这里我们手动完成了Base64编码和请求头设置,和curl的效果完全一致。
  • 兼容性拉满:所有代码基于Java/Groovy标准库,不需要额外安装依赖,在Linux和Windows Jenkins环境下都能稳定运行。

内容的提问来源于stack exchange,提问作者shaharnakash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:15:57