From 9f6bddd5f94d0dd31ea53459f0c80a08e3ebcf92 Mon Sep 17 00:00:00 2001 From: Mattia Verga Date: Feb 18 2023 13:52:14 +0000 Subject: Add a tag for marking not taggable users Signed-off-by: Mattia Verga --- diff --git a/find_inactive_packagers.py b/find_inactive_packagers.py index 536b245..27bfaba 100644 --- a/find_inactive_packagers.py +++ b/find_inactive_packagers.py @@ -77,6 +77,8 @@ PAGURE_API_KEY = getenv('PAGURE_API_KEY', None) PAGURE_API_BASE_URL = getenv('PAGURE_API_BASE_URL', 'https://pagure.io/api/0/find-inactive-packagers') # A tag for marking "inactive packager" ticket or empty string PAGURE_NEW_TICKET_TAG = getenv('PAGURE_NEW_TICKET_TAG', 'inactive_packager') +# A tag for marking tickets where user cannot be tagged because is not registered in pagure.io +PAGURE_NOUSER_TAG = getenv('PAGURE_NOUSER_TAG', 'user_not_taggable') # The tag used when a user reply to a ticket asking to be removed from packager PAGURE_ASK_REMOVAL_TAG = getenv('PAGURE_ASK_REMOVAL_TAG', 'asked_removal') # A username to whom assign the ticket by default or None @@ -523,13 +525,19 @@ def step_one(ctx, with_bz_check, open_tickets): for user, emails in packager_email_map.items(): # Open Pagure tickets ticket_id = 'NONE' + if user in nouser_in_pagureio: + nosuchuser = 'not registered in pagure.io' + tktags = f'{PAGURE_NEW_TICKET_TAG},{PAGURE_NOUSER_TAG}' + else: + nosuchuser = '' + tktags = PAGURE_NEW_TICKET_TAG if open_tickets: log.debug(f'Opening ticket for user {user}') headers = {'Authorization': f'token {PAGURE_API_KEY}'} ping_email = mask_email(emails[0]) if len(emails) > 0 else '**ENOEMAIL**' data = {'title': f'Inactive packager detected for user {user}', 'issue_content': PING_INACTIVE_TEXT.format(username = user, email = ping_email), - 'tag': PAGURE_NEW_TICKET_TAG, + 'tag': tktags, 'assignee': PAGURE_NEW_TICKET_ASSIGNEE} try: resp = session.post(f'{PAGURE_API_BASE_URL}/new_issue', data=data, headers=headers) @@ -546,7 +554,6 @@ def step_one(ctx, with_bz_check, open_tickets): ticket_id = 'ERROR' # Write results to file emailstring = '|'.join([mask_email(em, privacy=privacy) for em in emails]) - nosuchuser = 'not registered in pagure.io' if user in nouser_in_pagureio else '' log.info(f'{user} - {ticket_id} - {emailstring} - {nosuchuser}') fout.write(f'{user},{ticket_id},{emailstring},{nosuchuser}\n') else: