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",