Skip to content

Cum să folosești API-ul Codacy pentru commit-uri — Ghid pas cu pas

DodaTech Updated 2025-01-15 1 min read

In this tutorial, you'll learn about Cum să folosești API. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.

Folosești API-ul Codacy pentru commit-uri pentru a obține analize detaliate la nivel de commit. Poți verifica issues, coverage și statusul quality gate-ului pentru orice commit din istoric.

Step-by-Step Fix

1. Obține analiza pentru un commit specific

curl -H "api-token: $CODACY_API_TOKEN" \
  https://app.codacy.com/api/v3/projects/{owner}/{repo}/commits/{sha}/analysis

Răspunsul include statusul analizei, numărul de issues și coverage.

2. Obține issues pentru un commit

curl -H "api-token: $CODACY_API_TOKEN" \
  https://app.codacy.com/api/v3/projects/{owner}/{repo}/commits/{sha}/issues
{
  "total": 5,
  "data": [
    {
      "patternId": "no-console",
      "severity": "Warning",
      "file": "src/app.js",
      "line": 42,
      "message": "Unexpected console statement]
    }
  ]
}

3. Obține coverage pentru un commit

curl -H "api-token: $CODACY_API_TOKEN" \
  https://app.codacy.com/api/v3/projects/{owner}/{repo}/commits/{sha}/coverage

4. Script automat de verificare

import requests, sys

def check_commit(owner, repo, sha):
    headers = {"api-token": "your-token"}
    url = f"https://app.codacy.com/api/v3/projects/{owner}/{repo}/commits/{sha}/analysis"
    r = requests.get(url, headers=headers).json()
    if r.get("qualityGateResult") == "Failed":
        print(f"Commit {sha[:7]} FAILED quality gate!")
        sys.exit(1)

Common Mistakes

  1. SHA incorect -- SHA-ul trebuie să fie complet (40 caractere), nu prescurtat
  2. Commit neanalizat -- dacă commit-ul nu a fost încă analizat, API-ul returnează 404
  3. Proiect greșit -- owner și repo trebuie să coincidă exact cu numele din Codacy
  4. Rate limit la batch -- pentru analize multiple, adaugă delay între request-uri
  5. Ignorarea analizelor în curs -- statusul poate fi "Processing"; așteaptă înainte de a verifica

Practice Exercise

Scrie un script care verifică ultimele 10 commit-uri dintr-un branch și trimite un raport Slack dacă vreunul a eșuat quality gate-ul.

FAQ

Cum știu dacă un commit a fost analizat de Codacy?

Verifică endpoint-ul /commits/{sha}/analysis. Dacă returnează un răspuns cu status, commit-ul a fost analizat. Statusul "Processing" înseamnă că analiza este în curs. |||Ce informații sunt disponibile pentru fiecare commit? Issues (cu severitate și locație), coverage, metrici de calitate și rezultatul quality gate-ului. |||Pot declanșa o analiză printr-un API call? Nu direct. Analiza se declanșează automat la push sau PR. Poți face un push gol pentru a retriggera.

Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro