GitHub
Dépôts, issues, pull requests, fichiers, gists, workflows, releases, jalons, projets, recherche et 8 déclencheurs webhook
Vendor ID: github · Catégories : contrôle de source, productivité
Extension GitHub pour le contrôle de source, la gestion de projet et le CI, couvrant les dépôts, issues, pull requests, fichiers, gists, workflows, releases, jalons, projets classiques, la recherche et 8 déclencheurs webhook.
Authentification
| Identifiant | Notes |
|---|---|
oauth (GitHub) | L'agent ne verra que les dépôts auxquels votre utilisateur connecté a accès sur GitHub. Fonctionne avec une GitHub App que l'option Expire user authorization tokens soit activée ou non, ainsi qu'avec une OAuth App classique : expiration désactivée (valeur par défaut d'une app existante), GitHub émet un jeton sans expiration et sans refresh token, que Scrydon réutilise tel quel ; expiration activée, Scrydon renouvelle le jeton avant son expiration. |
apiKey (Personal Access Token) | Configurations sans interface. Un PAT avec les portées repo, workflow et read:org couvre la totalité de la surface de l’extension. |
Produits
| ID | Nom | Rôle |
|---|---|---|
github:github | GitHub | La surface complète — dépôts, issues, PRs, fichiers, gists, workflows, releases, jalons, projets, recherche. |
Modifier des fichiers depuis un Agent
Donnez à un Agent File · Edit (exact replacements) (edit-file) plutôt que File · Update lorsqu'il modifie du code existant. Chaque modification remplace un bloc de texte exact qui doit apparaître une seule fois dans le fichier. L'outil lit et écrit lui-même le fichier entier, sur la branche indiquée, et commite avec le SHA actuel du fichier.
C'est important parce qu'un Agent voit des résultats d'outils limités à 32 Kio. Avec File · Update, qui remplace tout le fichier, un Agent qui n'a vu que le début d'un grand fichier n'en réécrirait que cette partie. Une modification qui ne correspond pas exactement une seule fois est refusée et rien n'est écrit.
branch est obligatoire. L'outil n'écrit jamais sur la branche par défaut par omission.
Limiter une recherche à un seul dépôt
Search · Code, Search · Commits et Search · Issues / PRs cherchent dans tout GitHub, sauf si vous les limitez. Renseignez à la fois owner et repo sur l'outil pour le garder dans un seul dépôt. L'outil ajoute alors repo:<owner>/<repo> à chaque requête et en retire tout qualificatif repo:, org: ou user:, si bien qu'un Agent ne peut pas élargir la recherche. Liés sur l'outil d'un Agent, ces deux champs n'apparaissent pas du tout dans le schéma du modèle. Renseigner un seul des deux, ou un nom contenant un espace ou un qualificatif, est refusé plutôt que de chercher partout.
CLI
Les agents peuvent aussi piloter directement gh, en complément des outils ci-dessus — toute la surface de gh, sans aucun outil écrit à la main. Il lit son jeton depuis le compte connecté (aucune configuration supplémentaire) et n'atteint que api.github.com ; gh release upload et git par HTTPS sont hors périmètre pour l'instant et sont refusés à la frontière réseau. Le harnais gouverne chaque commande au niveau du réseau : les lectures sont ouvertes, les écritures nécessitent un palier accordé, et les commandes destructrices nécessitent l'approbation d'une personne pour la requête exacte. Voir Extensions CLI pour le fonctionnement.
Déclencheurs
Huit déclencheurs webhook couvrant les événements GitHub les plus courants : push, pull_request, issues, issue_comment, release, workflow_run, deployment et les avis de sécurité. Voir Déclencheurs.