From 8ee5508d2fd1c49a7c529017530b5dbd4611ee69 Mon Sep 17 00:00:00 2001 From: Jannik Meinecke Date: Thu, 4 Aug 2022 14:54:45 +0200 Subject: [PATCH] Fix use of an int for `issuetype` in `.create_issue()` (#1445) Jannik Meinecke () on behalf of MBition GmbH. https://github.com/mercedes-benz/foss/blob/master/PROVIDER_INFORMATION.md Co-authored-by: Martin Locklear --- jira/client.py | 2 +- tests/resources/test_issue.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/jira/client.py b/jira/client.py index 35064765c..3fe2f9cb6 100644 --- a/jira/client.py +++ b/jira/client.py @@ -1502,7 +1502,7 @@ def create_issue( p = data["fields"]["issuetype"] if isinstance(p, int): data["fields"]["issuetype"] = {"id": p} - if isinstance(p, (str, int)): + elif isinstance(p, str): data["fields"]["issuetype"] = {"id": self.issue_type_by_name(str(p)).id} url = self._get_url("issue") diff --git a/tests/resources/test_issue.py b/tests/resources/test_issue.py index 1f465b9b2..8793fe8c6 100644 --- a/tests/resources/test_issue.py +++ b/tests/resources/test_issue.py @@ -256,6 +256,18 @@ def test_create_issues_without_prefetch(self): for issue in issues: issue["issue"].delete() + def test_create_issue_with_integer_issuetype(self): + # take first existing issuetype to avoid problems due to hardcoded name/id later + issue_types_resolved = self.jira.issue_types() + dyn_it = issue_types_resolved[0] + + issue = self.jira.create_issue( + summary="Test issue created using an integer issuetype", + project=self.project_b, + issuetype=int(dyn_it.id), + ) + self.assertEqual(issue.get_field("issuetype").name, dyn_it.name) + def test_update_with_fieldargs(self): issue = self.jira.create_issue( summary="Test issue for updating with fieldargs",