diff --git a/jira/resilientsession.py b/jira/resilientsession.py index 39ce7643d..9c1a7c7c1 100644 --- a/jira/resilientsession.py +++ b/jira/resilientsession.py @@ -115,7 +115,7 @@ def parse_errors(resp: Response) -> list[str]: error_messages = resp_data["errorMessages"] if len(error_messages) > 0: if isinstance(error_messages, list | tuple): - parsed_errors = list(error_messages) + parsed_errors = [str(e) for e in error_messages if e is not None] else: parsed_errors = [error_messages] if "errors" in resp_data: diff --git a/tests/test_resilientsession.py b/tests/test_resilientsession.py index 2d0ed9047..938ce11fb 100644 --- a/tests/test_resilientsession.py +++ b/tests/test_resilientsession.py @@ -165,6 +165,8 @@ def test_status_codes_retries( '{"errorMessages": [], "errors": {"code1": "err1", "code2": "err2"}}', ["err1", "err2"], ), + (500, {}, '{"errorMessages": [null], "errors": {}}', []), + (500, {}, '{"errorMessages": [null, "err1", null], "errors": {}}', ["err1"]), ]