gh-attach

Par github · awesome-copilot

Téléverse un fichier local (capture d'écran, image, PDF, zip, vidéo) vers GitHub user-attachments, télécharge des fichiers depuis GitHub user-attachments, et intègre des fichiers locaux dans une PR, une issue ou un commentaire. À utiliser quand on vous demande d'« attacher une capture d'écran à la PR », d'« ajouter une image à l'issue », d'« intégrer des captures avant/après », d'« attacher ce fichier » ou de « télécharger cette pièce jointe GitHub ». Propulsé par `gh-attach`.

npx skills add https://github.com/github/awesome-copilot --skill gh-attach

gh-attach

gh attach télécharge un fichier vers le endpoint interne des pièces jointes de GitHub (aucune API publique n'existe) et affiche l'URL, que GitHub affiche automatiquement (image/vidéo/fichier) partout où elle est collée. L'URL hérite de la visibilité du dépôt, donc les téléchargements vers des dépôts privés restent privés.

Prérequis

gh extension list | grep -q 'gh attach' || gh extension install sudosubin/gh-attach

Les téléchargements utilisent un cookie de session du navigateur GitHub, pas le token gh. Par défaut, gh doit être authentifié pour que gh-attach puisse sélectionner le compte de navigateur correspondant. Si le mauvais compte est sélectionné, ajoutez --browser <name> --profile <name>. Pour une utilisation sans interface graphique, définissez GH_ATTACH_SESSION_TOKEN à la valeur brute du cookie user_session. Traitez-le comme une credential de compte complet.

Étapes

1. Télécharger : Utilisez un chemin absolu entre guillemets. -R est facultatif à l'intérieur d'un dépôt. Pour GHES, utilisez -R host/owner/repo. La commande affiche l'URL sur une seule ligne. GitHub l'affiche automatiquement (image/vidéo/fichier), donc utilisez-la telle quelle :

URL=$(gh attach "$FILE" -R <owner>/<repo>)

2. Intégrer (toujours --body-file -, par ex. gh pr comment/edit, gh issue comment/edit) :

printf '## Screenshots\n\n%s\n' "$URL" | gh pr comment <pr> -R <owner>/<repo> --body-file -

3. Télécharger : Spécifiez la destination explicitement. Les pièces jointes privées utilisent le token gh actif, avec les cookies du navigateur comme fallback d'autorisation :

gh attach download "$URL" -O "$FILE"

Notes

  • Dépôt privé : l'URL ne s'affiche que pour les visualiseurs autorisés. Une récupération anonyme est censée retourner 404 ou 403.
  • Dimensionnement : intégrez <img width="800" src="$URL"> à la place de l'URL brute.
  • GitHub Cloud et GHES décident quelles extensions de fichier et types de contenu ils acceptent.

Skills similaires