I keep getting an SSL certificate verification error while trying to connect to our company’s JIRA instance using Python. I’m working with Python 2.7 and trying to use the JIRA REST API library.
Here’s the code I’m using:
from jira.client import JIRA
config = {
'server': 'https://tickets.mycompany.com'
}
jira_client = JIRA(config)
When I run this code, I get this SSL error:
requests.exceptions.SSLError: [Errno 1] _ssl.c:507: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
I’m not sure what’s causing this certificate verification to fail. Has anyone encountered this before? What am I missing in my setup?
This SSL verification error typically occurs when your Python environment cannot validate the certificate chain for your company’s JIRA server. I encountered this exact issue at my previous workplace where we had internal certificates that weren’t recognized by the default certificate store. The quickest solution is to add the verify=False
parameter to your JIRA options, though this disables SSL verification entirely. You can modify your config like this: config = {'server': 'https://tickets.mycompany.com', 'verify': False}
. However, for production environments, I’d recommend getting your IT team to provide the proper certificate bundle and pointing to it using the verify parameter with the path to the certificate file instead of False. This maintains security while resolving the verification issue.
I ran into something similar when connecting to our corporate JIRA from behind the company firewall. The issue was that our network was intercepting SSL traffic with a corporate proxy certificate that Python didn’t recognize. First thing to check is whether you can access the JIRA URL directly in your browser without certificate warnings. If the browser shows it’s fine but Python fails, you might need to update your certificate store. Try running pip install --upgrade certifi
to get the latest certificate bundle. Another possibility is that you’re using Python 2.7 which has outdated SSL libraries - our team had to upgrade to Python 3.x to resolve persistent certificate issues with newer TLS versions that some enterprise servers require.
had this exact problem last month with our atlassian setup. turns out the issue was mixed up certificates on our companys server config. try downloading the cert manually first - you can use openssl to check whats going on: openssl s_client -connect tickets.mycompany.com:443
and see if theres any chain issues. also worth checking if your IT department uses self-signed certs which python wont trust by default.