"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन - जीरा टिकट प्रबंधन

पायथन - जीरा टिकट प्रबंधन

2024-11-04 को प्रकाशित
ब्राउज़ करें:106

Python - Jira ticket management

नमस्कार, मैंने अभी जिरा लिब की खोज की है, और मैंने सबसे अधिक टिकट बनाने वाले लोगों को ढूंढने के लिए इसका परीक्षण करने का निर्णय लिया है।

मेरे जीथब में कोड: https://github.com/victordalet/Jira_python_test


मैं - स्थापना

आपको बस पायथॉन और जिरा लिब इंस्टॉल करना होगा।

pip install jira

II - लॉग इन करें

अपनी जानकारी के साथ 3 चर घोषित करें और अपना टोकन (पासवर्ड) उत्पन्न करने के लिए सुरक्षा में https://id.atlassian.com/manage-profile/profile-and-visibility पर जाएं।

JIRA_URL = "" # https://name.alassian.net
JIRA_USER = "" # [email protected]
JIRA_PASSWORD = "" # token

III - लिब फोन्क्शननेमेंट

मैं 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"

IV - उपयोगकर्ता गतिविधि प्रदर्शित करें

मैं सभी टिकट ढूंढने और उपयोगकर्ता शब्दकोश में सही प्रतिमाएं जोड़ने के लिए प्रोजेक्ट ब्राउज़ करता हूं।

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
विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/victordalet/python-jira-ticket-management-1jb7?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3