नमस्कार, मैंने अभी जिरा लिब की खोज की है, और मैंने सबसे अधिक टिकट बनाने वाले लोगों को ढूंढने के लिए इसका परीक्षण करने का निर्णय लिया है।
मेरे जीथब में कोड: https://github.com/victordalet/Jira_python_test
आपको बस पायथॉन और जिरा लिब इंस्टॉल करना होगा।
pip install jira
अपनी जानकारी के साथ 3 चर घोषित करें और अपना टोकन (पासवर्ड) उत्पन्न करने के लिए सुरक्षा में https://id.atlassian.com/manage-profile/profile-and-visibility पर जाएं।
JIRA_URL = "" # https://name.alassian.net JIRA_USER = "" # [email protected] JIRA_PASSWORD = "" # token
मैं JIRA जानकारी प्राप्त करने के लिए एक क्लास बना रहा हूं, जो संसाधनों या टिकटों, परियोजनाओं को खोजने के लिए get_tickets विधि की तरह एक प्रकार की MySQL क्वेरी बना सकता है ...
class TicketManager: def __init__(self): self.jira = JIRA(JIRA_URL, basic_auth=(JIRA_USER, JIRA_PASSWORD)) def get_projects(self): return self.jira.projects() def get_tickets(self, project_key: str): return self.jira.search_issues(f'project="{project_key}"') @staticmethod def ticket_status(ticket_): return ticket_.fields.status @staticmethod def ticket_reporter(ticket_): try: return ticket_.fields.reporter except AttributeError: return "Unknown" @staticmethod def ticket_assignee(ticket_): try: return ticket_.fields.assignee except AttributeError: return "Unknown"
मैं सभी टिकट ढूंढने और उपयोगकर्ता शब्दकोश में सही प्रतिमाएं जोड़ने के लिए प्रोजेक्ट ब्राउज़ करता हूं।
if __name__ == '__main__': ticket_manager = TicketManager() projects = ticket_manager.get_projects() user = {} nb_total_tickets = 0 for project in projects: tickets = ticket_manager.get_tickets(project.key) nb_total_tickets = len(tickets) for ticket in tickets: reporter = ticket_manager.ticket_reporter(ticket) assignee = ticket_manager.ticket_assignee(ticket) if assignee not in user: user[assignee] = {'ticket_to_do': 0, 'ticket_reported': 0} if reporter not in user: user[reporter] = {'ticket_to_do': 0, 'ticket_reported': 0} user[assignee]['ticket_to_do'] = 1 user[reporter]['ticket_reported'] = 1 print(f'There are {nb_total_tickets} tickets in total')
अब मैं बनाए गए और उपयोग किए गए टिकटों की संख्या के आधार पर उपयोगकर्ताओं को क्रमबद्ध कर रहा हूं।
user = dict(sorted(user.items(), key=lambda x: (x[1]['ticket_to_do'], x[1]['ticket_reported']), reverse=True)) for name, value in user.items(): print(f'{name} : {value["ticket_to_do"]} tickets to do, {value["ticket_reported"]} tickets reported')
परिणाम :
J.M. : 90 tickets to do, 60 tickets reported L.M : 75 tickets to do, 21 tickets reported J.M : 57 tickets to do, 76 tickets reported V.M : 50 tickets to do, 0 tickets reported
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3