使用 REST API 远程创建 Jenkins 作业

安娜

我无法远程创建作业(REST API + Postman),我尝试

邮政:

http://localhost:8080/createItem?name=NEWJOB

或者

http://localhost:8080/job/NEWJOB/build

并且总是有 403 错误(GET 方法有效)。

在这里我看到我需要为 POST 创建 config.xml :

https://issues.jenkins-ci.org/browse/JENKINS-9410?focusedCommentId=204821&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-204821

我不明白如何创建此配置?我需要这个配置吗?如何远程创建詹金斯工作?

安娜

我需要几个步骤:

1) 获取

http://localhost:8080/crumbIssuer/api/json 

+header授权 ..................... 基本 YWRtaW46YWRtaW4=

当我输入登录名和密码(在我的情况下为 admin,admin)时,创建了 Authorization 字段的值。

在这个查询之后,我看到了下一个:

{
    "_class": "hudson.security.csrf.DefaultCrumbIssuer",
    "crumb": "2ad62df85d23d4c65a25c0b33fb0ef61",
    "crumbRequestField": "Jenkins-Crumb"
}

2)下一步 -> 创建 config.xml

当我执行以下操作时,我只是手动从另一个 jenkins 工作(名为 test)中获取它:

得到 http://localhost:8080/job/test/config.xml

+header 标头授权 ..................... 基本 YWRtaW46YWRtaW4=

3)创建工作:

邮政 http://10.14.48.107:8080/createItem?name=NEWJOBNAME

+header授权........基本 YWRtaW46YWRtaW4=

+header内容类型.......... 文本/xml

+header Jenkins-Crumb ........... 2ad62df85d23d4c65a25c0b33fb0ef61

我从第一个查询面包屑中获取此标题名称和值

+身体-> 原始->

<project>
<actions/>
<description/>
<keepDependencies>false</keepDependencies>
<properties>
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="[email protected]">
<displayName/>
</com.coravy.hudson.plugins.github.GithubProjectProperty>
</properties>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders/>
<publishers/>
<buildWrappers/>
</project>

在这一步之后,我没有任何答案,但工作是远程创建的!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Jenkins REST API:创建新的作业视图

使用Groovy Jenkins API更新Jenkins作业

Jenkins REST API 来检索已完成的作业信息

使用Groovy Init创建Jenkins WorkflowMultibranchProject作业

如何使用REST API停止Flink作业

创建自动化作业以使用REST API执行Azure Runbook

Jenkins远程API-是否可以在不知道深度的情况下使用Jenkins树查询api检索完整的作业树?

REST API作业调度

使用Pipeline Job和Groovy脚本创建新的Jenkins作业

使用Rest API从Jenkins获取构建信息

使用REST API获取Jenkins Job的参数?

如何使用yarn rest api提交作业以激发火花?我想使用 YARN REST API 提交作业来触发

SnappyData REST API提交作业

使用for循环的并行jenkins作业

使用REST检查jenkins中的文件夹中是否存在作业

如何使用 Rest Assured 为 Jenkins 作业传递多个构建参数值?

使用 Jenkins Docker 插件动态创建的 Jenkins Slave 在作业执行过程中被删除

在 Ubuntu 16.04 LTS 上使用 jenkins_job 通过 Ansible 创建 Jenkins 作业失败

使用REST触发Spark作业

使用CakePHP创建REST API

使用 Django 创建 REST API

如何使用 REST API 为 Jenkins 使用 Java 进行 POST

Jenkins xml rest API 以获取按名称过滤的作业名称列表和最后一个版本号

通过种子作业创建后立即开始jenkins作业

无需种子作业即可从 DSL 创建 Jenkins 作业

创建Jenkins作业时发生异常-ArrayIndexOutOfBoundsException

使用python API创建Jenkins Job

REST API中对作业结果的适当响应

如何使用docker远程api创建容器?