我正在使用Ansible来检查几个jenkins服务器的状态。我创建的剧本检查磁盘空间,正常运行时间和jenkins版本完全正常。但是,我尝试使用jenkins_Script模块添加一个任务,打印出每个服务器的已安装jenkins插件列表,并继续接收“403”和“39”。错误信息。
剧本:
- name: Obtaining a list of Jenkins Plugins
jenkins_script:
script: 'println(Jenkins.instance.pluginManager.plugins)'
url: 'http://server.com:8080/'
user: '*****'
password: '*****'
输出:
fatal: [server]: FAILED! => {
"changed": false,
"failed": true,
"invocation": {
"module_args": {
"args": null,
"force_basic_auth": true,
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"script": "println(Jenkins.instance.pluginManager.plugins)",
"url": "http://server.com:8080/",
"url_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"url_username": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"user": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"validate_certs": true
}
},
"msg": "HTTP error 403 HTTP Error 403: No valid crumb was included in the request"
}
- 我相信我已经缩小了这个问题 - 看起来我并没有提供面包屑。我已经产生了面包屑,但没有“面包屑”#39;争论jenkins_script模块。有谁知道如何成功提供面包屑?
如果需要,将很乐意澄清上述任何内容,并且非常感谢任何帮助。
答案 0 :(得分:0)
https://github.com/ansible/ansible/pull/20207
- 如果您使用ansible 2.3已经提交了更改,您只需要确保在jenkins服务器上启用“跨站点请求伪造”。 (管理jenkins>配置全局安全性)