2021-02-06 16:30:13 +00:00
|
|
|
import json
|
2022-01-17 13:28:49 +00:00
|
|
|
|
2022-07-03 06:05:40 +00:00
|
|
|
from core.elements import Url, ErrorMessage
|
2021-02-06 16:30:13 +00:00
|
|
|
from core.utils import get_url
|
|
|
|
|
|
|
|
|
|
|
|
async def bugtracker_get(MojiraID):
|
|
|
|
Title = False
|
|
|
|
Type = False
|
|
|
|
TStatus = False
|
|
|
|
Project = False
|
|
|
|
Resolution = False
|
|
|
|
Priority = False
|
|
|
|
Version = False
|
|
|
|
Link = False
|
|
|
|
FixVersion = False
|
2022-07-05 04:32:58 +00:00
|
|
|
Translation = False
|
2021-08-02 03:00:18 +00:00
|
|
|
ID = str.upper(MojiraID)
|
|
|
|
json_url = 'https://bugs.mojang.com/rest/api/2/issue/' + ID
|
2021-02-06 16:30:13 +00:00
|
|
|
get_json = await get_url(json_url)
|
2022-07-05 04:32:58 +00:00
|
|
|
get_spx = await get_url('https://bugs.guangyaostore.com/translations')
|
|
|
|
if get_spx:
|
|
|
|
spx = json.loads(get_spx)
|
|
|
|
if ID in spx:
|
|
|
|
Translation = spx[ID]
|
2021-02-06 16:30:13 +00:00
|
|
|
if get_json:
|
|
|
|
load_json = json.loads(get_json)
|
|
|
|
errmsg = ''
|
|
|
|
if 'errorMessages' in load_json:
|
|
|
|
for msg in load_json['errorMessages']:
|
|
|
|
errmsg += '\n' + msg
|
|
|
|
else:
|
|
|
|
if 'key' in load_json:
|
|
|
|
Title = f'[{load_json["key"]}] '
|
|
|
|
if 'fields' in load_json:
|
|
|
|
fields = load_json['fields']
|
|
|
|
if 'summary' in fields:
|
2022-07-05 04:32:58 +00:00
|
|
|
if Translation:
|
|
|
|
Title = Title + \
|
|
|
|
fields['summary'] + \
|
|
|
|
f' ({Translation})' if Translation else ''
|
|
|
|
else:
|
|
|
|
Title = Title + fields['summary']
|
2021-02-06 16:30:13 +00:00
|
|
|
if 'issuetype' in fields:
|
|
|
|
Type = fields['issuetype']['name']
|
|
|
|
if 'status' in fields:
|
|
|
|
TStatus = fields['status']['name']
|
|
|
|
if 'project' in fields:
|
|
|
|
Project = fields['project']['name']
|
|
|
|
if 'resolution' in fields:
|
|
|
|
if fields['resolution'] is not None:
|
|
|
|
Resolution = fields['resolution']['name']
|
|
|
|
else:
|
|
|
|
Resolution = 'Unresolved'
|
|
|
|
if 'versions' in load_json['fields']:
|
|
|
|
Versions = fields['versions']
|
|
|
|
verlist = []
|
|
|
|
for item in Versions[:]:
|
|
|
|
verlist.append(item['name'])
|
|
|
|
if verlist[0] == verlist[-1]:
|
|
|
|
Version = "Version: " + verlist[0]
|
|
|
|
else:
|
2022-07-05 04:32:58 +00:00
|
|
|
Version = "Versions: " + \
|
|
|
|
verlist[0] + " ~ " + verlist[-1]
|
2021-02-06 16:30:13 +00:00
|
|
|
Link = 'https://bugs.mojang.com/browse/' + str.upper(MojiraID)
|
|
|
|
if 'customfield_12200' in fields:
|
|
|
|
if fields['customfield_12200']:
|
2022-07-05 04:32:58 +00:00
|
|
|
Priority = "Mojang Priority: " + \
|
|
|
|
fields['customfield_12200']['value']
|
2021-02-06 16:30:13 +00:00
|
|
|
if 'priority' in fields:
|
|
|
|
if fields['priority']:
|
|
|
|
Priority = "Priority: " + fields['priority']['name']
|
|
|
|
if 'fixVersions' in fields:
|
|
|
|
if TStatus == 'Resolved':
|
|
|
|
if fields['fixVersions']:
|
|
|
|
print(fields['fixVersions'])
|
|
|
|
FixVersion = fields['fixVersions'][0]['name']
|
|
|
|
else:
|
2021-12-31 15:08:23 +00:00
|
|
|
return ErrorMessage('获取Json失败。')
|
2021-02-06 16:30:13 +00:00
|
|
|
msglist = []
|
|
|
|
if errmsg != '':
|
|
|
|
msglist.append(errmsg)
|
|
|
|
else:
|
|
|
|
if Title:
|
|
|
|
msglist.append(Title)
|
|
|
|
if Type:
|
|
|
|
Type = 'Type: ' + Type
|
|
|
|
if TStatus in ['Open', 'Resolved']:
|
|
|
|
Type = f'{Type} | Status: {TStatus}'
|
|
|
|
msglist.append(Type)
|
|
|
|
if Project:
|
|
|
|
Project = 'Project: ' + Project
|
|
|
|
msglist.append(Project)
|
|
|
|
if TStatus:
|
|
|
|
if TStatus not in ['Open', 'Resolved']:
|
|
|
|
TStatus = 'Status: ' + TStatus
|
|
|
|
msglist.append(TStatus)
|
|
|
|
if Priority:
|
|
|
|
msglist.append(Priority)
|
|
|
|
if Resolution:
|
2022-07-05 04:32:58 +00:00
|
|
|
Resolution = "Resolution: " + Resolution + \
|
|
|
|
('\nFixed Version: ' + FixVersion if FixVersion else '')
|
2021-02-06 16:30:13 +00:00
|
|
|
msglist.append(Resolution)
|
|
|
|
if Version:
|
|
|
|
msglist.append(Version)
|
|
|
|
if Link:
|
2022-01-17 13:28:49 +00:00
|
|
|
msglist.append(str(Url(Link)))
|
2021-02-06 16:30:13 +00:00
|
|
|
msg = '\n'.join(msglist)
|
|
|
|
return msg
|