Python jenkinsapi ignore certificate

Yehiel G picture Yehiel G · Jan 17, 2017 · Viewed 7.1k times · Source

Recently, I turned jenkins to https. This is my code to use jenkinsapi :

import jenkinsapi
from jenkinsapi.jenkins import Jenkins
from jenkinsapi.utils.requester import Requester
import requests
url = 'https://jenkinsd:443'
username = 'MyUser'
password = '123'
requests.packages.urllib3.disable_warnings()
jenkins = Jenkins(url, username, password)
jobs = jenkins.get_jobs()
for jobName in jobs:
    print(jobName)

I get this error:

requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

I tried:

jenkins = Jenkins(url, requester=Requester(username, password, baseurl=url, ssl_verify=False))

OR:

jenkins = jenkinsapi.jenkins.Jenkins(url, username, password, requester =Requester(username, password, ssl_verify=False))

I get this error:

File "D:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\adapters.py", line 415, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(10061, 'No connection could be made because the target machine actively refused it', None, 10061, None))

Advice please :)

Answer

Yehiel G picture Yehiel G · Jan 17, 2017

Solved..

jenkins = Jenkins(url, username, password, ssl_verify=False)

After correcting url : Manage Jenkins > Configure system > Jenkins URL

The jenkinsapi now works.

https://github.com/pycontribs/jenkinsapi/blob/master/doc/source/ssl_certificate_verification

Thanks!