accueil / serveurs / Dev & Code / com.gluecron/gluecron
com.gluecron/gluecron
serveur MCP (Model Context Protocol) · gluecron 1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.gluecron/gluecron est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.gluecron/gluecron » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 99 outils
- gluecron_acquire_lease≈ 289 tokens
Grab an exclusive lease on a PR, issue, branch or file path in a repository you can write, for one of your agent sessions. Pass owner+repo with a bare key (PR/issue number, branch name, path), or target_id '<repository id>:<key>'. Returns lease null when another agent holds an active lease.
Paramètres, retour & exemple (6)
Paramètresrepo· string · optionnel
Repository name (optional, with owner)owner· string · optionnel
Repository owner (optional, with repo)target_id· string · requis
PR/issue number, branch name or file path (with owner+repo, or a session scoped to a repo); '<repository id>:<key>'; or a PR/issue idduration_ms· number · optionnel
Lease duration, clamped to 1 second – 1 hour (default 5 minutes)target_type· string · requis
'issue' | 'pr' | 'branch' | 'file_path'agent_session_id· string · requis
Exemple d'appel{"name": "gluecron_acquire_lease", "arguments": {"target_id": "texte", "target_type": "texte", "agent_session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_ai_cost_summary≈ 127 tokens
Return AI spend rollups. Scope by one of: user_id (self), repo {owner,repo}, or agent_session_id. Defaults to caller's user spend.
Paramètres, retour & exemple (4)
Paramètresrepo· string · optionnelowner· string · optionnelscope· string · optionnel
'user' (default) | 'repo' | 'agent'agent_session_id· string · optionnel
Exemple d'appel{"name": "gluecron_ai_cost_summary", "arguments": {"repo": "texte", "owner": "texte", "scope": "texte", "agent_session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_apply_patch≈ 509 tokens
Commit a patch to a branch without sending whole files — the way to change a few lines of a large file. `patch` is a unified diff as `git diff` prints it (one commit, `message` required) OR `git format-patch` mbox output (each patch becomes its own commit with the patch's own message and author, like `git am`; `message` is ignored). Applied server-side with `git apply --cached` against the branch head (created from `base_branch` if missing); blank context lines a transport stripped to empty lines, or trimmed off the end of the patch, are restored first (git still checks them against the file). `expected_head_sha` makes it compare-and-swap (all zeros = branch must not exist yet). Meets the same branch protection, rulesets and secret scan as a git push, and fires CI/webhooks like one. Patch limit 2 MiB. Requires 'repo' scope. Returns {branch, commit_sha, parent_sha, files_changed, files, commits, created} (+ blank_context_lines_restored / trimmed_blank_context_lines_restored when a repair was needed).
Paramètres, retour & exemple (7)
Paramètresrepo· string · requisowner· string · requispatch· string · requis
Unified diff (`git diff`, a/ b/ prefixes) or `git format-patch` mbox text. Max 2 MiB.branch· string · requis
Target branch (short name). Created if it does not exist.message· string · optionnel
Commit message. Required for a unified diff; ignored for mbox input (each patch carries its own).base_branch· string · optionnel
Branch to fork from when `branch` does not exist yet (default: the repo's default branch).expected_head_sha· string · optionnel
Optional compare-and-swap: the 40-hex sha you expect `branch` to point at. Refused if it moved. All zeros = the branch must not exist.
Exemple d'appel{"name": "gluecron_apply_patch", "arguments": {"repo": "texte", "owner": "texte", "patch": "texte", "branch": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_approve_pr≈ 246 tokens
Approve a pull request: records an 'approved' review by the caller — the same review the web form and POST /api/v2/repos/:owner/:repo/pulls/:number/reviews write, so it counts toward branch protection's required approvals and clears the caller's own earlier request for changes. The PR must be open; its author cannot approve it. Requires write access and 'repo' scope. To request changes use gluecron_request_changes. Returns {reviewId, number, state, url}.
Paramètres, retour & exemple (4)
Paramètresbody· string · optionnel
Optional review comment (Markdown)repo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_approve_pr", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_assign_issue≈ 283 tokens
Assign (or, with remove: true, unassign) users on an issue or pull request. Real assignees since 2026-10-12 — up to 10 per thread, only users who can read the repository; the old `assignee:<username>` labels were migrated. Pass `assignee` (one username) or `assignees` (array). `type` is 'issue' (default) or 'pull_request'. Requires 'repo' scope and write access. Returns {assigned, skipped:[{username, reason}], removed, assignees}.
Paramètres, retour & exemple (7)
Paramètresrepo· string · requistype· string · optionnel
issue (default) | pull_requestowner· string · requisnumber· number · requisremove· boolean · optionnel
Unassign the given users instead (default false)assignee· string · optionnel
Username to assignassignees· array · optionnel
Usernames to assign, strings (alternative to `assignee`)
Exemple d'appel{"name": "gluecron_assign_issue", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_atomic_multi_file_commit≈ 252 tokens
Apply a set of file writes + deletes as a single atomic commit on a branch (creates the branch if it doesn't exist). The killer agent tool: blob/tree/commit/ref-update sequence. Each change is `{path, content?, content_base64?, deleted?}`. Meets the same branch protection, rulesets and secret scan as a git push, and fires CI/webhooks like one. Requires 'repo' scope.
Paramètres, retour & exemple (6)
Paramètresrepo· string · requisowner· string · requisbranch· string · requischanges· array · requis
Array of {path, content?|content_base64?, deleted?} entries.message· string · requisbase_branch· string · optionnel
Branch to fork from when `branch` doesn't yet exist (default: repo default).
Exemple d'appel{"name": "gluecron_atomic_multi_file_commit", "arguments": {"repo": "texte", "owner": "texte", "branch": "texte", "changes": [], "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_backup_status≈ 223 tokens
Site admins only (needs an 'admin'-scoped token). Backup and restore-drill health: whether the newest backup set is verified on an offsite target and how old it is, whether offsite copies are immutable (Object Lock), when a restore drill last passed, whether the backup worker is running, plus targets (host/bucket, never keys), schedule and recent runs. A stale, failed, local-only or never-drilled backup reads RED. Pass start: 'backup' or 'drill' to queue one for the worker (picked up within 15 minutes; audit-logged). Returns {health, reasons, targets, problems, schedule, runs, started?}.
Paramètres, retour & exemple (1)
Paramètresstart· string · optionnel
Optional: 'backup' or 'drill' — queue one now
Exemple d'appel{"name": "gluecron_backup_status", "arguments": {"start": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_cancel_workflow_run≈ 120 tokens
Cancel a queued/running workflow run. Requires 'repo' scope.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requisowner· string · requisrun_id· string · requis
The run's id, or a unique leading part of it (8+ hex characters)
Exemple d'appel{"name": "gluecron_cancel_workflow_run", "arguments": {"repo": "texte", "owner": "texte", "run_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_chat_continue≈ 131 tokens
Send another message to an existing repo chat. Returns the assistant's reply. If the AI service does not answer this fails with a JSON-RPC error carrying {chat_id, ai_error} rather than returning apology copy as a reply.
Paramètres, retour & exemple (2)
Paramètreschat_id· string · requismessage· string · requis
Exemple d'appel{"name": "gluecron_chat_continue", "arguments": {"chat_id": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_chat_with_repo≈ 188 tokens
Start a new chat with a repo: creates a chat row, sends the first user message, streams + persists the assistant reply. Returns {chat_id, reply}. If the AI service does not answer this fails with a JSON-RPC error carrying {chat_id, ai_error} — it never returns apology copy as a reply. Requires authentication.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requisowner· string · requistitle· string · optionnel
Chat title (optional)message· string · requis
Initial user message
Exemple d'appel{"name": "gluecron_chat_with_repo", "arguments": {"repo": "texte", "owner": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_ci_executor≈ 250 tokens
Where CI runs and why: mode (external | in-process), declaration (external | in-process | auto) and its source (CI_EXECUTOR on the box, the estate-wide setting, or auto), runners configured / reachable / busy / slots, lastSeenAt, state (ok | degraded | unconfigured | in-process) and holdReason — the sentence every queued run shows when no runner can take it. In-process never runs while external runners are configured. Site admins (admin scope) also get per-runner rows and may pass `declare` (external | in-process | auto) to set the estate-wide setting, audited (the answer then carries `saved`). Same as GET/PUT /api/v2/ci/executor and /admin/runners.
Paramètres, retour & exemple (1)
Paramètresdeclare· string · optionnel
Site admins: set the estate-wide declaration to external, in-process or auto. Omit to read only.
Exemple d'appel{"name": "gluecron_ci_executor", "arguments": {"declare": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_ci_queue_status≈ 244 tokens
How full the shared CI queue is, and what to do about it: level (ok / busy / saturated), runs queued and running, runner slots, estimated minutes before a new run starts, and — with owner+repo — that repository's queued/running runs, its share of CI work, the slots it may hold while others wait, and a recommendation (e.g. batch changes into fewer pushes). The same `ciQueue` block the write tools return. Ask before a burst of pushes. Also `executor`: where CI runs (external runners or in-process), runners configured / reachable / busy, and `holdReason` when no runner can take a run. Read-only.
Paramètres, retour & exemple (2)
Paramètresrepo· string · optionnel
Optional, with ownerowner· string · optionnel
Optional, with repo: report this repository's part of the queue
Exemple d'appel{"name": "gluecron_ci_queue_status", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_clone_url≈ 138 tokens
Return the authenticated HTTPS clone URL for a repo + a credential-helper hint. Use this instead of embedding tokens in URLs. Returns {url, owner, repo, defaultBranch, hint} using the repo's stored casing.
Paramètres, retour & exemple (2)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner username
Exemple d'appel{"name": "gluecron_clone_url", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_close_issue≈ 152 tokens
Close an open issue. Requires authenticated caller with write access. Idempotent — closing an already-closed issue is a no-op. Returns {state}.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
Issue number
Exemple d'appel{"name": "gluecron_close_issue", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_close_pr≈ 146 tokens
Close an open pull request without merging. Requires authenticated caller with write access. Idempotent. Returns {state}.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_close_pr", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_comment_issue≈ 158 tokens
Add a comment to an existing issue. Requires authenticated caller with write access. Returns {commentId}.
Paramètres, retour & exemple (4)
Paramètresbody· string · requis
Comment body (Markdown)repo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
Issue number
Exemple d'appel{"name": "gluecron_comment_issue", "arguments": {"body": "texte", "repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_comment_pr≈ 157 tokens
Add a comment to a pull request. Requires authenticated caller with write access. Returns {commentId}.
Paramètres, retour & exemple (4)
Paramètresbody· string · requis
Comment body (Markdown)repo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_comment_pr", "arguments": {"body": "texte", "repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_create_agent_session≈ 190 tokens
Mint a new agent-multiplayer session. Returns the plaintext `token` exactly once (store it). Requires 'admin' scope.
Paramètres, retour & exemple (4)
Paramètresname· string · requis
Human-readable session name (unique per owner)repository_id· string · optionnel
Optional id of a repository you can write, to scope the session tobranch_namespace· string · optionnel
Optional branch namespace overridebudget_cents_per_day· number · optionnel
Daily budget cap in cents (default 500)
Exemple d'appel{"name": "gluecron_create_agent_session", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_create_branch≈ 175 tokens
Create a new branch ref pointing at an existing sha. Mirrors POST /api/v2/repos/.../git/refs. Gated like a push of the new branch (rulesets, secret scan of commits no other ref reaches) and fires CI/webhooks. Requires 'repo' scope. Returns {ref, sha}.
Paramètres, retour & exemple (4)
Paramètressha· string · requis
Target commit sha (40-hex)repo· string · requisowner· string · requisbranch· string · requis
New branch name (short form)
Exemple d'appel{"name": "gluecron_create_branch", "arguments": {"sha": "texte", "repo": "texte", "owner": "texte", "branch": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_create_deploy_token≈ 306 tokens
Mint a short-lived, repository-scoped HTTPS clone credential (a deploy token) and return it once with a ready clone URL — for a sandbox or CI box that has no PAT. Read-only by default; `read_only: false` asks for push access and is granted only if you have write access. Expires in 2 h by default (`expires_in_hours`, max 24). Needs owner / collaborator / team / org access to the repo (public read is not enough) and 'repo' scope. Audit-logged. Returns {id, title, readOnly, expiresAt, token, cloneUrl, url}.
Paramètres, retour & exemple (5)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugtitle· string · optionnel
Where the token will be used (default 'agent clone (MCP)')read_only· boolean · optionnel
Default true. false = clone AND push (requires write access).expires_in_hours· number · optionnel
Lifetime in hours (default 2, max 24, min 5 minutes)
Exemple d'appel{"name": "gluecron_create_deploy_token", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_create_issue≈ 163 tokens
Create a new issue on a Gluecron repository. Requires authenticated caller with write access on the target repo. Returns {number, url}.
Paramètres, retour & exemple (4)
Paramètresbody· string · optionnel
Issue body (Markdown). Optional.repo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugtitle· string · requis
Issue title
Exemple d'appel{"name": "gluecron_create_issue", "arguments": {"repo": "texte", "owner": "texte", "title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_create_pr≈ 220 tokens
Open a new pull request. `head_branch` is required; `base_branch` defaults to the repo default branch. Requires authenticated caller with write access. Returns {number, url}.
Paramètres, retour & exemple (6)
Paramètresbody· string · optionnel
PR body (Markdown). Optional.repo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugtitle· string · requis
PR titlebase_branch· string · optionnel
Target branch (default: repo default branch)head_branch· string · requis
Branch with the changes
Exemple d'appel{"name": "gluecron_create_pr", "arguments": {"repo": "texte", "owner": "texte", "title": "texte", "head_branch": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_create_repo_token≈ 444 tokens
Mint a fine-grained repository token (`gcft_…`) for ONE repository and return it once. It authenticates the REST API (/api/v2 and the GitHub-compatible /api/v3), git over HTTPS and the container registry (images under owner/repo, by contents) for that repository only. `permissions` sets none/read/write for contents, issues, pull_requests, statuses and actions (admin and settings are never grantable); `expires_in` is optional: omit it (or "never") for no expiration, or give seconds or "30m", "12h", "7d", "1y" (min 5 minutes, max 1 year). Effective access is always held to YOUR current access to the repo, re-checked on every use, and branch protection applies as it does to you. Needs 'repo' scope. Audit-logged. Returns {id, name, repository, permissions, expiresAt, tokenPrefix, token}.
Paramètres, retour & exemple (5)
Paramètresname· string · requis
Where the token will be used, e.g. 'gatetest deploy box'repo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugexpires_in· string · optionnel
Optional lifetime: "30m" / "12h" / "7d" / "1y", or a number of seconds (5 minutes to 1 year). Omit, or "never", for no expiration.permissions· object · requis
Object of level per permission — keys contents, issues, pull_requests, statuses, actions; values none | read | write; omitted keys are none; at least one must be read or write. Example: {"actions": "read"}.
Exemple d'appel{"name": "gluecron_create_repo_token", "arguments": {"name": "texte", "repo": "texte", "owner": "texte", "permissions": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_create_runner_registration_token≈ 202 tokens
Create a one-time CI runner registration token for an owner (your username, an org you own or admin, or 'platform' as a site admin). A runner started with RUNNER_REGISTRATION_TOKEN=<token> registers once and gets its own long-lived credential; that owner's CI then runs on it. Expires in an hour. Returns {owner, token, expiresAt, gluecronUrl}.
Paramètres, retour & exemple (2)
Paramètresowner· string · requis
Username, org slug, or 'platform'labels· string · optionnel
Comma-separated labels the runner gets in addition to its own (e.g. gpu,arm64)
Exemple d'appel{"name": "gluecron_create_runner_registration_token", "arguments": {"owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_delete_file≈ 183 tokens
Delete a file from a branch via git plumbing. Requires the existing blob sha (optimistic concurrency) and 'repo' scope. Meets the same branch protection, rulesets and secret scan as a git push, and fires CI/webhooks like one. Mirrors DELETE /api/v2/contents.
Paramètres, retour & exemple (6)
Paramètressha· string · requis
Current blob sha (40-hex)path· string · requisrepo· string · requisowner· string · requisbranch· string · requismessage· string · requis
Exemple d'appel{"name": "gluecron_delete_file", "arguments": {"sha": "texte", "path": "texte", "repo": "texte", "owner": "texte", "branch": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_delete_repo≈ 270 tokens
Delete a repository — a SOFT delete (2026-10-19): it disappears at once from git, web, REST, MCP, CI, webhooks, search and pages, its name stays reserved, and it can be restored with gluecron_restore_repo until restorable_until (90 days by default). Queued/running CI is cancelled and pending webhook deliveries are stopped. Only the repository OWNER (the personal owner, or an org owner for an org repository) or a site admin may — admin collaborators and org admins are refused, as in the web UI. Requires 'admin' token scope. Audited as repo.delete; the owner is notified. To remove it for good before then, use gluecron_purge_repo. Returns {deleted: true, soft: true, id, restorable_until}.
Paramètres, retour & exemple (2)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slug
Exemple d'appel{"name": "gluecron_delete_repo", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_delete_repo_secret≈ 219 tokens
Delete one workflow secret from a repository by name (cron_secret is read as CRON_SECRET). Idempotent: deleting a secret that is already gone succeeds with deleted:false, already_deleted:true, so a retry is safe. Workflows that reference it stop receiving it. Needs admin access to the repository and 'repo' scope. Audit-logged (name only). Returns {repository, name, deleted, already_deleted, at}.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
Secret namerepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slug
Exemple d'appel{"name": "gluecron_delete_repo_secret", "arguments": {"name": "texte", "repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_delete_variable≈ 328 tokens
Delete an Actions variable by name. Pass owner + repo for a repository variable, owner + repo + environment for an environment variable, or org for an organisation variable (organisation variables need an admin-scoped token). A variable that does not exist is a not-found error, never reported as deleted. Audit-logged. Returns {name, deleted: true}.
Paramètres, retour & exemple (6)
Paramètresid· string · optionnel
Variable id, instead of nameorg· string · optionnel
Organisation slugname· string · optionnel
Variable name: letters, digits and _, not starting with a digit or GITHUB_ (stored upper-case)repo· string · optionnel
Repo nameowner· string · optionnel
Repo owner — username or organisation slug (omit when passing org)environment· string · optionnel
Environment name (or id)
Exemple d'appel{"name": "gluecron_delete_variable", "arguments": {"id": "texte", "org": "texte", "name": "texte", "repo": "texte", "owner": "texte", "environment": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_dismiss_review≈ 187 tokens
Dismiss the standing 'changes requested' reviews on a PR (all of them, or one reviewer's), so they no longer hold the merge. Requires 'repo' scope and write access; the reason is required and audited.
Paramètres, retour & exemple (5)
Paramètresrepo· string · requisowner· string · requisnumber· number · requisreason· string · requis
Why the request is dismissed (3-500 characters)reviewer· string · optionnel
Only this reviewer's request (username). Optional.
Exemple d'appel{"name": "gluecron_dismiss_review", "arguments": {"repo": "texte", "owner": "texte", "number": 1, "reason": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_explain_failure≈ 339 tokens
Explain a failed CI run: for each failed step, its class (compile / test / flaky / dependency / env / infra / lint / security / unknown) and the rule that chose it, the normalised error signature, failing tests, the files the commit touched, prior occurrences of the same failure (this repo, your other repos with the same owner or org, and platform-wide counts only) with the fix rate, and a suggested fix — the commit / PR that fixed it last time plus its diff limited to the relevant files, or the class's standard remedy. Infra and flaky failures never suggest a code change. `run_id` is the run's full id; with `owner` + `repo` an 8+ hex prefix also works.
Paramètres, retour & exemple (4)
Paramètresrepo· string · optionnel
Optional: repository name — needed only for a run-id prefixowner· string · optionnel
Optional: repository owner — needed only for a run-id prefixrun_id· string · requis
The failed run's id (full uuid; an 8+ hex prefix when owner + repo are given)include_diff· boolean · optionnel
Include the prior fix's diff, limited to the relevant files (default true)
Exemple d'appel{"name": "gluecron_explain_failure", "arguments": {"run_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_explain_repo≈ 108 tokens
Return the cached AI 'explain this codebase' Markdown for a repo. Pure read — never triggers a new generation (use the web UI for that).
Paramètres, retour & exemple (2)
Paramètresrepo· string · requisowner· string · requis
Exemple d'appel{"name": "gluecron_explain_repo", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_find_symbol≈ 109 tokens
Find definitions of a symbol by name within a repo. Wraps src/lib/symbols.findDefinitions.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
Symbol namerepo· string · requisowner· string · requis
Exemple d'appel{"name": "gluecron_find_symbol", "arguments": {"name": "texte", "repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_fork_repo≈ 124 tokens
Fork a repository to the authenticated caller's namespace. Mirrors POST /:owner/:repo/fork. Returns {owner, repo, url}. Requires 'repo' scope.
Paramètres, retour & exemple (2)
Paramètresrepo· string · requis
Source repo nameowner· string · requis
Source repo owner
Exemple d'appel{"name": "gluecron_fork_repo", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_generate_commit_message≈ 120 tokens
Generate a commit message for a diff. Same engine as gluecron_generate_pr_description but explicit for the commit-message use case.
Paramètres, retour & exemple (2)
Paramètresdiff· string · requisstyle· string · optionnel
'conventional' (default) or 'plain'
Exemple d'appel{"name": "gluecron_generate_commit_message", "arguments": {"diff": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_generate_pr_description≈ 147 tokens
Generate an AI commit-message-style description for a diff. Uses src/lib/ai-commit-message.ts under the hood; gracefully degrades to a heuristic when ANTHROPIC_API_KEY is missing. Returns {subject, body}.
Paramètres, retour & exemple (2)
Paramètresdiff· string · requis
Unified-diff bodystyle· string · optionnel
'conventional' (default) or 'plain'
Exemple d'appel{"name": "gluecron_generate_pr_description", "arguments": {"diff": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_generate_release_notes≈ 145 tokens
Generate release notes between two tags. Wraps src/lib/ai-release-notes.generateReleaseNotes. Returns the rendered Markdown + section data.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requisowner· string · requisto_tag· string · requis
New tagfrom_tag· string · optionnel
Previous tag (optional)
Exemple d'appel{"name": "gluecron_generate_release_notes", "arguments": {"repo": "texte", "owner": "texte", "to_tag": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_generate_tests≈ 158 tokens
Generate tests for a PR via Claude. Wraps src/lib/ai-test-generator.generateTestsForPr. Mode 'follow-up-pr' opens a new PR; 'append-commit' commits onto the head branch. Requires 'repo' scope.
Paramètres, retour & exemple (4)
Paramètresmode· string · optionnel
'follow-up-pr' or 'append-commit'repo· string · requisowner· string · requisnumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_generate_tests", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_agent_budget≈ 83 tokens
Return spent / cap / remaining cents for an agent session.
Paramètres, retour & exemple (1)
Paramètresagent_session_id· string · requis
Exemple d'appel{"name": "gluecron_get_agent_budget", "arguments": {"agent_session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_branch_protection≈ 207 tokens
Read the branch-protection rule that applies to a branch (exact name or the glob that covers it): required checks, require_pr_run, required approvals, AI / human review, green gates, force-push / deletion, auto-merge. Read-only. Returns {protected: false} when no rule applies, else {protected: true, pattern, matched_by, required_checks, …}.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugbranch· string · optionnel
Branch name (default: the repo's default branch)
Exemple d'appel{"name": "gluecron_get_branch_protection", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_commit≈ 182 tokens
Fetch a single commit by SHA: metadata plus the list of files it changed (path, status, additions, deletions). Mirrors GET /api/v2/repos/.../commits/:sha. Patch bodies are NOT included — use gluecron_get_diff for those.
Paramètres, retour & exemple (4)
Paramètressha· string · requis
Commit SHArepo· string · requisowner· string · requisinclude_files· boolean · optionnel
Include the files-changed summary and stats (default true). Set false to skip the diff read on very large commits.
Exemple d'appel{"name": "gluecron_get_commit", "arguments": {"sha": "texte", "repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_diff≈ 280 tokens
Read the actual changes in a commit or a branch range. Pass `sha` for one commit against its first parent, or `base`+`head` for everything head adds since the merge base (what a PR proposes). Returns {files:[{path, oldPath?, status, additions, deletions, binary, patch, patchTruncated}], stats, truncated}. Patch text is byte-capped; set include_patch=false for a files-changed summary only.
Paramètres, retour & exemple (7)
Paramètressha· string · optionnel
Commit SHA — diffs it against its first parentbase· string · optionnel
Base ref (with `head`)head· string · optionnel
Head ref (with `base`)repo· string · requisowner· string · requisinclude_patch· boolean · optionnel
Include patch bodies (default true)max_patch_bytes· number · optionnel
Total budget for patch text across all files (default 400000, max 2000000)
Exemple d'appel{"name": "gluecron_get_diff", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_pr≈ 154 tokens
Fetch the full detail record of a pull request (title, body, state, branches, draft, author, timestamps). Authenticated callers only (the read tool surface still works anonymously).
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_get_pr", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_pr_checks≈ 198 tokens
List every check at a PR's current head — workflow runs, gates and commit statuses — with status, conclusion, whether branch protection requires it, and the run's log URL; plus each required check's state (passing / pending / failing / missing) and the merge gate's own CI verdict. Read-only. Returns {head_sha, total_count, check_runs, required, ci}.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_get_pr_checks", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_preview_url≈ 140 tokens
Return the branch-preview URL + status for a (repo, branch) pair. Wraps branch-previews.getPreviewForBranch. Returns {ok:false, reason:'not enabled on this host'} when the host has no PREVIEW_DOMAIN (no preview would ever resolve).
Paramètres, retour & exemple (3)
Paramètresrepo· string · requisowner· string · requisbranch· string · requis
Exemple d'appel{"name": "gluecron_get_preview_url", "arguments": {"repo": "texte", "owner": "texte", "branch": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_token≈ 190 tokens
One of your tokens by type and id (from gluecron_list_tokens): everything list shows plus the audit trail (create, edits with a before/after diff, rotations, revocation). Never the secret. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). Same scopes as gluecron_list_tokens.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Token idtype· string · requis
Token type: pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_)
Exemple d'appel{"name": "gluecron_get_token", "arguments": {"id": "texte", "type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_variable≈ 273 tokens
Read one Actions variable by name. Pass owner + repo for a repository variable, owner + repo + environment for an environment variable, or org for an organisation variable (organisation variables need an admin-scoped token). Not found is an error. Returns {name, value, createdAt, updatedAt}.
Paramètres, retour & exemple (5)
Paramètresorg· string · optionnel
Organisation slugname· string · requis
Variable name: letters, digits and _, not starting with a digit or GITHUB_ (stored upper-case)repo· string · optionnel
Repo nameowner· string · optionnel
Repo owner — username or organisation slug (omit when passing org)environment· string · optionnel
Environment name (or id)
Exemple d'appel{"name": "gluecron_get_variable", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_workflow_logs≈ 448 tokens
Return a workflow run's logs plus a failure summary. Always includes run metadata (number, workflow, event, ref, sha), per-job and per-step status / exit code / duration, `failedSteps` (`job / step`) and `testFailures` (failing test names, read from each step's structured results parsed before its log was cut, or the reason they cannot all be named; null when no job failed). `testFailures.details` marks each failure `flaky` (an active forensic label with a repro, from another run — with its label and flip rate), `known` (also failing on the default branch's latest run), `infra` (timed out under load) or `new`, with its file, message, the targeted retry's verdict and this run's determinism-forensics finding (`forensic`: class, label, variable, repro) when they ran. A step whose log was cut carries `fullLog` (artifact download of the uncut output). `step` (a step name or 1-based position within its job) returns only that step's stdout/stderr; `tail_lines` keeps the last N lines. The full per-job logs are included only when neither is given. JSON-friendly companion to the ZIP-download endpoint.
Paramètres, retour & exemple (5)
Paramètresrepo· string · requisstep· string · optionnel
Only this step's logs: its name (exact, else substring, case-insensitive) or its 1-based position within its jobowner· string · requisrun_id· string · requis
The run's id, or a unique leading part of it (8+ hex characters)tail_lines· number · optionnel
Keep only the last N lines of each returned log (max 5000)
Exemple d'appel{"name": "gluecron_get_workflow_logs", "arguments": {"repo": "texte", "owner": "texte", "run_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_get_workflow_run≈ 213 tokens
Fetch a workflow run's metadata + status. Mirrors GET /api/v2/repos/.../actions/runs/:id. Also says how it relates to automatic retries: `retryOf` / `retryOfRunNumber` (the run this one retries after a deploy or a lost runner) and `retriedAs` ({id, runNumber} of the run that retried this one, or null). A queued run that no runner can take carries `queueReason` (e.g. "waiting for a runner: 2 configured, 0 reachable, last seen 4m ago").
Paramètres, retour & exemple (3)
Paramètresrepo· string · requisowner· string · requisrun_id· string · requis
The run's id, or a unique leading part of it (8+ hex characters)
Exemple d'appel{"name": "gluecron_get_workflow_run", "arguments": {"repo": "texte", "owner": "texte", "run_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_handover≈ 254 tokens
Start here when picking up work: the live state of a repository, read from git and CI rather than from a handoff doc. Returns `summary` (one paragraph), `blockers` (most urgent first), the default branch's CI per workflow (red streak, since when, last green run), the build this Gluecron instance serves and how many commits it is behind (when it is this repository), every open PR grouped green / pending / failing / draft as the merge gate judges it, PRs merged in the last `merged_since_hours` (default 48), and the CI queue. Read-only.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugmerged_since_hours· number · optionnel
Window for recently merged PRs (default 48, max 720)
Exemple d'appel{"name": "gluecron_handover", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_import_action≈ 258 tokens
Site admins only (needs an 'admin'-scoped token). Import a third-party GitHub Action at ONE tag, branch or full commit SHA into the Gluecron mirror namespace (gluecron-actions/<owner>--<repo>), so workflows that say `uses: owner/repo@ref` can run it. Workflow runs never fetch from github.com; an action that is not imported is skipped. Re-importing the same ref updates it to what upstream has now. Audit-logged. Returns {action, ref, sha, previousSha, mirror, upstreamUrl, hasActionYml}.
Paramètres, retour & exemple (3)
Paramètresref· string · requis
Tag, branch or full commit SHA, e.g. v7action· string · requis
Upstream action as workflows write it, e.g. actions/github-scriptupstream_url· string · optionnel
Optional; default https://github.com/<owner>/<repo>.git
Exemple d'appel{"name": "gluecron_import_action", "arguments": {"ref": "texte", "action": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_label_issue≈ 134 tokens
Attach one or more labels to an issue. Labels are created if they don't yet exist on the repo. Requires 'repo' scope. Returns {labels}.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requisowner· string · requislabels· array · requis
Label names (strings)number· number · requis
Exemple d'appel{"name": "gluecron_label_issue", "arguments": {"repo": "texte", "owner": "texte", "labels": [], "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_learning_status≈ 170 tokens
Site admins only (needs an 'admin'-scoped token). Whether CI failures are being turned into lessons: classified failures, lesson.pattern events (matched to a docs/ops/CI_GATE_LESSONS.md row, or candidates), recurring candidates, and failures left without a lesson for over an hour, over 7 days. 'N failures, 0 lessons' reads RED. Also each pattern's count and register row, and the register. Counts only: no log text or repository. Returns {health, patterns, register}.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "gluecron_learning_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_deleted_repos≈ 178 tokens
List deleted repositories you can restore or purge: your personal ones and those of organizations you own (a site admin may pass all: true for the whole instance). Each has its id, full_name and restorable_until — after that date it is purged automatically. Read-only. Needs 'repo' scope. Returns {total_count, repositories:[{id, full_name, private, deleted_at, deleted_by, restorable_until}]}.
Paramètres, retour & exemple (1)
Paramètresall· boolean · optionnel
Site admins only: every deleted repository on the instance
Exemple d'appel{"name": "gluecron_list_deleted_repos", "arguments": {"all": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_flaky_tests≈ 316 tokens
List a repository's flaky tests. A test is flaky only with a forensic repro: when it failed, CI re-ran just that test in the same order, alone, with the clock shifted +137 ms and +1 s, in TZ=Pacific/Chatham and in a fixed random order, and a variable flipped its verdict N times in a row on the same git tree. Each entry has the test, file, state (active / expired / resolved, or unexplained = flipped with no repro, NOT flaky), label (clock-dependent, order-dependent, concurrency-dependent), the variable, the exact repro command, owner, expiry, issue number, flip rate and evidence runs. Information only — flaky tests are never skipped or quarantined; one targeted retry, and the merge gate excuses a failure only when that retry passed in the same run and the label is active.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requislimit· number · optionnel
Max tests (default 25, max 100)owner· string · requiswindow_days· number · optionnel
Flip evidence from this many days back (default and max 30)
Exemple d'appel{"name": "gluecron_list_flaky_tests", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_pr_comments≈ 474 tokens
List every comment on a pull request in chronological order: general comments (kind `issue_comment`), inline review comments (`review_comment`: path, line, thread {id, inReplyToId, position, replies, resolved, resolvedAt, resolvedBy}) and review summaries (`review`: state approved | changes_requested | commented). Each entry has author {login, type user|bot}, isAi (written by an AI reviewer), body, createdAt, updatedAt. A review thread is the inline comments on one file+line; the earliest is its root and holds the resolved state. Gluecron does not store a review comment's commit or diff side, so `commitId` and `side` are always null. Only approved (moderated) comments; unsubmitted draft reviews are private to their author and not listed. `kind`: all (default) | issue | review (review comments + review summaries). `since`: ISO-8601 — only entries updated at or after it. Paged: `total` is the full filtered count, `nextOffset` pages through it. Works anonymously on public repos; private repos need read access.
Paramètres, retour & exemple (7)
Paramètreskind· string · optionnel
all (default) | issue (general comments) | review (review comments + review summaries)repo· string · requis
Repo namelimit· number · optionnel
Max entries (default 50, max 100)owner· string · requis
Repo owner — username or organisation slugsince· string · optionnel
ISO-8601 timestamp; only entries updated at or after itnumber· number · requis
PR numberoffset· number · optionnel
Entries to skip. Use `nextOffset` from the previous response.
Exemple d'appel{"name": "gluecron_list_pr_comments", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_prs≈ 200 tokens
List pull requests on a repo, filtered by state (open|closed|merged|all). Authenticated callers only. Returns up to 50 summary rows.
Paramètres, retour & exemple (5)
Paramètresrepo· string · requis
Repo namelimit· number · optionnel
Max rows per page (default 50, max 100)owner· string · requis
Repo owner — username or organisation slugstate· string · optionnel
open | closed | merged | all (default: open)offset· number · optionnel
Rows to skip, for paging. Use `nextOffset` from the previous response.
Exemple d'appel{"name": "gluecron_list_prs", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_repo_secrets≈ 177 tokens
List a repository's workflow secrets — NAMES ONLY, with created/updated times; values are never returned. Use it to check that a secret such as CRON_SECRET exists before a workflow needs it. Needs admin access to the repository and 'repo' scope. Returns {repository, total_count, secrets:[{name, created_at, updated_at}]}.
Paramètres, retour & exemple (2)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slug
Exemple d'appel{"name": "gluecron_list_repo_secrets", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_repo_tokens≈ 96 tokens
List the fine-grained repository tokens you have minted (never the secret): repository, permissions, state (active / expired / revoked), expiry and last use. Needs 'repo' scope.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "gluecron_list_repo_tokens", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_runners≈ 164 tokens
List the CI runners registered to an owner (username, org slug, or 'platform'): id, name, url, labels, slots, online, last seen, revoked; allowSharedOverflow (the setting); and sharedLane, whether the owner's jobs actually run on shared runners: 'used (no own runners)', 'overflow allowed' or 'not used (own runners only)', explained in sharedLaneDetail.
Paramètres, retour & exemple (1)
Paramètresowner· string · requis
Username, org slug, or 'platform'
Exemple d'appel{"name": "gluecron_list_runners", "arguments": {"owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_tokens≈ 220 tokens
List your own tokens (never a secret): type, name, status (active / expiring / expired / revoked / never_used / stale), last 4 characters, scopes or permissions, repository, expiry, last use (time, IP, client), use count and rotation state. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_), or omit it for all three (types your token's scopes cannot read are listed under `omitted`). PATs need 'user' scope to read; repository and deploy tokens need 'repo'.
Paramètres, retour & exemple (1)
Paramètrestype· string · optionnel
Token type: pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). Omit for all.
Exemple d'appel{"name": "gluecron_list_tokens", "arguments": {"type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_tree≈ 223 tokens
List directory contents at a ref. `path` scopes the listing to a subtree and is honoured in BOTH modes; `recursive: true` walks the whole subtree instead of one level. Always returns the same shape: {path, ref, recursive, entries, truncated, totalCount}. Recursive entries carry full repo-relative paths; non-recursive entries carry names. A ref that does not exist is an error, never an empty listing.
Paramètres, retour & exemple (5)
Paramètresref· string · optionnel
Branch / tag / sha. Omit (or pass HEAD) for the default branch.path· string · optionnel
Sub-path within the reporepo· string · requisowner· string · requisrecursive· boolean · optionnel
Exemple d'appel{"name": "gluecron_list_tree", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_variables≈ 315 tokens
List Actions configuration variables (${{ vars.NAME }}) with their values. Pass owner + repo for a repository variable, owner + repo + environment for an environment variable, or org for an organisation variable (organisation variables need an admin-scoped token). Admin of the repository or organisation only. Paged: limit (≤100, default 30) / offset. Mirrors GET …/actions/variables. Returns {scope, total, limit, offset, nextOffset, variables:[{name, value, createdAt, updatedAt}]}.
Paramètres, retour & exemple (6)
Paramètresorg· string · optionnel
Organisation slugrepo· string · optionnel
Repo namelimit· integer · optionnel
Page size, 1–100 (default 30)owner· string · optionnel
Repo owner — username or organisation slug (omit when passing org)offset· integer · optionnel
Rows to skip (default 0)environment· string · optionnel
Environment name (or id)
Exemple d'appel{"name": "gluecron_list_variables", "arguments": {"org": "texte", "repo": "texte", "limit": 1, "owner": "texte", "offset": 1, "environment": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_list_workflow_runs≈ 278 tokens
List a repository's workflow runs, newest first, with optional branch/status/event filters. Mirrors GET /api/v2/repos/.../actions/runs. The companion to gluecron_get_workflow_run / gluecron_cancel_workflow_run — this is how an agent finds the run ids to inspect or cancel (issue #10493: without it, stale queued runs could not be discovered from the tool surface at all).
Paramètres, retour & exemple (7)
Paramètresrepo· string · requisevent· string · optionnel
push | pull_request | manual | schedule | ...limit· number · optionnel
Max rows (default 30, max 100)owner· string · requisbranch· string · optionnel
Only runs for this branch (short name or refs/heads/...)offset· number · optionnel
Rows to skip, for pagingstatus· string · optionnel
queued | running | success | failure | cancelled
Exemple d'appel{"name": "gluecron_list_workflow_runs", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_merge_pr≈ 222 tokens
Merge an open PR. Enforces the same checks as the HTTP merge flow: not a draft, head SHA resolves, GateTest+AI-review hard gates pass, branch-protection rules satisfied. M3: soft-blocks when the pre-merge risk score is `critical` unless `confirm_high_risk: true` is passed. Returns {merged, sha?, reason?, riskScore?}.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR numberconfirm_high_risk· boolean · optionnel
When true, bypass the M3 risk-score soft-block on critical-band PRs.
Exemple d'appel{"name": "gluecron_merge_pr", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_open_draft_pr≈ 152 tokens
Open a draft pull request. Same payload as gluecron_create_pr but forces is_draft=true. Useful for AI-in-progress PRs that shouldn't run mergeability checks yet.
Paramètres, retour & exemple (6)
Paramètresbody· string · optionnelrepo· string · requisowner· string · requistitle· string · requisbase_branch· string · optionnelhead_branch· string · requis
Exemple d'appel{"name": "gluecron_open_draft_pr", "arguments": {"repo": "texte", "owner": "texte", "title": "texte", "head_branch": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_pr_status_summary≈ 136 tokens
Compute a one-shot status summary for a PR: state, risk score (and whether it describes the current head), CI state for the head commit as the merge gate sees it, AI-review verdicts (trio), gate signals. Read-only.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requisowner· string · requisnumber· number · requis
Exemple d'appel{"name": "gluecron_pr_status_summary", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_prioritize_workflow_run≈ 174 tokens
Move a QUEUED workflow run into the priority lane: the runner claims it ahead of the fair-share order across repositories (issue #10898). Only queued runs; a running or finished run is reported, not changed. Requires 'repo' scope and write access.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requisowner· string · requisrun_id· string · requis
The run's id, or a unique leading part of it (8+ hex characters)
Exemple d'appel{"name": "gluecron_prioritize_workflow_run", "arguments": {"repo": "texte", "owner": "texte", "run_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_propose_doc_update≈ 111 tokens
Manual trigger for the AI doc-update flow: scans tracked sections on the default branch and opens a PR rewriting stale prose. Requires 'repo' scope.
Paramètres, retour & exemple (2)
Paramètresrepo· string · requisowner· string · requis
Exemple d'appel{"name": "gluecron_propose_doc_update", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_propose_migration≈ 179 tokens
Propose a dependency-upgrade PR. Wraps src/lib/migration-assistant.proposeMajorMigration. Requires 'repo' scope.
Paramètres, retour & exemple (7)
Paramètresrepo· string · requisowner· string · requisbase_sha· string · requis
Commit sha to fork fromchangelog· string · optionnel
Optional changelog textdependency· string · requisto_version· string · requisfrom_version· string · requis
Exemple d'appel{"name": "gluecron_propose_migration", "arguments": {"repo": "texte", "owner": "texte", "base_sha": "texte", "dependency": "texte", "to_version": "texte", "from_version": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_provision_pr_sandbox≈ 136 tokens
Provision (or re-provision) a sandbox for a PR. Wraps pr-sandbox.provisionSandbox. Requires 'repo' scope. Returns {ok:false, reason:'not enabled on this host'} when no sandbox provisioner runs on the host.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requisowner· string · requisnumber· number · requis
Exemple d'appel{"name": "gluecron_provision_pr_sandbox", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_purge_repo≈ 247 tokens
PERMANENTLY delete an already-deleted repository now, instead of waiting for its restore window to end. IRREVERSIBLE: the git data, LFS objects, issues, PRs, releases, packages, CI history and settings are removed and cannot be restored (data already in the instance's backups ages out on the backup schedule). Only works on a repository already deleted with gluecron_delete_repo; `confirm` must be its full name (owner/name). Owner (personal owner, or an org owner) or a site admin; needs 'admin' scope. Audited as repo.purge. Returns {purged: true, id, full_name}.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
The deleted repository's idconfirm· string · requis
The repository's full name, owner/name, to confirm
Exemple d'appel{"name": "gluecron_purge_repo", "arguments": {"id": "texte", "confirm": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_read_file≈ 282 tokens
Read a file from a repo at a given ref. Mirrors GET /api/v2/repos/:owner/:repo/contents/:path. Returns {path, size, content, encoding, totalLines}. Pass `start_line` / `end_line` (1-based, inclusive) to read only part of a text file. A text file over ~60 KB read with no range returns its first ~60 KB of whole lines with `truncated: true`, `startLine`/`endLine` and a hint — ask for the next range to read on.
Paramètres, retour & exemple (7)
Paramètresref· string · optionnel
Branch / tag / sha (default HEAD)path· string · requisrepo· string · requisowner· string · requisencoding· string · optionnel
'utf8' (default) or 'base64'end_line· number · optionnel
Last line to return (1-based, inclusive; clamped to the file's length). Text files only.start_line· number · optionnel
First line to return (1-based, inclusive). Text files only.
Exemple d'appel{"name": "gluecron_read_file", "arguments": {"path": "texte", "repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_refactor_across_repos≈ 176 tokens
Plan + execute a refactor that spans multiple repos owned by the caller. Wraps src/lib/multi-repo-refactor.ts. `dry_run: true` returns the plan only. Requires 'repo' scope.
Paramètres, retour & exemple (3)
Paramètresdry_run· boolean · optionnel
When true, returns the plan and does NOT execute.description· string · requis
Natural-language descriptionrepository_ids· array · optionnel
Optional explicit repo IDs to scope the refactor to.
Exemple d'appel{"name": "gluecron_refactor_across_repos", "arguments": {"description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_release_lease≈ 83 tokens
Release a lease by id. Idempotent. Returns {released}.
Paramètres, retour & exemple (1)
Paramètreslease_id· string · requis
Exemple d'appel{"name": "gluecron_release_lease", "arguments": {"lease_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_reopen_issue≈ 144 tokens
Reopen a previously closed issue. Requires authenticated caller with write access. Idempotent. Returns {state}.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
Issue number
Exemple d'appel{"name": "gluecron_reopen_issue", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_repo_explain_codebase≈ 134 tokens
Return the cached AI 'explain this codebase' Markdown for a public repo (most recent commit). Returns null when no cached explanation exists yet.
Paramètres, retour & exemple (2)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slug
Exemple d'appel{"name": "gluecron_repo_explain_codebase", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_repo_health≈ 163 tokens
Compute the current health report for a public repo: overall score (0-100), letter grade, per-category breakdown (security/testing/complexity/dependencies/documentation/activity), and a list of insights to fix next. Backed by computeHealthScore in src/lib/intelligence.ts.
Paramètres, retour & exemple (2)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slug
Exemple d'appel{"name": "gluecron_repo_health", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_repo_list_issues≈ 166 tokens
List open issues for a public repository. Returns up to 50 ordered by most-recent.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requis
Repo namelimit· number · optionnel
Max rows per page (default 25, max 50)owner· string · requis
Repo owner — username or organisation slugoffset· number · optionnel
Rows to skip, for paging. Use `nextOffset` from the previous response.
Exemple d'appel{"name": "gluecron_repo_list_issues", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_repo_read_file≈ 204 tokens
Read a single file from a repository at a given ref (branch / tag / commit). Private repos are readable when the authenticated caller has access. Returns the text content (binary files rejected).
Paramètres, retour & exemple (4)
Paramètresref· string · optionnel
Branch / tag / commit. Defaults to the repository's actual default branch (which may not be 'main' — e.g. 'Main').path· string · requis
File path within the reporepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slug
Exemple d'appel{"name": "gluecron_repo_read_file", "arguments": {"path": "texte", "repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_repo_search≈ 187 tokens
Search Gluecron repositories by keyword (name + description), case-insensitively. Returns public repos plus any private repos owned by the authenticated caller. Default 20 per page, max 50; `total` is the full match count and `nextOffset` pages through it.
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionnel
Max rows per page (default 20, max 50)query· string · requis
Search keyword (1-100 chars)offset· number · optionnel
Rows to skip. Use `nextOffset` from the previous response.
Exemple d'appel{"name": "gluecron_repo_search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_request_changes≈ 189 tokens
Request changes on a PR. Records a 'changes requested' review by the caller, which holds the PR on every merge path (web button, API, MCP merge, merge queue, merge train, autopilot) until the caller approves or someone with write access dismisses it (gluecron_dismiss_review), and posts the body as a comment. Requires 'repo' scope and write access.
Paramètres, retour & exemple (4)
Paramètresbody· string · requis
Review body (Markdown)repo· string · requisowner· string · requisnumber· number · requis
Exemple d'appel{"name": "gluecron_request_changes", "arguments": {"body": "texte", "repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_rerun_failed_jobs≈ 216 tokens
Re-run a failed or cancelled workflow run at the SAME commit (same inputs, same PR merge preview) — the run page's Re-run. Gluecron re-runs every job of the run (per-job re-run does not exist yet); a successful or still-running run is refused. Joins an identical queued run instead of stacking another. Requires write access and 'repo' scope. Returns {runId, previousRunId, joinedExistingRun, url}.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugrun_id· string · requis
The run's id (uuid)
Exemple d'appel{"name": "gluecron_rerun_failed_jobs", "arguments": {"repo": "texte", "owner": "texte", "run_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_restore_repo≈ 199 tokens
Restore a deleted repository by id (from gluecron_list_deleted_repos) before its restorable_until date: git data, LFS objects, issues, PRs, collaborators and webhooks come back exactly as they were. Cancelled CI runs stay cancelled and stopped webhook deliveries are not re-sent. Refused when another repository now has the same name in that namespace. Owner (personal owner, or an org owner) or a site admin; needs 'admin' scope. Audited as repo.restore. Returns {restored: true, id, full_name}.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
The deleted repository's id
Exemple d'appel{"name": "gluecron_restore_repo", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_review_deployment≈ 275 tokens
Approve or reject a workflow run's jobs waiting on a protected environment (`environment:` with required reviewers). The caller must be a reviewer of every environment selected (the environment's reviewers, or the repository owner when none are listed). An approval runs the job (after the environment's wait timer, if any); a rejection fails it. Mirrors POST /api/v2/repos/.../actions/runs/:id/pending_deployments. Requires 'repo' scope.
Paramètres, retour & exemple (6)
Paramètresrepo· string · requisowner· string · requisstate· string · requis
"approved" or "rejected"run_id· string · requis
The run's id, or a unique leading part of it (8+ hex characters)comment· string · optionnelenvironments· array · optionnel
Environment names (or ids), as strings, to decide; omitted = every waiting one
Exemple d'appel{"name": "gluecron_review_deployment", "arguments": {"repo": "texte", "owner": "texte", "state": "texte", "run_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_revoke_repo_token≈ 110 tokens
Revoke one of your fine-grained repository tokens by id (from gluecron_list_repo_tokens). It stops working on its next use. Needs 'repo' scope. Audit-logged.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Token id
Exemple d'appel{"name": "gluecron_revoke_repo_token", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_revoke_runner≈ 125 tokens
Revoke a CI runner by id: nothing is dispatched to it from now on, its next heartbeat is refused and it stops accepting jobs. Cannot be undone — register a new runner instead. Returns {id, revoked}.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Runner id (from gluecron_list_runners)
Exemple d'appel{"name": "gluecron_revoke_runner", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_revoke_token≈ 180 tokens
Revoke one of your tokens by type and id. It stops working on its next use; this cannot be undone. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). PATs need 'admin' scope; repository and deploy tokens need 'repo'. Audit-logged.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Token idtype· string · requis
Token type: pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_)
Exemple d'appel{"name": "gluecron_revoke_token", "arguments": {"id": "texte", "type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_rotate_token≈ 322 tokens
Rotate one of your tokens: mint a new secret with the same name, scopes / permissions, repository and expiry, returned ONCE as `token`. `grace_seconds` (default 0, max 604800 = 7 days) keeps the old secret working that long; 0 kills it now. Rotating again ends an earlier grace period. `expected_rotation_count` (from gluecron_get_token's rotationCount) makes it compare-and-swap; two concurrent rotations never both win. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). PATs need 'admin' scope; repository and deploy tokens need 'repo'. Audit-logged.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
Token idtype· string · requis
Token type: pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_)grace_seconds· number · optionnel
Seconds the old secret keeps working (0 to 604800). Default 0.expected_rotation_count· number · optionnel
Optional compare-and-swap guard: the rotationCount you last saw.
Exemple d'appel{"name": "gluecron_rotate_token", "arguments": {"id": "texte", "type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_search_code≈ 422 tokens
Literal / regex code search (git grep, basic regex) across a repo at a ref. The dependable way to find code on this host — works on every repo, indexed or not. Optional scoping: `path` (a directory or file prefix, literal), `glob` (git pathspec glob such as `src/**/*.ts`, relative to `path` when both are given), `ignore_case`, and `files_only` (unique files with match counts instead of lines). Returns {owner, repo, ref, total, truncated, matches: [{file, line, text}]}, or with files_only {owner, repo, ref, total, totalMatches, truncated, files: [{file, count}]}. Omit `ref` for the default branch.
Paramètres, retour & exemple (9)
Paramètresref· string · optionnel
Branch / tag / sha (default: the repo's default branch)glob· string · optionnel
Only search files matching this git pathspec glob (e.g. **/*.test.ts); relative to `path` when both are givenpath· string · optionnel
Only search under this repo-relative directory or file (literal prefix, e.g. src/lib)repo· string · requislimit· number · optionnel
Max matches, or max files with files_only (default 50, max 200)owner· string · requisquery· string · requis
Pattern (git grep basic regex)files_only· boolean · optionnel
Return unique files with match counts instead of matching linesignore_case· boolean · optionnel
Case-insensitive match (default false)
Exemple d'appel{"name": "gluecron_search_code", "arguments": {"repo": "texte", "owner": "texte", "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_search_issues≈ 140 tokens
Search issues by title/body keyword on a single repo, filtered by state. Returns ranked rows.
Paramètres, retour & exemple (5)
Paramètresrepo· string · requislimit· number · optionnelowner· string · requisquery· string · requis
Search keywordstate· string · optionnel
open | closed | all (default open)
Exemple d'appel{"name": "gluecron_search_issues", "arguments": {"repo": "texte", "owner": "texte", "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_search_prs≈ 123 tokens
Search pull requests by title/body keyword on a repo.
Paramètres, retour & exemple (5)
Paramètresrepo· string · requislimit· number · optionnelowner· string · requisquery· string · requisstate· string · optionnel
open|closed|merged|all (default open)
Exemple d'appel{"name": "gluecron_search_prs", "arguments": {"repo": "texte", "owner": "texte", "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_search_repos≈ 264 tokens
Search repositories by owner, name, owner/name or description, case-insensitively: every public repo, plus the private ones you own or collaborate on when authenticated. Omit `query` (authenticated) to list YOUR repositories — the ones you own or were invited to — instead of searching. Mirrors GET /api/v2/search/repos. `total` is the full match count (not the page size) and `nextOffset` pages through it.
Paramètres, retour & exemple (4)
Paramètressort· string · optionnel
stars | updated | name (default: stars)limit· number · optionnel
Max rows per page (default 30, max 100)query· string · optionnel
Search keyword — matches owner login, repo name, owner/name and description. Omit to list your own repositories.offset· number · optionnel
Rows to skip. Use `nextOffset` from the previous response.
Exemple d'appel{"name": "gluecron_search_repos", "arguments": {"sort": "texte", "limit": 1, "query": "texte", "offset": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_security_scan≈ 515 tokens
Everything Gluecron actually knows about a repository's security, in one honest call: OSV.dev CVE/GHSA advisories against the indexed dependency graph (with FIXED VERSIONS), Gluecron's supplemental advisory list, a full-tree committed-secret scan, and optionally a Claude semantic code review. Unlike gluecron_repo_health, an empty result is NEVER reported as a pass: every category returns status 'assessed' | 'partial' | 'not_assessed' | 'error' with a machine-readable reason code, so you can tell 'we checked and it is clean' from 'we never looked'. In particular, a repo whose dependency graph was never indexed returns dependency_advisories.status='not_assessed' (reason 'dependency_graph_not_indexed'), not an empty advisory list. Read-only.
Paramètres, retour & exemple (5)
Paramètresref· string · optionnel
Branch, tag or commit SHA to scan the tree of. Default: the repo's default branch. Note advisories describe the INDEXED dependency graph, whose commit is reported separately — if it differs from this ref the advisory answer is downgraded to 'partial'.repo· string · requis
Repo nameowner· string · requis
Repo owner usernameinclude_ai_review· boolean · optionnel
Opt in to the Claude Sonnet semantic review (SQLi/XSS/SSRF/authz/crypto). Costs an Anthropic call and adds seconds. Default false. When it cannot run — no key, provider error, unparseable output — the category reports 'not_assessed', never a pass.max_candidate_lines· number · optionnel
Cap on lines the secret detector inspects (1-200000, default 20000). The whole tree is always prefiltered; only lines that already matched a secret marker are inspected, so this rarely binds. When it does, committed_secrets reports 'partial' with the exact fraction.
Exemple d'appel{"name": "gluecron_security_scan", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_semantic_search≈ 187 tokens
Query the per-repo vector index (Voyage embeddings when configured, hash fallback otherwise). Reads the live per-push index (code_embeddings) first, falling back to the manually-reindexed chunk index (code_chunks). Returns {hits, source, indexed, indexedFiles} — `indexed: false` means the repo has never been indexed (empty hits are NOT 'no match'); `indexedFiles` is the live-index row count.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requislimit· number · optionnelowner· string · requisquery· string · requis
Exemple d'appel{"name": "gluecron_semantic_search", "arguments": {"repo": "texte", "owner": "texte", "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_set_auto_merge≈ 283 tokens
Arm (enabled: true) or disarm (enabled: false) auto-merge on one PR: it merges by itself through the full gated merge chain (CI, required checks, branch protection, CODEOWNERS, risk) once CI and every required check are green and no reviewer with write access has changes requested. Stays armed while anything is pending; `last_attempt.reason` says what it waits for. Requires write access and 'repo' scope. merge_method: 'merge' only. Returns {number, auto_merge}.
Paramètres, retour & exemple (5)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR numberenabled· boolean · requis
true = arm, false = disarmmerge_method· string · optionnel
'merge' (default; the only method the gated chain has)
Exemple d'appel{"name": "gluecron_set_auto_merge", "arguments": {"repo": "texte", "owner": "texte", "number": 1, "enabled": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_set_branch_protection≈ 451 tokens
Set branch protection for one branch (partial update: fields you omit keep their value). Edits the rule named exactly after the branch; when only a glob rule covers it, a new exact rule is created seeded from the glob's settings and checks. required_checks replaces the required-check list ([] clears it). require_pr_run: a required check that names a workflow is met only by that workflow's pull_request run. Requires ADMIN access to the repo and 'repo' scope. Audit-logged. Returns the resulting rule plus {created, warnings}.
Paramètres, retour & exemple (14)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugbranch· string · requis
Branch name (not a pattern)allow_deletion· boolean · optionnelrequire_pr_run· boolean · optionnel
Workflow checks count only from the PR's pull_request runrequired_checks· array · optionnel
Array of check names that must pass (workflow names, gate names or commit-status contexts); [] clears the listallow_force_push· boolean · optionnelenable_auto_merge· boolean · optionnel
Branch-wide autopilot auto-merge (K2)required_approvals· number · optionnel
Human approvals required (0-10)require_ai_approval· boolean · optionnelrequire_green_gates· boolean · optionnelrequire_human_review· boolean · optionnelrequire_pull_request· boolean · optionneldismiss_stale_reviews· boolean · optionnel
Exemple d'appel{"name": "gluecron_set_branch_protection", "arguments": {"repo": "texte", "owner": "texte", "branch": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_set_pr_draft≈ 234 tokens
Mark a pull request ready for review (draft=false) or convert it back to a draft (draft=true). Same rule as the web 'Ready for review' button: the caller needs write access and must be the PR author or the repository owner; only an open PR changes; marking ready starts the AI review. Idempotent. Requires 'repo' scope. Returns {number, isDraft, changed}.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requis
Repo namedraft· boolean · requis
true = convert to draft, false = mark ready for reviewowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_set_pr_draft", "arguments": {"repo": "texte", "draft": true, "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_set_repo_secret≈ 392 tokens
Create or replace one workflow secret on a repository, used in workflows as ${{ secrets.NAME }}. The name is saved upper-cased (cron_secret → CRON_SECRET); trailing spaces/newlines are removed from the value. The value is WRITE-ONLY: it is encrypted at rest and never returned, logged or audited — the result names the secret only. Pass expected_updated_at (the updated_at you last read) to update only if nobody changed it since: a newer value is never overwritten (error 'conflict'), a deleted secret is not re-created (error 'missing'). Setting the value it already has writes nothing (result 'unchanged'), so a retry is safe. Needs admin access to the repository and 'repo' scope. Audit-logged (name only). Returns {repository, name, created, result: 'created'|'updated'|'unchanged', updated_at}.
Paramètres, retour & exemple (5)
Paramètresname· string · requis
Secret name: letters, digits, underscores; not starting with a digitrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugvalue· string · requis
The secret value (never echoed back)expected_updated_at· string · optionnel
Optional ISO time: only update if the secret's updated_at is still this (from gluecron_list_repo_secrets)
Exemple d'appel{"name": "gluecron_set_repo_secret", "arguments": {"name": "texte", "repo": "texte", "owner": "texte", "value": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_set_variable≈ 345 tokens
Create or replace an Actions variable (plain text, not for secrets — use gluecron_set_repo_secret). Pass owner + repo for a repository variable, owner + repo + environment for an environment variable, or org for an organisation variable (organisation variables need an admin-scoped token). Safe to retry: the same value again changes nothing. Audit-logged. Returns {name, effect: created|updated|unchanged, updatedAt}.
Paramètres, retour & exemple (6)
Paramètresorg· string · optionnel
Organisation slugname· string · requis
Variable name: letters, digits and _, not starting with a digit or GITHUB_ (stored upper-case)repo· string · optionnel
Repo nameowner· string · optionnel
Repo owner — username or organisation slug (omit when passing org)value· string · requis
Plain-text value (not a secret: shown on the settings page and in logs), at most 48 KBenvironment· string · optionnel
Environment name (or id)
Exemple d'appel{"name": "gluecron_set_variable", "arguments": {"name": "texte", "value": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_ship_spec≈ 140 tokens
Drop a spec file in .gluecron/specs/ with status: ready so the autopilot picks it up. Wraps voice-to-pr.shipAsSpec — handle both voice + manual specs. Requires 'repo' scope.
Paramètres, retour & exemple (4)
Paramètresbody· string · requis
Spec body (Markdown)repo· string · requisowner· string · requistitle· string · requis
Exemple d'appel{"name": "gluecron_ship_spec", "arguments": {"body": "texte", "repo": "texte", "owner": "texte", "title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_trigger_workflow≈ 170 tokens
Dispatch a workflow_dispatch run. Mirrors POST /api/v2/repos/.../actions/workflows/:filename/dispatches. Requires 'repo' scope.
Paramètres, retour & exemple (5)
Paramètresref· string · optionnel
Branch / tag / sha (default: repo default branch)repo· string · requisowner· string · requisinputs· object · optionnel
Workflow inputs (object)filename· string · requis
Workflow filename (e.g. ci.yml)
Exemple d'appel{"name": "gluecron_trigger_workflow", "arguments": {"repo": "texte", "owner": "texte", "filename": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_unlabel_issue≈ 121 tokens
Detach a label from an issue. Idempotent. Requires 'repo' scope. Returns {removed: boolean}.
Paramètres, retour & exemple (4)
Paramètresrepo· string · requislabel· string · requisowner· string · requisnumber· number · requis
Exemple d'appel{"name": "gluecron_unlabel_issue", "arguments": {"repo": "texte", "label": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_update_pr≈ 336 tokens
Edit a pull request's title, body, base branch and/or draft state. Title / body / base: the PR's author or anyone with write access; draft: the same rule as gluecron_set_pr_draft (write access and the PR author or repo owner; marking ready starts the AI review). Needs 'repo' scope. Changing the base (open PRs only) re-runs the PR's pull_request CI against the new base and disarms auto-merge. Returns {number, title, body, baseBranch, headBranch, isDraft, changed, autoMergeDisarmed, url}.
Paramètres, retour & exemple (7)
Paramètresbase· string · optionnel
New base branchbody· string · optionnel
New body (Markdown); an empty string clears itrepo· string · requis
Repo namedraft· boolean · optionnel
true = back to draft, false = ready for review (gluecron_set_pr_draft's rule: write access and the PR author or repo owner)owner· string · requis
Repo owner — username or organisation slugtitle· string · optionnel
New titlenumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_update_pr", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_update_pr_branch≈ 225 tokens
Bring a PR branch up to date with its base: merge the base into the head server-side (the PR page's 'Update branch'). Never a force-push — the new head is a merge commit moved through the push gates, so it gets CI. On conflict nothing changes and `conflictFiles` lists the paths. Requires write access and 'repo' scope. Returns {ok, status: 'updated'|'up-to-date', headSha, previousHeadSha, baseSha, url} or {ok: false, reason, message, conflictFiles}.
Paramètres, retour & exemple (3)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner — username or organisation slugnumber· number · requis
PR number
Exemple d'appel{"name": "gluecron_update_pr_branch", "arguments": {"repo": "texte", "owner": "texte", "number": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_update_repo≈ 288 tokens
Update repository description / visibility / default_branch. Requires 'admin' access on the repo (owner, org owners/admins, admin collaborators) and 'repo' scope. Returns {ok: true}.
Paramètres, retour & exemple (6)
Paramètresrepo· string · requis
Repo nameowner· string · requis
Repo owner usernameautomation· object · optionnel
Per-repo automation dials, same keys as Settings → Automation: ai_review_mode, pr_triage_mode, issue_triage_mode, auto_merge_mode, ci_autofix_mode, auto_repair_mode, auto_issues_mode, doc_drift_mode, merge_train_mode. Values: off | suggest | auto (merge_train_mode runs only on auto). Only the keys given change.is_private· boolean · optionnel
Set visibility (optional)description· string · optionnel
New description (optional)default_branch· string · optionnel
Set default branch (optional)
Exemple d'appel{"name": "gluecron_update_repo", "arguments": {"repo": "texte", "owner": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_voice_to_pr≈ 150 tokens
Interpret a free-form voice transcript and either ship it as a spec or create an issue (caller picks via `as`). Wraps src/lib/voice-to-pr.ts. Requires 'repo' scope.
Paramètres, retour & exemple (4)
Paramètresas· string · optionnel
'spec' or 'issue' (default: auto via interpretVoiceTranscript)repo· string · requisowner· string · requistranscript· string · requis
Exemple d'appel{"name": "gluecron_voice_to_pr", "arguments": {"repo": "texte", "owner": "texte", "transcript": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_whoami≈ 136 tokens
Who this connector is on this Gluecron instance: the signed-in username and email, whether that account is a site admin, the token's scopes, and how many repositories it owns or collaborates on. Call it first when a repository seems missing — the answer is usually which account authorized the connector. Anonymous callers get authenticated:false and a hint.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "gluecron_whoami", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gluecron_write_file≈ 247 tokens
Create or update a file on a branch via git plumbing. Wraps `createOrUpdateFileOnBranch`. Pass `content` as a UTF-8 string OR `content_base64` for binary. Meets the same branch protection, rulesets and secret scan as a git push, and fires CI/webhooks like one. Requires 'repo' scope.
Paramètres, retour & exemple (8)
Paramètrespath· string · requisrepo· string · requisowner· string · requisbranch· string · requiscontent· string · optionnel
UTF-8 file body (optional)message· string · requis
Commit messagecontent_base64· string · optionnel
Base64 file body (optional)expect_blob_sha· string · optionnel
Optimistic-concurrency check: existing blob sha must match.
Exemple d'appel{"name": "gluecron_write_file", "arguments": {"path": "texte", "repo": "texte", "owner": "texte", "branch": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».