Skip to content

Commit

Permalink
Merge pull request #57 from dannyl1u/dliu/possibility-threshold
Browse files Browse the repository at this point in the history
Comment most similar issue even if similarity threshold not met
  • Loading branch information
dannyl1u authored Nov 22, 2024
2 parents a9aa1b8 + d63501f commit 6748c20
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions src/issue_handler.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import logging
import re

from config import SIMILARITY_THRESHOLD
from src.github_api import close_issue, leave_comment
Expand All @@ -13,11 +12,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']}'"
Expand All @@ -26,9 +21,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)

0 comments on commit 6748c20

Please sign in to comment.