From 17b940fb6fc1bc2badb92a8febf2482dbb42f8fa Mon Sep 17 00:00:00 2001 From: SLRover Date: Tue, 3 Mar 2020 15:15:54 +0300 Subject: [PATCH 1/2] Added parameter for user() method: - get user by key Now you need to use only named parameters. For example, user(username='john') or user(key='john.d'). You can use only one parameter: username or key. --- atlassian/jira.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/atlassian/jira.py b/atlassian/jira.py index 37cebda4c..5ef2db4a6 100644 --- a/atlassian/jira.py +++ b/atlassian/jira.py @@ -90,16 +90,30 @@ def csv(self, jql, limit=1000): url = 'sr/jira.issueviews:searchrequest-csv-all-fields/temp/SearchRequest.csv' return self.get(url, params=params, not_json_response=True, headers={'Accept': 'application/csv'}) - def user(self, username, expand=None): + def user(self, username=None, key=None, expand=None): """ Returns a user. This resource cannot be accessed anonymously. + You can use only one parameter: username or key + :param username: + :param key: if username and key are different :param expand: Can be 'groups,applicationRoles' :return: """ - params = {'username': username} + params = {} + + if username and not key: + params = {'username': username} + elif not username and key: + params = {'key': key} + elif username and key: + return 'You cannot specify both the username and the key parameters' + elif not username and not key: + return 'You must specify at least one parameter: username or key' + if expand: params['expand'] = expand + return self.get('rest/api/2/user', params=params) def is_active_user(self, username): From 883750c3c489dbb8ebf66471423a79bf85d25d9a Mon Sep 17 00:00:00 2001 From: SLRover Date: Tue, 21 Apr 2020 00:18:12 +0300 Subject: [PATCH 2/2] Jira8 set deleted as unnecessary. All improvements will implementing in just Jira set. --- atlassian/__init__.py | 4 +--- atlassian/jira8.py | 13 ------------- 2 files changed, 1 insertion(+), 16 deletions(-) delete mode 100644 atlassian/jira8.py diff --git a/atlassian/__init__.py b/atlassian/__init__.py index cf793bbdc..4901edb85 100644 --- a/atlassian/__init__.py +++ b/atlassian/__init__.py @@ -4,7 +4,6 @@ from .confluence import Confluence from .crowd import Crowd from .jira import Jira -from .jira8 import Jira8 from .marketplace import MarketPlace from .portfolio import Portfolio from .service_desk import ServiceDesk @@ -18,6 +17,5 @@ 'Stash', 'Crowd', 'ServiceDesk', - 'MarketPlace', - 'Jira8' + 'MarketPlace' ] diff --git a/atlassian/jira8.py b/atlassian/jira8.py deleted file mode 100644 index e0fc3dcf6..000000000 --- a/atlassian/jira8.py +++ /dev/null @@ -1,13 +0,0 @@ -# coding=utf-8 -import logging - -from .jira import Jira - -log = logging.getLogger(__name__) - - -class Jira8(Jira): - # methods migrated into main module - @staticmethod - def print_module_name(): - print("The class {} merged into Jira Class".format(__name__))