If JIRA(...) itself fails to connect, updating client._session.proxies afterward is too late. Construction can contact Jira because get_server_info is enabled by default.

Use the public constructor input:

from jira import JIRA

client = JIRA(
    server='https://jira.example',
    basic_auth=(jira_user, jira_api_token),
    proxies={
        'http': 'http://proxy.example:8080',
        'https': 'http://proxy.example:8080',
    },
    timeout=30,
)

Supply proxies as its own keyword, not inside options. The https entry selects HTTPS destinations; its HTTP URL describes the proxy listener. For a publicly reachable Jira service on an allowed public route, the HTTP proxy list supplies endpoint candidates for these map values. Keep the existing Jira account inputs, separate from any account required by that intermediary.

The constructor's validate and get_server_info controls can change startup work when the application needs that behavior. They cannot supply the route for later Jira calls, so configure the transport before using them to defer a failing request.

Аффингæй хæстæг статьялтæ