From a32967a58816b0d422f81277413e5b0feadff240 Mon Sep 17 00:00:00 2001 From: Carlos Moreno Date: Mon, 6 Oct 2025 19:53:28 -0600 Subject: [PATCH 1/4] [service_desk] Single request_type method addition Added new method to fetch single request type. --- atlassian/service_desk.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/atlassian/service_desk.py b/atlassian/service_desk.py index d2df7b6c9..758118ca1 100644 --- a/atlassian/service_desk.py +++ b/atlassian/service_desk.py @@ -166,7 +166,23 @@ def get_request_types(self, service_desk_id): f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype", headers=self.experimental_headers, ) + def get_request_type(self, service_desk_id, request_type_id): + """ + Fetches detailed information about a specific request type within a service desk. + :param service_desk_id: The ID of the service desk where the request type + exists. + :type service_desk_id: str + :param request_type_id: The ID of the request type to retrieve. + :type request_type_id: str + :return: A dictionary containing the details of the specified request type. + :rtype: dict + """ + return self.get( + f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}", + headers=self.experimental_headers, + ) + # Participants actions def get_request_participants(self, issue_id_or_key, start=0, limit=50): """ From 3f4e76c15e72226ed68e97e9096c5ed6d2288e79 Mon Sep 17 00:00:00 2001 From: Carlos Moreno Date: Mon, 6 Oct 2025 19:54:13 -0600 Subject: [PATCH 2/4] [service_desk] Request type fields method addition Added a method to get field composition of a request type --- atlassian/service_desk.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/atlassian/service_desk.py b/atlassian/service_desk.py index 758118ca1..f25656e93 100644 --- a/atlassian/service_desk.py +++ b/atlassian/service_desk.py @@ -182,6 +182,26 @@ def get_request_type(self, service_desk_id, request_type_id): f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}", headers=self.experimental_headers, ) + + def get_request_type_fields(self, service_desk_id, request_type_id): + """ + Retrieve the fields for a specific request type in a service desk. + + :param service_desk_id: The ID of the service desk for which the request type + fields are to be retrieved. + :type service_desk_id: str + :param request_type_id: The ID of the request type within the specified service + desk. + :type request_type_id: str + :return: A response object containing the fields information for the specified + request type. + :rtype: requests.Response + """ + + return self.get( + f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}/field", + headers=self.experimental_headers, + ) # Participants actions def get_request_participants(self, issue_id_or_key, start=0, limit=50): From 61c948314d8e37f5de91a6bab45ea504add8c483 Mon Sep 17 00:00:00 2001 From: Carlos Moreno Date: Mon, 6 Oct 2025 20:00:56 -0600 Subject: [PATCH 3/4] [service_desk] Add docs Added docs for get_request_type and get_request_type_fields methods --- docs/service_desk.rst | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/service_desk.rst b/docs/service_desk.rst index d0006e90f..18541707b 100644 --- a/docs/service_desk.rst +++ b/docs/service_desk.rst @@ -66,8 +66,24 @@ Manage a Participants # The calling user must have permission to manage participants for this customer request sd.remove_request_participants(issue_id_or_key, users_list=None, account_list=None) + +Request types +--------------------- + +.. code-block:: python + + # Get all request types in a serrvice desk project + sd.get_request_types(service_desk_id) + + # Get single request type in a given serrvice desk project + sd.get_request_type(service_desk_id, request_type_id) + + # Get field composition of a given request type + sd.get_request_type_fields(service_desk_id, request_type_id) + + Transitions ------------ +--------------------- **EXPERIMENTAL** (may change without notice) From 97416193eae5915e130b7b651dd05f1283408e9d Mon Sep 17 00:00:00 2001 From: Carlos Moreno Date: Mon, 6 Oct 2025 20:13:49 -0600 Subject: [PATCH 4/4] fix: Remove trailing whitespace Removed the trailing whitespace linted by codacy --- atlassian/service_desk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atlassian/service_desk.py b/atlassian/service_desk.py index f25656e93..1cc4fbca3 100644 --- a/atlassian/service_desk.py +++ b/atlassian/service_desk.py @@ -202,7 +202,7 @@ def get_request_type_fields(self, service_desk_id, request_type_id): f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}/field", headers=self.experimental_headers, ) - + # Participants actions def get_request_participants(self, issue_id_or_key, start=0, limit=50): """