similar_issue feature is working for github and bitbucket

This commit is contained in:
sarbjitgrewal
2023-10-19 10:41:50 +05:30
parent f689b96513
commit 733ed907de
3 changed files with 25 additions and 4 deletions

View File

@ -10,6 +10,7 @@ from ..algo.pr_processing import find_line_number_of_relevant_line_in_file
from ..config_loader import get_settings from ..config_loader import get_settings
from ..log import get_logger from ..log import get_logger
from .git_provider import FilePatchInfo, GitProvider from .git_provider import FilePatchInfo, GitProvider
import ast
class BitbucketProvider(GitProvider): class BitbucketProvider(GitProvider):
@ -350,4 +351,17 @@ class BitbucketProvider(GitProvider):
def check_if_issue_pull_request(self, issue): def check_if_issue_pull_request(self, issue):
return False return False
def get_issue_numbers(self, issue):
list_of_issue_numbers = []
for issue in issue:
list_of_issue_numbers.append(issue.id)
return str(list_of_issue_numbers)
def get_issue_numbers_from_list(self, issues):
# convert str to list'
int_list = ast.literal_eval(issues)
int_list = [int(x) for x in int_list]
for issue_number in int_list:
return issue_number

View File

@ -494,7 +494,7 @@ class GithubProvider(GitProvider):
return comment.body return comment.body
def get_issue(self, workspace_slug, repo_name, original_issue_number): def get_issue(self, workspace_slug, repo_name, original_issue_number):
return self.repo_obj.get_issue(original_issue_number) return self.repo_obj.get_issue(int(original_issue_number))
def get_repo_obj(self, workspace_slug, repo_name): def get_repo_obj(self, workspace_slug, repo_name):
return self.github_client.get_repo(repo_name) return self.github_client.get_repo(repo_name)
@ -506,4 +506,10 @@ class GithubProvider(GitProvider):
if issue.pull_request: if issue.pull_request:
return True return True
return False return False
def get_issue_numbers(self, issues_list):
return str([issue.number for issue in issues_list])
def get_issue_numbers_from_list(self, r):
return int(r.split('.')[0].split('_')[-1])

View File

@ -129,11 +129,11 @@ class PRSimilarIssue:
continue continue
try: try:
issue_number = int(r["id"].split('.')[0].split('_')[-1]) issue_id= r['id']
issue_number = self.git_provider.get_issue_numbers_from_list(issue_id)
except: except:
get_logger().debug(f"Failed to parse issue number from {r['id']}") get_logger().debug(f"Failed to parse issue number from {r['id']}")
continue continue
if original_issue_number == issue_number: if original_issue_number == issue_number:
continue continue
if issue_number not in relevant_issues_number_list: if issue_number not in relevant_issues_number_list:
@ -171,8 +171,9 @@ class PRSimilarIssue:
def _update_index_with_issues(self, issues_list, repo_name_for_index, upsert=False): def _update_index_with_issues(self, issues_list, repo_name_for_index, upsert=False):
get_logger().info('Processing issues...') get_logger().info('Processing issues...')
corpus = Corpus() corpus = Corpus()
issues = self.git_provider.get_issue_numbers(issues_list)
example_issue_record = Record( example_issue_record = Record(
id=str([issue.number for issue in issues_list]), id=str(issues),
text="example_issue", text="example_issue",
metadata=Metadata(repo=repo_name_for_index) metadata=Metadata(repo=repo_name_for_index)
) )