GitLab Connector Logic Fixes (#966)

This commit is contained in:
Yuhong Sun
2024-01-18 16:44:07 -08:00
committed by GitHub
parent 5edc464c9a
commit 5504c9f289

View File

@@ -37,13 +37,11 @@ def _batch_gitlab_objects(
def get_author(author: Any) -> BasicExpertInfo: def get_author(author: Any) -> BasicExpertInfo:
return BasicExpertInfo( return BasicExpertInfo(
display_name=author.get("name"), display_name=author.get("name"),
first_name=author.get("name").split(" ")[0],
last_name=author.get("name").split(" ")[1],
) )
def _convert_merge_request_to_document(mr: Any) -> Document: def _convert_merge_request_to_document(mr: Any) -> Document:
return Document( doc = Document(
id=mr.web_url, id=mr.web_url,
sections=[Section(link=mr.web_url, text=mr.description or "")], sections=[Section(link=mr.web_url, text=mr.description or "")],
source=DocumentSource.GITLAB, source=DocumentSource.GITLAB,
@@ -55,10 +53,11 @@ def _convert_merge_request_to_document(mr: Any) -> Document:
primary_owners=[get_author(mr.author)], primary_owners=[get_author(mr.author)],
metadata={"state": mr.state, "type": "MergeRequest"}, metadata={"state": mr.state, "type": "MergeRequest"},
) )
return doc
def _convert_issue_to_document(issue: Any) -> Document: def _convert_issue_to_document(issue: Any) -> Document:
return Document( doc = Document(
id=issue.web_url, id=issue.web_url,
sections=[Section(link=issue.web_url, text=issue.description or "")], sections=[Section(link=issue.web_url, text=issue.description or "")],
source=DocumentSource.GITLAB, source=DocumentSource.GITLAB,
@@ -68,8 +67,9 @@ def _convert_issue_to_document(issue: Any) -> Document:
# due to local time discrepancies with UTC # due to local time discrepancies with UTC
doc_updated_at=issue.updated_at.replace(tzinfo=timezone.utc), doc_updated_at=issue.updated_at.replace(tzinfo=timezone.utc),
primary_owners=[get_author(issue.author)], primary_owners=[get_author(issue.author)],
metadata={"state": issue.state, "type": issue.type | "Issue"}, metadata={"state": issue.state, "type": issue.type if issue.type else "Issue"},
) )
return doc
class GitlabConnector(LoadConnector, PollConnector): class GitlabConnector(LoadConnector, PollConnector):
@@ -102,7 +102,7 @@ class GitlabConnector(LoadConnector, PollConnector):
if self.gitlab_client is None: if self.gitlab_client is None:
raise ConnectorMissingCredentialError("Gitlab") raise ConnectorMissingCredentialError("Gitlab")
project = self.gitlab_client.projects.get( project = self.gitlab_client.projects.get(
f"{self.project_owner[0]}/{self.project_name[0]}" f"{self.project_owner}/{self.project_name}"
) )
if self.include_mrs: if self.include_mrs:
@@ -138,9 +138,6 @@ class GitlabConnector(LoadConnector, PollConnector):
return return
if end is not None and issue.updated_at > end: if end is not None and issue.updated_at > end:
continue continue
if issue.updated_at is not None:
# MRs are handled separately
continue
doc_batch.append(_convert_issue_to_document(issue)) doc_batch.append(_convert_issue_to_document(issue))
yield doc_batch yield doc_batch