怎样使用java api获取当前jenkins的工作目录中的某个文件路径

需要获取workspace里的某个包名。需要根据文件名称搜索到文件路径。
测试类代码:

JobWithDetails job = JenkinsUtils.getJenkinsServer().getJob(pipelineNameEN);
String fileFromWorkspace = job.getFileFromWorkspace(“eureka-1.0-SNAPSHOT.zip”);
System.out.println("fileFromWorkspace = " + fileFromWorkspace);

调用getFileFromWorkspace方法时。

URI.create(url + “/ws/” + fileName) 的结果是:
path = /job/pss-pss_202009101620-PRODUCTGENERAT-FULL//ws/eureka-1.0-SNAPSHOT.zip
string = http://10.7.20.179:7766/job/pss-pss_202009101620-PRODUCTGENERAT-FULL//ws/eureka-1.0-SNAPSHOT.zip

执行时,报404.

是否和jenkins版本有关系
jenkins版本:2.222.4
java-clent-api版本:0.3.8

1赞

分享挺详细,希望能有更多的好文案例能分享。

老哥其实我是提问题来着

跟 jenkins 版本是没有关系的,404 的错误,一般都是服务器无法回应错误,你在检查一下执行脚本。

好的。老哥我放弃了这个api,直接从pipielina的环境变量拿到workspace的路径,然后通过java在linux执行find -name ¥{workspace}/xxxx.zip 命令找到文件。曲线解决问题了

用环境变量要比直接调用API更加轻量级,赞!