Descrizione
Connettore enterprise per GitHub.com (la piattaforma DevOps Microsoft con 100M+ developer attivi, standard de-facto per code hosting open-source e privato, alimentata da una solida API REST stabilizzata dal 2008 e ora estesa con GraphQL v4 per query rich) via API REST v3 ufficiale. Sette operazioni atomiche gestiscono il ciclo di vita issue+PR+commit: createIssue (apertura nuova segnalazione con title, body markdown, labels array, assignees array, milestone, reactions iniziali), listIssues (paginated con filtri compound state/labels/assignee/since per dashboard interne), createPullRequest (apertura PR con head→base branch, draft mode optional, body markdown con auto-link a issue tramite "Closes #N", reviewers + team_reviewers assegnati), listCommits (storico commit di un branch/path per audit/changelog auto), getIssue (fetch puntuale con full body + comments + timeline events), closeIssue (con motivazione "completed" o "not planned" GitHub 2023+), addComment (markdown body con embedded link e mentioni @user/@team che triggerano notify GitHub). Auth via Personal Access Token classico (formato ghp_xxxxxxxx, scopes: repo, workflow) o fine-grained (formato github_pat_xxxxxxxx, scopes per-repository granular: contents read/write, issues read/write, pull_requests read/write, metadata read — raccomandato per security minima esposizione 2024+). Token stored nel vault integration FlowForge con label leggibile (es. "github-org-acme-prod-bot"). Rate limiting GitHub: 5000 req/h authenticated (1.4 RPS sustained) per user/PAT, 15000 req/h per GitHub App, 60 req/h anonymous (mai usato in produzione). Header X-RateLimit-Remaining tracked dal nodo, auto-backoff quando < 100 remaining per evitare burst saturation, retry exponential su 429 con header Retry-After. Conditional requests (ETag + If-None-Match) usate quando possibile per non consumare rate limit su risorse invariate (es. listCommits del mainstream). GraphQL API NON usata da questo nodo (più powerful per query annidate ma 5× più complessa da configurare per non-developer — disponibile via action_http custom per power user). API docs: docs.github.com/en/rest (REST API v3 stable). Use case: bug report automatico da error handler workflow → createIssue su repo "support" con title "{{error.code}}: {{summary}}" body markdown con stack trace + run_id link al run viewer dashboard tenant; PR auto-creation post-commit successful tramite CI workflow del flow upgrade automatic; sync bidirezionale issue tra Linear workspace e GitHub repository (label sync, status sync, assignee sync con OAuth user mapping); monitoraggio commit storia su mainstream per audit di compliance ISO 27001 (chi ha committato cosa quando); creation automatic di changelog markdown da listCommits filtrati per merge commit del release branch tra due tag.
