From 06b42d042bcdbfd74030b0905ca4b52af6829677 Mon Sep 17 00:00:00 2001 From: kjg Date: Fri, 2 Aug 2024 15:18:40 +0900 Subject: [PATCH] [rt2zammad] update range and except duplicated ticket --- fs2zammad | 9 ++++++++- zammad-duplicates-cleanup | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/fs2zammad b/fs2zammad index 3f65a7a..e5669bd 100755 --- a/fs2zammad +++ b/fs2zammad @@ -169,7 +169,6 @@ def create_zammad_ticket(id, zammad, h2t, retries=3): zammad_ticket = zammad.ticket.create(zammad_ticket_template) print(f"Created Zammad ticket {zammad_ticket['id']} for {label}") - if rt_ticket["ticket"]["Owner"] and rt_ticket["ticket"]["Owner"] != "Nobody": zammad_owner_id = maybe_create_zammad_user(rt_ticket["ticket"]["Owner"], zammad, "id") zammad.ticket.update( @@ -281,6 +280,9 @@ if not os.path.exists("rt2zammad.json"): with open("rt2zammad.json") as handle: config = json.load(handle) +rt_start = config["rt_start"] +rt_end = config["rt_end"] + h2t = html2text.HTML2Text() zammad = get_zammad_session() @@ -294,9 +296,14 @@ ticket_ids = os.listdir("tickets/") print(f"Found {len(ticket_ids)} tickets on filesystem.") ticket_ids = list(map(int, ticket_ids)) ticket_ids.sort() +ticket_ids = list(map(int, ticket_ids[rt_start:rt_end])) for id in ticket_ids: try: + matching_zammad_tickets= zammad.ticket.search(f"title: \"\[RT-{id}\]*\"") + if len(matching_zammad_tickets) >= 1: + print(f"Found duplicates: {id}") + continue zammad_ticket_id = create_zammad_ticket(id, zammad, h2t, 5) dumpfile = f"processed/{id}" with open(dumpfile, "w") as handle: diff --git a/zammad-duplicates-cleanup b/zammad-duplicates-cleanup index 89d0888..6da9cd4 100755 --- a/zammad-duplicates-cleanup +++ b/zammad-duplicates-cleanup @@ -59,11 +59,13 @@ def get_zammad_session(impersonated_user=None): def remove_duplicates_for(rt_id, zammad, retries=0): try: matching_zammad_tickets= zammad.ticket.search(f"title: \"\[RT-{rt_id}\]*\"") + #matching_zammad_tickets= zammad.ticket.search('number:16014') + print(matching_zammad_tickets[0]) matching_zammad_ids = [] if len(matching_zammad_tickets) >= 2: print(f"Found duplicates:") for zt in matching_zammad_tickets: - print(f"{zt["id"]} {zt["title"]}") + #print(f"{zt["rt_id"]} {zt["title"]}") matching_zammad_ids.append(zt["id"]) if len(matching_zammad_ids) >= 2: