如何从 json api 中省略工件
How to omit artifacts from json api
我正在使用 Jenkins 版本。 1.629,我正在使用 JSON api 来读取有关我们构建的统计信息。
http://jenkins/job/MyProject/25/api/json
此调用行为正确,但是,由于我构建的工件有很多文件,因此返回的 JSON 有一个很大的工件数组。差异是 6.8mb 有人工制品,16kb 没有人工制品。
由于我不需要知道工件中的文件列表,我想知道如何从 JSON 结果(在服务器上)中省略它。
注意:我不想压缩我的工件来缩小列表,因为我有另一个项目依赖于工件并需要解压缩它们,我不想不必要地压缩和解压缩它。
XML API 有一个 exclude
参数,但是 JSON API 没有办法排除部分响应。但是,如果您知道 JSON 结果中您关心的参数名称,则可以使用 tree
参数将响应限制为您关心的那些字段。例如,您可以通过以下方式获取作业的所有构建信息(以及一些元数据):
http://jenkins/job/MyProject/25/api/json?tree=name,url,builds[*]
您还可以进一步限制 build 数组的字段,请参阅 List of jobs with longest build time。
在查询中提供限制(而不是使用排除)允许 Jenkins 服务器也节省一些处理,因为它不需要构建整个 6MB 响应。内置的API描述中有更多细节:http://jenkins/job/MyProject/25/api
.
我正在使用 Jenkins 版本。 1.629,我正在使用 JSON api 来读取有关我们构建的统计信息。
http://jenkins/job/MyProject/25/api/json
此调用行为正确,但是,由于我构建的工件有很多文件,因此返回的 JSON 有一个很大的工件数组。差异是 6.8mb 有人工制品,16kb 没有人工制品。
由于我不需要知道工件中的文件列表,我想知道如何从 JSON 结果(在服务器上)中省略它。
注意:我不想压缩我的工件来缩小列表,因为我有另一个项目依赖于工件并需要解压缩它们,我不想不必要地压缩和解压缩它。
XML API 有一个 exclude
参数,但是 JSON API 没有办法排除部分响应。但是,如果您知道 JSON 结果中您关心的参数名称,则可以使用 tree
参数将响应限制为您关心的那些字段。例如,您可以通过以下方式获取作业的所有构建信息(以及一些元数据):
http://jenkins/job/MyProject/25/api/json?tree=name,url,builds[*]
您还可以进一步限制 build 数组的字段,请参阅 List of jobs with longest build time。
在查询中提供限制(而不是使用排除)允许 Jenkins 服务器也节省一些处理,因为它不需要构建整个 6MB 响应。内置的API描述中有更多细节:http://jenkins/job/MyProject/25/api
.