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:
- Mergi la Administrare → Integrări → JIRA
- Completează:
- JIRA URL: https://your-jira.atlassian.net
- Username: [email protected]
- API Token: (obține de la JIRA account)
- Project: PROJECT-KEY
- Apasă Test Connection
- Dacă OK, Salvează
Utilizare:
- Tester execută test și găsește bug
- Status: FAIL → Creare Bug
- Apasă Link JIRA Issue
- Se creează automat bug în JIRA
- 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:
- Mergi la Administrare → Integrări → GitHub
- Completează:
- GitHub Token: (generat din GitHub settings)
- Repository: owner/repo
- Base URL: https://github.com/
- Apasă Test Connection
- Salvează
Utilizare:
- Test Case → Linkuri → GitHub Commit
- Selectează commit din lista
- 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:
- Administrare → Integrări → GitLab
- Configurare:
- GitLab URL: https://gitlab.com
- Access Token: (din GitLab)
- Project: project-id
- 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:
- Administrare → Integrări → Mantis
- Completează:
- Mantis URL: https://mantis.company.com
- Username: mantis_user
- Password: mantis_password
- Project: Banking
- Category: Login
- 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:
- Administrare → Integrări → Bugzilla
- Configurare credențiale și URL
- 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:
- Administrare → Integrări → [Sistem]
- Apasă Dezactivează
- 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! 📊