Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 詹金斯从API触发一个作业_Html_Jenkins - Fatal编程技术网

Html 詹金斯从API触发一个作业

Html 詹金斯从API触发一个作业,html,jenkins,Html,Jenkins,实际上,我正在尝试对jenkins进行一些API调用以触发构建 实际上,我面临两个问题: 在非限制的环境中,我不需要连接即可触发作业,我应该在以下位置发送POST请求: http://address/job/jobId/build?delay=0sec 进行此操作时,我得到以下输出,告诉我没有令牌值: <html> <head> <meta http-equiv="Content-Type" content="text/html; ch

实际上,我正在尝试对jenkins进行一些API调用以触发构建

实际上,我面临两个问题:

在非限制的环境中,我不需要连接即可触发作业,我应该在以下位置发送POST请求:

http://address/job/jobId/build?delay=0sec
进行此操作时,我得到以下输出,告诉我没有令牌值:

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>

        <title>Error 401 Invalid password/token for user: </title>

    </head>

    <body>
        <h2>HTTP ERROR 401</h2>

        <p>Problem accessing /job/Di%20Injector/build. Reason:

            <pre>    Invalid password/token for user: </pre>
        </p>
        <hr />
        <i>
            <small>Powered by Jetty://</small>
        </i>
        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                

        <br/>                                                


    </body>

</html>

错误401用户的密码/令牌无效:
HTTP错误401
访问/作业/Di%20喷油器/生成时出现问题。原因:
http://YOUR_JENKINS_URL/user/YOUR_JENKINS_USER_ID/configure
用户的密码/令牌无效:


由码头提供动力://



















我在哪里可以得到这个信息

在受限的环境中,我必须先登录,然后才能进行任何操作,如获得工作或触发新构建。事实上,我不知道,而且我找不到要发送到服务器以获得访问权限的url/verb/params


您也能帮我吗?

解决方案是为您的Jenkins用户(或Jenkins build用户)生成API令牌

转到用户的以下链接:

curl -X POST http://YOUR_JENKINS_USER_ID:YOUR_API_TOKEN@YOUR_JENKINS_URL/job/YOUR_JENKINS_JOB/build
从本节复制用户id和令牌:

http://YOUR_JENKINS_URL/user/YOUR_JENKINS_USER_ID/configure

并启动以下命令以触发生成:

Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:

Permission you need to have (but didn't): hudson.model.Hudson.Read
 ... which is implied by: hudson.security.Permission.GenericRead
 ... which is implied by: hudson.model.Hudson.Administer
-->
我在我的https Jenkins服务器上做了一个快速测试

没有令牌,我收到了以下消息:

需要身份验证

有了用户id/token,使用curl命令构建就可以了:)

如果您是使用参数构建的,那么它就是:

假设jenkins构建接受两个参数,并希望使用shell脚本进行api调用:

您可以在shell脚本中放置以下命令:

curl-X POST--data“package_name=ABC.tar.gz”--data“release_notes=none”--data“delay=0sec”/buildWithParameters


只需使用地址栏来创建链接。确保链接以buildWithParameters

结尾。这个答案看起来不错,但我总是有一个错误,需要身份验证:-/让我们打开一个聊天来讨论:)可以在这里找到
crumb
的完整示例: