Skip to content

Commit a8ed3ee

Browse files
dcaiFMCorz
authored andcommitted
Tracker command argument to open Jira ticket in default browser
1 parent 7ff5ba9 commit a8ed3ee

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

mdk/commands/tracker.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@
3333
class TrackerCommand(Command):
3434

3535
_arguments = [
36+
(
37+
['--open'],
38+
{
39+
'action': 'store_true',
40+
'help': 'Open issue in browser'
41+
}
42+
),
3643
(
3744
['-t', '--testing'],
3845
{
@@ -95,9 +102,14 @@ def run(self, args):
95102
if not issue or not re.match('(MDL|mdl)?(-|_)?[1-9]+', issue):
96103
raise Exception('Invalid or unknown issue number')
97104

98-
self.Jira = Jira()
99105
self.mdl = 'MDL-' + re.sub(r'(MDL|mdl)(-|_)?', '', issue)
100106

107+
if args.open:
108+
Jira.openInBrowser(self.mdl)
109+
return
110+
111+
self.Jira = Jira()
112+
101113
if args.addlabels:
102114
if 'triaged' in args.addlabels:
103115
self.argumentError('The label \'triaged\' cannot be added using MDK')

mdk/jira.py

+6
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import logging
3232
import os
3333
import requests
34+
import webbrowser
3435
import mimetypes
3536
try:
3637
import keyring
@@ -398,6 +399,11 @@ def upload(self, key, filepath):
398399

399400
return True
400401

402+
@staticmethod
403+
def openInBrowser(key):
404+
jiraurl = C.get('tracker.url').rstrip('/')
405+
url = "{0}/browse/{1}".format(jiraurl, key)
406+
webbrowser.open_new_tab(url)
401407

402408
class JiraException(Exception):
403409
pass

0 commit comments

Comments
 (0)