feat: per-repo issue tracker, Gitea support, PR review pipeline #10

Merged
sharang merged 7 commits from feat/per-repo-tracker-config into main 2026-03-11 12:14:00 +00:00
2 changed files with 11 additions and 9 deletions
Showing only changes of commit 9e5342bfd6 - Show all commits

View File

@@ -38,15 +38,17 @@ impl IssueTracker for GiteaTracker {
) -> Result<TrackerIssue, CoreError> {
let url = self.api_url(&format!("/repos/{owner}/{repo}/issues"));
let mut payload = serde_json::json!({
"title": title,
"body": body,
});
// Gitea expects label IDs (integers), not names. Append label names
// to the body instead since resolving IDs would require extra API calls.
let mut full_body = body.to_string();
if !labels.is_empty() {
// Gitea expects label IDs, but we can pass label names via the API
// For simplicity, we add labels as part of the body if they can't be resolved
payload["labels"] = serde_json::json!(labels);
full_body.push_str("\n\n**Labels:** ");
full_body.push_str(&labels.join(", "));
}
let payload = serde_json::json!({
"title": title,
"body": full_body,
});
let resp = self
.http

View File

@@ -3,7 +3,7 @@ use std::path::Path;
use compliance_core::error::CoreError;
use compliance_core::traits::graph_builder::{LanguageParser, ParseOutput};
use tracing::info;
use tracing::{debug, info};
use super::javascript::JavaScriptParser;
use super::python::PythonParser;
@@ -65,7 +65,7 @@ impl ParserRegistry {
};
let parser = &self.parsers[parser_idx];
info!(
debug!(
file = %file_path.display(),
language = parser.language(),
"Parsing file"