所以我坚持一些基本的知识。我正在尝试使用curl命令从远程Jenkins实例触发Jenkins作业。
curl -v -X POST https://myUsername:myAPIToken@myJenkins.com:8080/job/myJob/buildWithParameters?param=value --data token=myToken
此命令绝对可以正常工作,并在从终端尝试时成功触发了远程Jenkins作业,但在另一个Jenkins实例(执行shell)上尝试另一个Jenkins作业时却给出错误curl: (35) gnutls_handshake() failed: An unexpected TLS packet was received.
。
答案 0 :(得分:0)
如果您不想使用SSL,请尝试使用-k
标志。从curl手册:
-k,-不安全 (SSL)此选项明确允许curl执行“不安全” SSL连接和传输。尝试所有SSL连接 使用已安装的CA证书捆绑包确保安全 默认情况下。这使得所有连接都被视为“不安全” 除非使用-k,--insecure否则失败。
答案 1 :(得分:0)
这是对我有用的正确命令。
curl -iv -u myJenkinsUsername:myJenkinsApiToken "https://myJenkins.com:443/job/myRemoteJob/buildWithParameters?param=value"
选项-i
在请求中包含协议标头,显然,我之前提到的端口号(8080)错误。