Skip to content

Commit 3d62597

Browse files
author
Bernhard Grünewaldt
committed
sort options working
1 parent edc6bdc commit 3d62597

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

customfield_editor_plugin_client/cli_client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def main():
2424
#
2525
parser = argparse.ArgumentParser(description='Customfield Editor Plugin REST API CLI Client.')
2626

27-
parser.add_argument("-a", "--action", help='Which action to execute.', choices=['adminListFields', 'adminGrantPermission', 'userListFields', 'userListOptions', 'userInsertOptions'])
27+
parser.add_argument("-a", "--action", help='Which action to execute.', choices=['adminListFields', 'adminGrantPermission', 'userListFields', 'userListOptions', 'userInsertOptions', 'userSortOptions'])
2828
parser.add_argument("-url", "--baseUrl", help='baseUrl to JIRA instance e.g. http://server:port/jira/')
2929
parser.add_argument("-user", "--authUsername", help='username for basic auth.')
3030
parser.add_argument("-pass", "--authPassword", help='password for basic auth.')
@@ -37,6 +37,7 @@ def main():
3737
parser.add_argument("-ulist", "--userList", nargs='+', help='space separated user names to grant permission')
3838
parser.add_argument("-glist", "--groupList", nargs='+', help='space separated group names to grant permission')
3939
parser.add_argument("-f", "--payloadFile", help='Payload JSON file.')
40+
parser.add_argument("-o", "--order", help='The sort order.', choices=['ASCENDING', 'DESCENDING'])
4041

4142
args = parser.parse_args()
4243
if not args.action:
@@ -122,6 +123,9 @@ def main():
122123
except FileNotFoundError as ex:
123124
printHelper.error('payloadFile not found')
124125
raise ApiHelperException('payloadFile not found')
126+
if args.action == 'userSortOptions':
127+
userOperations.sort_options(args.customFieldId, args.contextId, args.order)
128+
125129

126130

127131
except requests.ConnectionError as ex:

customfield_editor_plugin_client/model/user_input.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ def validate_cli_args(self, cli_args):
4646
if cli_args.action == 'userListOptions':
4747
self._validate_customfield_id(cli_args.customFieldId)
4848

49+
if cli_args.action == 'userInsertOptions':
50+
self._validate_customfield_id(cli_args.customFieldId)
51+
if not cli_args.payloadFile:
52+
raise UserInputException('payloadFile needs to be specified.')
53+
54+
if cli_args.action == 'userSortOptions':
55+
self._validate_customfield_id(cli_args.customFieldId)
56+
if not cli_args.order:
57+
raise UserInputException('order needs to be specified.')
58+
4959
def _validate_customfield_id(self, id):
5060
if id <= 0:
5161
raise UserInputException('customFieldId needs to be positive integer.')

customfield_editor_plugin_client/modules/user_operations.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,14 @@ def insert_options(self, customfield_id, context_id, options):
4343
"optionId": created_option['id']
4444
})
4545

46+
def sort_options(self, customfield_id, context_id, order):
47+
if context_id:
48+
context_infix = context_id
49+
else:
50+
context_infix = 'default'
4651

47-
52+
self._api.put('/user/customfields/{0}/contexts/{1}/options/sort'.format(customfield_id, context_infix),
53+
{
54+
"order": order,
55+
"locale": "de-DE"
56+
})

0 commit comments

Comments
 (0)