我知道有一个 * 远程 * 访问API:https://www.jenkins.io/doc/book/using/remote-access-api/
但是这个API可以通过本地主机访问吗?我说未经验证是因为它将从管道运行内部被命中,因此不需要auth。
我尝试在管道运行中执行curl -v http://localhost:8080/api
,得到了connect to 127.0.0.1 port 8080 failed: Connection refused
。
我已经使用了Jenkins的函数,比如currentBuild.getBuildCauses()
等,但我更愿意让我的部署脚本询问API来获取这类信息。
有没有可能为Jenkins rest API提供一个本地的、经过身份验证的端点(这样我就不需要密钥或用户来访问它)?
1条答案
按热度按时间y3bcpkx11#
简短回答:你不能在没有授权信息的情况下对jenkins执行操作here
长回答:
mb一些插件有这个功能(我还没有看到它)
要为jenkins端点使用curl,您需要像这样使用username:API或username/password令牌
第一个月
Jenkins文件
字符串
在Jenkins中,您可以创建用户名和密码。将此数据存储在jenkins用户密码凭据中,然后在管道withCreds()中使用
型
如果需要创建令牌
型
脚本可能因授权插件而不同
在github上有很多例子
https://gist.github.com/wiz4host/17ab33e96f53d8e30389827fbf79852ehttps://gist.github.com/hayderimran7/50cb1244cc1e856873a4