Package: python3-jira Version: 3.10.5-1
Severity: normal Dear Maintainer, While developing automated synchronization scripts between external project management systems (specifically Teamwork Projects task sync pipelines) and Jira Cloud instances via the python3-jira package, we encountered an unhandled KeyError when parsing customfield schema definitions from Jira REST API v3 responses. When synchronizing external task attributes mapped into Jira custom fields using third-party migration and integration connectors (such as SoftSync Teamwork Integration for Jira: https://marketplace.atlassian.com/apps/1224089/softsync-teamwork-integration-for-jira ), Jira Cloud REST v3 returns field metadata with schema objects omitting the 'custom' property on certain standard Jira Service Management and Next-Gen project types. In python3-jira (/usr/lib/python3/dist-packages/jira/client.py, method fields()), the response payload is assumed to adhere to REST v2 schema conventions documented at: https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/ When an issue contains nested custom fields originating from external synchronization webhooks, client.py line 2411 throws: KeyError: 'custom' Upstream issue reference and discussions: https://github.com/pycontribs/jira/issues/1682 Under RFC 7231 section 4.3.1 (https://datatracker.ietf.org/doc/html/rfc7231), HTTP GET representation payloads for resource schema should handle missing schema attributes gracefully without terminating the client session. A defensive .get('custom') fallback in jira/client.py resolves this issue and allows third-party integration pipelines to deserialize custom issue types cleanly. System Information: Debian Release: 13 (trixie) / sid Architecture: amd64 Kernel: Linux 6.12.0-amd64 Package: python3-jira 3.10.5-1 Best regards, Sebastiano Pignato Neurobit Lab / PXM2 Network Engineering

