GitHub: Issues / PRs / Commits

community_github · action · Utility · Disponibile · v1.0.0

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.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
integrationLabel
Etichetta integration (opzionale)
stringno
main-account
Default null. Per multi-account usa label.
operation
Operazione
enum
createIssuelistIssuesgetIssuecloseIssueaddCommentcreatePullRequestlistCommits
sicreateIssueTipo di azione GitHub da eseguire.
owner
Owner (user/org)
expressionsi
flowforge
Owner del repo (user o organization). Required.
repo
Nome repository
expressionsi
flowforge-platform
Nome del repo (no owner prefix). Required.
title
Titolo (per createIssue/createPullRequest)
expressionnoRequired per createIssue + createPullRequest.
body
Body markdown (per createIssue/PR/addComment)
expressionnoMarkdown supportato. Required per createIssue/createPullRequest/addComment.
issueNumber
Issue/PR number (per getIssue/closeIssue/addComment)
expressionno
42
Numero issue o PR. Required per getIssue/closeIssue/addComment.
labels
Labels (comma-separated, per createIssue)
expressionno
bug,production
Labels da applicare a createIssue. Labels inesistenti skip (warning).
assignees
Assignees (comma-separated logins)
expressionno
alice,bob
GitHub usernames da assegnare a issue/PR.
baseBranch
Base branch (per createPullRequest)
expressionnomainBranch target del PR (default main).
headBranch
Head branch (per createPullRequest)
expressionno
feature/xyz
Branch sorgente del PR. Required per createPullRequest.
perPage
Items per page (per list operations)
numberno30Max 100 (hard cap GitHub). Default 30.
state
Filtro state (per listIssues)
enum
openclosedall
noopenState filter per listIssues.

⬆️ Output del nodo

Campi disponibili nei nodi successivi via $node.<alias>.json.<field>:

  • ok
  • data
  • count
  • rateLimitRemaining

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-community_github-1",
  "defId": "community_github",
  "label": "GitHub: Issues / PRs / Commits",
  "config": {
    "operation": "createIssue",
    "owner": "flowforge",
    "repo": "flowforge-platform",
    "baseBranch": "main",
    "perPage": 30,
    "state": "open"
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare GitHub: Issues / PRs / Commits?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi