我试图从Jenkins工作中获取测试结果,并且想知道是否有可能通过发出GET请求(例如,某个作业:JENKINS_URL/job/JOB_NAME/build/api/json
)来获取json结果,而不记录进入Jenkins服务器。
我无法理解如何发送所有如何在API调用中传递身份验证信息(例如API令牌/密码,用户名)。
我知道Jenkins CLI是一个选项,但如果可能的话,我宁愿不使用它。
要明确的是,当我在计算机上登录时,对JENKINS_URL/job/JOB_NAME/build/api/json
的调用会产生构建结果,但是当我退出时,该链接会将我带到登录页面。
答案 0 :(得分:0)
您必须配置凭据并为匿名提供读取权限,或在您的请求中传递您的用户/密码:
curl --user username:password jenkins_url/job/job_name/build_number/api/json
相同但使用api_token:
curl --user username:api_token jenkins_url/job/job_name/build_number/api/json
如果您还传递?pretty=true
参数,您应该看到如下内容:
{
"actions" : [
{
"parameters" : [
...
}
],
...
"building" : false,
"description" : null,
"displayName" : "#36",
"duration" : 1936,
"estimatedDuration" : 2020,
"number" : 36,
"queueId" : 224,
}