From db37ee819a4eac1645d5a71414dee61db34b9dae Mon Sep 17 00:00:00 2001 From: "Hussam.lawen" Date: Mon, 6 Nov 2023 14:11:49 +0200 Subject: [PATCH] support git providers with no label support --- pr_agent/tools/pr_description.py | 2 +- pr_agent/tools/pr_generate_labels.py | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/pr_agent/tools/pr_description.py b/pr_agent/tools/pr_description.py index a8b23770..bd968fe7 100644 --- a/pr_agent/tools/pr_description.py +++ b/pr_agent/tools/pr_description.py @@ -228,7 +228,7 @@ class PRDescription: # Iterate over the dictionary items and append the key and value to 'markdown_text' in a markdown format markdown_text = "" # Don't display 'PR Labels' - if 'PR Labels' in self.data: + if 'PR Labels' in self.data and self.git_provider.is_supported("get_labels"): self.data.pop('PR Labels') if not get_settings().pr_description.enable_pr_type: self.data.pop('PR Type') diff --git a/pr_agent/tools/pr_generate_labels.py b/pr_agent/tools/pr_generate_labels.py index 3fcccda0..94dc2815 100644 --- a/pr_agent/tools/pr_generate_labels.py +++ b/pr_agent/tools/pr_generate_labels.py @@ -82,11 +82,18 @@ class PRGenerateLabels: if get_settings().config.publish_output: get_logger().info(f"Pushing labels {self.pr_id}") + + current_labels = self.git_provider.get_labels() + if current_labels is None: + current_labels = [] + pr_labels = pr_labels + current_labels + if self.git_provider.is_supported("get_labels"): - current_labels = self.git_provider.get_labels() - if current_labels is None: - current_labels = [] - self.git_provider.publish_labels(pr_labels + current_labels) + self.git_provider.publish_labels(pr_labels) + elif pr_labels: + value = ', '.join(v for v in pr_labels) + pr_labels_text = f"## PR Labels:\n{value}\n" + self.git_provider.publish_comment(pr_labels_text, is_temporary=False) self.git_provider.remove_initial_comment() except Exception as e: get_logger().error(f"Error generating PR labels {self.pr_id}: {e}")