Integrări Externe - sebiboga/testlink-upgraded GitHub Wiki

Integrări Externe 🔗

Ce sunt Integrări?

Integrări conectează TestLink cu alte sisteme pentru a schimba date automat:

TestLink ←→ JIRA (bug tracking)
TestLink ←→ GitHub (code commits)
TestLink ←→ GitLab (merge requests)
TestLink ←→ Mantis (issue tracking)
TestLink ←→ Bugzilla (defect tracking)

Integrări Disponibile în v1.9.20

1️⃣ JIRA Integration

Linkează defecte TestLink cu bug-uri JIRA.

Setup:

  1. Mergi la Administrare → Integrări → JIRA
  2. Completează:
  3. Apasă Test Connection
  4. Dacă OK, Salvează

Utilizare:

  1. Tester execută test și găsește bug
  2. Status: FAIL → Creare Bug
  3. Apasă Link JIRA Issue
  4. Se creează automat bug în JIRA
  5. JIRA bug ID se linkează cu test

Exemplu:

Test Execution: TC-001
Status: FAIL
Bug Created: JIRA-2024-1503

Link: https://jira.company.com/browse/JIRA-2024-1503
Description: Password field shows text in plain
Severity: Critical
Assigned: Senior Dev Team

Sincronizare Status:

TestLink FAIL → Creare JIRA Bug
           ↓
      Developer Fixes
           ↓
      JIRA Status: DONE
           ↓
TestLink Vede Fix → Tester Retesteaza
           ↓
      Status: PASS

2️⃣ GitHub Integration

Linkează test cases cu GitHub commits și pull requests.

Setup:

  1. Mergi la Administrare → Integrări → GitHub
  2. Completează:
    • GitHub Token: (generat din GitHub settings)
    • Repository: owner/repo
    • Base URL: https://github.com/
  3. Apasă Test Connection
  4. Salvează

Utilizare:

  1. Test Case → Linkuri → GitHub Commit
  2. Selectează commit din lista
  3. Se creează relație: Test ← → Commit

Exemplu:

Test Case: TC-050 (Payment Processing)
├─ Linked Commits:
│  ├─ abc123d: "Implement payment validation"
│  ├─ def456g: "Add refund logic"
│  └─ ghi789h: "Fix edge cases"
│
└─ Status: Toate commits merged pe main

PR Linking:

Poți linka și pull requests:

Test Case: TC-050
├─ PR #345: "Payment feature"
├─ Status: MERGED
└─ Build: v2.0 RC1 (conține PR)

3️⃣ GitLab Integration

Similar cu GitHub.

Setup:

  1. Administrare → Integrări → GitLab
  2. Configurare:
  3. Test Connection → Salvează

Utilizare:

Test Case: TC-075 (UI Redesign)
├─ GitLab Merge Request: !234
├─ Status: MERGED
└─ Branch: feature/ui-redesign

4️⃣ Mantis Integration

Conectare cu Mantis bug tracker.

Setup:

  1. Administrare → Integrări → Mantis
  2. Completează:
  3. Test Connection → Salvează

Utilizare:

Test Case eșuează:
     ↓
Creare Bug → Auto-sync cu Mantis
     ↓
Mantis ID: MAN-2024-0456
     ↓
Status în Mantis: NEW
     ↓
Dev Fixes → Mantis: RESOLVED
     ↓
Tester Retesteaza → TestLink: PASS

5️⃣ Bugzilla Integration

Pentru proiecte Mozilla-style.

Setup:

  1. Administrare → Integrări → Bugzilla
  2. Configurare credențiale și URL
  3. Test Connection → Salvează

Utilizare:

Similar cu celelalte sisteme de tracking.


Workflow Integrat: Complet

ETAPA 1: PLAN DE TEST
- Creare test plan cu 100 test cases
- Linkare cu GitHub commits
  (poti vedea ce feature testezi)

ETAPA 2: EXECUȚIE
- Tester execută test TC-050
- Găsește bug în validare payment

ETAPA 3: BUG REPORT
- Markează FAIL
- Crează Bug → Auto-sync JIRA
- JIRA-2024-1503 creat
- Link: https://jira.company.com/browse/JIRA-2024-1503

ETAPA 4: DEVELOPER FIX
- Developer vede bug în JIRA
- Crează GitHub PR #567
- Commit: "Fix payment validation"
- Push pe main
- JIRA Status: IN REVIEW

ETAPA 5: CI/CD
- GitHub Actions citeaza:
  "Test case TC-050 passed"
- Link: Test TC-050 ← → PR #567

ETAPA 6: RETEST
- Tester vede fix pe dev
- Retesteaza TC-050
- Status: PASS ✅
- JIRA: RESOLVED
- GitHub PR: MERGED

ETAPA 7: REPORT
- Coverage increased 90% → 95%
- 3 bugs resolved
- Ready for production

Link Matrix

Poți vedea relații complete:

Test Case TC-050
├─ Requirements: REQ-201, REQ-202
├─ JIRA Bugs: JIRA-1503, JIRA-1504 (fixed)
├─ GitHub PR: #567 (merged)
├─ GitHub Commits: abc123d, def456g
├─ Last Test Run: 2024-02-12 PASS
└─ Status: Production Ready

Configurare per Proiect

Fiecare proiect poate avea diferite integrări:

Proiect: Banking v2.0
├─ Bug Tracking: JIRA (banking project)
├─ Code Repo: GitHub (banking-app repo)
├─ CI/CD: GitHub Actions
└─ Status: CONFIGURED

Proiect: Mobile App v3.0
├─ Bug Tracking: Mantis
├─ Code Repo: GitLab (internal)
├─ CI/CD: GitLab CI
└─ Status: CONFIGURED

Dezactivare Integrări

Dacă nu mai vrei integrare:

  1. Administrare → Integrări → [Sistem]
  2. Apasă Dezactivează
  3. Relații vechi rămân, dar se nu creează noi

Troubleshooting

"Connection Failed"

  • Verifică URL (include https://)
  • Verifică credențiale
  • Verifică firewall/proxy
  • Verifică API token validitate

"Permission Denied"

  • User-ul nu are acces în JIRA/GitHub
  • API Token fără permisiuni
  • Repository nu e accessible
  • Verifică team membership

"Integration slow"

  • Prea mulți requests
  • Network latency
  • Server overloaded
  • Contactează admin

Best Practices

✅ DO:

  • Configurează integrări ÎNAINTE de test
  • Link JIRA/GitHub direct din test
  • Sincronizează status regulat
  • Documentează integrări setup
  • Test connection după update

❌ DON'T:

  • Nu folosești credențiale slabe
  • Nu lăsi token-uri în git
  • Nu crează manual bug-uri dacă auto-sync e on
  • Nu dezactiva integration fără backup
  • Nu ignora failed links

Gata cu Integrări? Merge la Rapoarte! 📊