How to get corresponding build artifacts of a job

2019-06-25 23:37发布

I create Jenkins jobs using hudson.cli.CLI jar. I have selected "Archive the artifacts" option in the "Post-build steps" section. It archives the artifacts on each succesfull build. I am using jenkins remote access api http://localhost:8080/job/job_name/api/json to get details about jobs. and http://localhost:8080/job/job_name/job_number/api/json to get details about builds.

When I delete a build corresponding archived artifacts are not deleted. I'd like to make sure that they are deleted.

When I use jenkins remote access api http://localhost:8080/job/[job_name]/[job_number]/api/json for a build, it returns json data which contains all previously archived artifacts (other successful builds artifacts) with this (running build) build artifact. How do I get related artifact of a build (a successful build should return its artifact, not all previous successfull artifacts). Any suggestions or ideas ?

2条回答
一夜七次
2楼-- · 2019-06-26 00:12

I suspect that you do not clean your workspace between the builds and archive all the artifacts that are found there, including those from previous builds.

查看更多
beautiful°
3楼-- · 2019-06-26 00:13

A build with no archived artifacts will have this json output:

"artifacts":[]

A build with archived artifacts will have this kind of json output:

"artifacts":[{"displayPath":"output","fileName":"output","relativePath":"output"}]

This artifact could be seen at http://localhost:8080/job/[job_name]/[job_number]/artifact/

查看更多
登录 后发表回答