fix: usar urllib para garantir compatibilidade total no feedback

This commit is contained in:
Rui
2026-05-16 08:42:47 +02:00
parent 364a510272
commit 5ec50d512a
+18 -7
View File
@@ -51,23 +51,34 @@ class SwarmAgent:
""" """
def post_comment(self, message): def post_comment(self, message):
"""Posta um comentário de feedback na Issue do Gitea""" """Posta um comentário de feedback na Issue do Gitea usando urllib (zero-dependency)"""
issue_id = self.data.get('data', {}).get('issue', {}).get('number') issue_id = self.data.get('data', {}).get('issue', {}).get('number')
if not issue_id: if not issue_id:
return return
url = f"http://10.99.0.3:3000/api/v1/repos/{self.repo_name}/issues/{issue_id}/comments" url = f"http://10.99.0.3:3000/api/v1/repos/{self.repo_name}/issues/{issue_id}/comments"
auth = ('ruicesar', 'h$tg@g5aga$ra1E3$C-yHW$-BA@DF2@Grfa!3#')
import base64
from urllib import request, parse
# Auth Basic
auth_str = 'ruicesar:h$tg@g5aga$ra1E3$C-yHW$-BA@DF2@Grfa!3#'
auth_bytes = auth_str.encode('ascii')
base64_auth = base64.b64encode(auth_bytes).decode('ascii')
data = json.dumps({"body": message}).encode('utf-8')
req = request.Request(url, data=data, method='POST')
req.add_header('Content-Type', 'application/json')
req.add_header('Authorization', f'Basic {base64_auth}')
try: try:
import requests with request.urlopen(req) as response:
response = requests.post(url, auth=auth, json={"body": message}) if response.status == 201:
if response.status_code == 201:
print(f" [✓] Comentário postado na Issue #{issue_id}") print(f" [✓] Comentário postado na Issue #{issue_id}")
else: else:
print(f" [X] Erro ao postar comentário: {response.status_code}") print(f" [X] Erro ao postar comentário: {response.status}")
except Exception as e: except Exception as e:
print(f" [E] Falha na comunicação com Gitea: {e}") print(f" [E] Falha na comunicação com Gitea via urllib: {e}")
def execute(self): def execute(self):
self.setup_workspace() self.setup_workspace()