如何在ansible jenkins_script模块中提供有效的crumb

时间:2017-02-23 14:47:03

标签: jenkins ansible

我正在使用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模块。有谁知道如何成功提供面包屑?

如果需要,将很乐意澄清上述任何内容,并且非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

https://github.com/ansible/ansible/pull/20207

- 如果您使用ansible 2.3已经提交了更改,您只需要确保在jenkins服务器上启用“跨站点请求伪造”。 (管理jenkins>配置全局安全性)