首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jenkins API -在一个原子操作中启动一个构建并获取生成号。

Jenkins API -在一个原子操作中启动一个构建并获取生成号。
EN

Stack Overflow用户
提问于 2015-05-28 07:52:57
回答 3查看 1.8K关注 0票数 0

我希望使用Jenkins启动一个构建,并获取已启动构建的版本号。

但是,由于同步方面的考虑,我不需要两个单独的调用(比如:launchJobBuild(); getJobLatestBuildNumber()),而是寻找一个API调用来返回刚才创建的特定buildNumber (例如,在回复内容中)。

这样的API调用是否存在?

EN

回答 3

Stack Overflow用户

发布于 2015-05-28 08:23:41

这个问题已经被问到了:Retrieve id of remotely triggered jenkins job

如果您使用的是v1.598或更高版本,那么reponse将在该位置包含构建ID。查查@morgwai的答案

票数 2
EN

Stack Overflow用户

发布于 2022-06-07 07:07:13

您可以从响应头中获得build,它给出了queueNo,即buildNo+1。

headerName =位置

这里的位置http://:/queue/item/54/是queueItemNo。BuildNo将是队列编号-1= 53

在触发作业时,您将得到此响应。http://:/job//buildWithParameters?repository=&branch=

要想在上面工作,你需要詹金斯·克拉姆。http://13.232.201.103:8080/crumbIssuer/api/json 与postman.一起使用基本身份验证。

对此,您将得到{ "_class":"hudson.security.csrf.DefaultCrumbIssuer","crumb":crumbRequestField:“Jenkins”}

在第1点. Jenkins-Crumb:61b6dd4325d000f8b76e9d830fcab88e12d38315e4a7a858c70b838cf9f07d20中使用Jenkins作为标头

response.getHeaders().get("location").get(0).split("/")5-1;= JobNo

票数 0
EN

Stack Overflow用户

发布于 2022-10-22 09:27:27

我为触发作业而开发的Shell脚本,并获得了版本号:

代码语言:javascript
运行
复制
JENKINS_EMAIL=<Email>
JENKINS_TOKEN=<API Key>
JENKINS_URL=<Jenkins Server URL>
JENKINS_JOB=<JOB>
        
# Trigger Job and get queue location

location=$(curl -X POST -s -I -u $JENKINS_EMAIL:$JENKINS_TOKEN "${JENKINS_URL}${JENKINS_JOB}/buildWithParameters?pass=ok" | grep location | awk '{ print $NF }')
location2=${location//[$'\t\r\n']}

# Wait till build number is generated

while true ; do
    
    buildnumber=$(curl -X GET -s -u $JENKINS_EMAIL:$JENKINS_TOKEN "${location2}api/json" | jq '.executable.number')

    if [[ $buildnumber != "null" ]]; then
        echo "Build Started. Build number is : "$buildnumber"
        break
    else
        echo "Still in Queue"
        sleep 1
    fi  
done

这就是我如何触发一个作业,并得到版本号。while循环的存在是因为,不会立即生成内部版本号。首先,构建将排队。我们需要从第一个api响应中获取队列位置,然后使用它获得使用then循环的版本号。

根据需要修改第一个API中使用的参数

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30500422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档