From 6e7639abc77176fc82a83ec759beca46279ce5b0 Mon Sep 17 00:00:00 2001 From: dannyl1u Date: Mon, 18 Nov 2024 14:16:20 -0800 Subject: [PATCH 1/2] Comment similar issue if threshold not high enough to close --- src/issue_handler.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/issue_handler.py b/src/issue_handler.py index a3089e8..ff69f95 100644 --- a/src/issue_handler.py +++ b/src/issue_handler.py @@ -13,11 +13,7 @@ def handle_new_issue( ): logger.info(f"New issue opened: {issue_number} in {repo_full_name}") full_issue = f"{issue_title} {issue_body}" - - stripped_title = re.sub( - r"^(bug:|feat:|enh:|chore:)\s*", "", issue_title, flags=re.IGNORECASE - ) - similar_issue = query_similar_issue(stripped_title, repo_id) + similar_issue = query_similar_issue(full_issue, repo_id) if similar_issue and similar_issue["distance"] < 1 - SIMILARITY_THRESHOLD: comment_text = f"Closed due to high similarity with issue #{similar_issue['issue_number']} with title '{similar_issue['title']}'" @@ -26,9 +22,17 @@ def handle_new_issue( logger.info( f"The new issue #{issue_number} with title '{issue_title}' is most similar to existing issue #{similar_issue['issue_number']} with title '{similar_issue['title']}', with a cosine similarity of {1 - similar_issue['distance']:.2f}." ) + elif similar_issue and similar_issue["distance"] < 1 - (SIMILARITY_THRESHOLD*0.5): + comment_text = f"Possibly related to issue #{similar_issue['issue_number']} with title '{similar_issue['title']}'" + leave_comment(installation_id, repo_full_name, issue_number, comment_text) + logger.info( + f"The new issue #{issue_number} with title '{issue_title}' is possibly similar to existing issue #{similar_issue['issue_number']} with title '{similar_issue['title']}', with a cosine similarity of {1 - similar_issue['distance']:.2f}." + ) else: + comment_text = f"Most likely a new issue, most similar issue: #{similar_issue['issue_number']} with title '{similar_issue['title']}'" + leave_comment(installation_id, repo_full_name, issue_number, comment_text) logger.info( - f"The new issue #{issue_number} with title '{issue_title}' is not similar to existing issues or cannot be closed due to missing information." + f"The new issue #{issue_number} with title '{issue_title}' is not similar enough to close, most similar: #{similar_issue['issue_number']} with title '{similar_issue['title']}', with a cosine similarity of {1 - similar_issue['distance']:.2f}" ) add_issue_to_chroma(full_issue, issue_number, issue_title, repo_id) From d63501fbc12bcbb824669b909774edf0129c61be Mon Sep 17 00:00:00 2001 From: dannyl1u Date: Mon, 18 Nov 2024 14:20:18 -0800 Subject: [PATCH 2/2] run linters --- src/issue_handler.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/issue_handler.py b/src/issue_handler.py index ff69f95..5d05b37 100644 --- a/src/issue_handler.py +++ b/src/issue_handler.py @@ -1,5 +1,4 @@ import logging -import re from config import SIMILARITY_THRESHOLD from src.github_api import close_issue, leave_comment @@ -22,7 +21,7 @@ def handle_new_issue( logger.info( f"The new issue #{issue_number} with title '{issue_title}' is most similar to existing issue #{similar_issue['issue_number']} with title '{similar_issue['title']}', with a cosine similarity of {1 - similar_issue['distance']:.2f}." ) - elif similar_issue and similar_issue["distance"] < 1 - (SIMILARITY_THRESHOLD*0.5): + elif similar_issue and similar_issue["distance"] < 1 - (SIMILARITY_THRESHOLD * 0.5): comment_text = f"Possibly related to issue #{similar_issue['issue_number']} with title '{similar_issue['title']}'" leave_comment(installation_id, repo_full_name, issue_number, comment_text) logger.info(