GitHub Actions : qwen-code-action
Vue d’ensemble
qwen-code-action est une GitHub Action qui intègre Qwen Code dans votre flux de développement via la Qwen Code CLI . Elle agit à la fois comme un agent autonome pour les tâches de codage routinières critiques et comme un collaborateur à la demande auquel vous pouvez rapidement déléguer du travail.
Utilisez-la pour effectuer des revues de pull requests GitHub, trier les issues, analyser et modifier du code, et bien plus encore, en interagissant de manière conversationnelle avec Qwen Code (par ex., @qwencoder fix this issue) directement dans vos dépôts GitHub.
Fonctionnalités
- Automatisation : Déclenchez des workflows en fonction d’événements (par ex. ouverture d’une issue) ou de planifications (par ex. exécution nocturne).
- Collaboration à la demande : Déclenchez des workflows dans les commentaires d’issues et de pull requests en mentionnant la Qwen Code CLI (par ex.,
@qwencoder /review). - Extensible avec des outils : Exploitez les capacités d’appel d’outils des modèles Qwen Code pour interagir avec d’autres CLI comme la GitHub CLI (
gh). - Personnalisable : Utilisez un fichier
QWEN.mddans votre dépôt pour fournir des instructions et un contexte spécifiques au projet à la Qwen Code CLI.
Démarrage rapide
Commencez à utiliser la Qwen Code CLI dans votre dépôt en quelques minutes :
1. Obtenir une clé API Qwen
Obtenez votre clé API depuis DashScope (la plateforme IA d’Alibaba Cloud)
2. L’ajouter en tant que secret GitHub
Stockez votre clé API en tant que secret nommé QWEN_API_KEY dans votre dépôt :
- Accédez à Settings > Secrets and variables > Actions de votre dépôt
- Cliquez sur New repository secret
- Nom :
QWEN_API_KEY, Valeur : votre clé API
3. Mettre à jour votre .gitignore
Ajoutez les entrées suivantes à votre fichier .gitignore :
# qwen-code-cli settings
.qwen/
# GitHub App credentials
gha-creds-*.json4. Choisir un workflow
Vous disposez de deux options pour configurer un workflow :
Option A : Utiliser la commande de configuration (Recommandé)
-
Démarrez la Qwen Code CLI dans votre terminal :
qwen -
Dans la Qwen Code CLI de votre terminal, saisissez :
/setup-github
Option B : Copier manuellement les workflows
- Copiez les workflows préconfigurés depuis le répertoire
examples/workflowsvers le répertoire.github/workflowsde votre dépôt. Remarque : le workflowqwen-dispatch.ymldoit également être copié, car il déclenche l’exécution des autres workflows.
5. Tester
Revue de Pull Request :
- Ouvrez une pull request dans votre dépôt et attendez la revue automatique
- Commentez
@qwencoder /reviewsur une pull request existante pour déclencher manuellement une revue
Tri des Issues :
- Ouvrez une issue et attendez le tri automatique
- Commentez
@qwencoder /triagesur des issues existantes pour déclencher manuellement le tri
Assistance IA générale :
- Dans n’importe quelle issue ou pull request, mentionnez
@qwencodersuivi de votre demande - Exemples :
@qwencoder explain this code change@qwencoder suggest improvements for this function@qwencoder help me debug this error@qwencoder write unit tests for this component
Workflows
Cette action propose plusieurs workflows préconfigurés pour différents cas d’utilisation. Chaque workflow est conçu pour être copié dans le répertoire .github/workflows de votre dépôt et personnalisé selon vos besoins.
Qwen Code Dispatch
Ce workflow agit comme un répartiteur central pour la Qwen Code CLI, acheminant les requêtes vers le workflow approprié en fonction de l’événement déclencheur et de la commande fournie dans le commentaire. Pour un guide détaillé sur la configuration du workflow de dispatch, consultez la documentation du workflow Qwen Code Dispatch.
Issue Triage
Cette action permet de trier automatiquement les GitHub Issues ou selon une planification. Pour un guide détaillé sur la configuration du système de tri des issues, consultez la documentation du workflow GitHub Issue Triage.
Pull Request Review
Cette action permet de réviser automatiquement les pull requests lors de leur ouverture. Pour un guide détaillé sur la configuration du système de revue de pull requests, consultez la documentation du workflow GitHub PR Review.
Qwen Code CLI Assistant
Ce type d’action permet d’invoquer un assistant IA Qwen Code conversationnel à usage général au sein des pull requests et des issues pour effectuer une large gamme de tâches. Pour un guide détaillé sur la configuration du workflow Qwen Code CLI à usage général, consultez la documentation du workflow Qwen Code Assistant.
Configuration
Inputs
-
qwen*api_key: *(Optional)_ La clé API pour l’API Qwen. -
qwen*cli_version: *(Optional, default:latest)_ La version de la Qwen Code CLI à installer. Peut être “latest”, “preview”, “nightly”, un numéro de version spécifique, ou une branche, un tag ou un commit git. Pour plus d’informations, consultez les versions de la Qwen Code CLI . -
qwen*debug: *(Optional)_ Active la journalisation de débogage et le streaming de la sortie. -
qwen*model: *(Optional)_ Le modèle à utiliser avec Qwen Code. -
prompt: (Optional, default:You are a helpful assistant.) Une chaîne transmise à l’argument--promptde la Qwen Code CLI. -
settings: (Optional) Une chaîne JSON écrite dans.qwen/settings.jsonpour configurer les paramètres projet de la CLI. Pour plus de détails, consultez la documentation sur les fichiers de paramètres . -
use*qwen_code_assist: *(Optional, default:false)_ Indique s’il faut utiliser Code Assist pour accéder aux modèles Qwen Code au lieu de la clé API Qwen Code par défaut. Pour plus d’informations, consultez la documentation de la Qwen Code CLI . -
use*vertex_ai: *(Optional, default:false)_ Indique s’il faut utiliser Vertex AI pour accéder aux modèles Qwen Code au lieu de la clé API Qwen Code par défaut. Pour plus d’informations, consultez la documentation de la Qwen Code CLI . -
extensions: (Optional) Une liste d’extensions de la Qwen Code CLI à installer. -
upload*artifacts: *(Optional, default:false)_ Indique s’il faut télécharger les artefacts vers l’action GitHub. -
use*pnpm: *(Optional, default:false)_ Indique s’il faut utiliser pnpm au lieu de npm pour installer qwen-code-cli -
workflow*name: *(Optional, default:${{ github.workflow }})_ Le nom du workflow GitHub, utilisé à des fins de télémétrie.
Outputs
-
summary: La sortie résumée de l’exécution de la Qwen Code CLI. -
error: La sortie d’erreur de l’exécution de la Qwen Code CLI, le cas échéant.
Variables de dépôt
Nous vous recommandons de définir les valeurs suivantes en tant que variables de dépôt afin qu’elles puissent être réutilisées dans tous les workflows. Vous pouvez également les définir directement en tant qu’inputs d’action dans des workflows individuels ou pour remplacer les valeurs au niveau du dépôt.
| Nom | Description | Type | Requis | Quand requis |
|---|---|---|---|---|
DEBUG | Active la journalisation de débogage pour la Qwen Code CLI. | Variable | Non | Jamais |
QWEN_CLI_VERSION | Contrôle la version de la Qwen Code CLI installée. | Variable | Non | Pour épingler la version de la CLI |
APP_ID | ID de l’application GitHub pour une authentification personnalisée. | Variable | Non | Lors de l’utilisation d’une GitHub App personnalisée |
Pour ajouter une variable de dépôt :
- Accédez à Settings > Secrets and variables > Actions > New variable de votre dépôt.
- Saisissez le nom et la valeur de la variable.
- Enregistrez.
Pour plus de détails sur les variables de dépôt, consultez la documentation GitHub sur les variables .
Secrets
Vous pouvez définir les secrets suivants dans votre dépôt :
| Nom | Description | Requis | Quand requis |
|---|---|---|---|
QWEN_API_KEY | Votre clé API Qwen depuis DashScope. | Oui | Requis pour tous les workflows qui appellent Qwen. |
APP_PRIVATE_KEY | Clé privée de votre GitHub App (format PEM). | Non | Lors de l’utilisation d’une GitHub App personnalisée. |
Pour ajouter un secret :
- Accédez à Settings > Secrets and variables > Actions > New repository secret de votre dépôt.
- Saisissez le nom et la valeur du secret.
- Enregistrez.
Pour plus d’informations, consultez la documentation officielle GitHub sur la création et l’utilisation de secrets chiffrés .
Authentification
Cette action nécessite une authentification auprès de l’API GitHub et, en option, auprès des services Qwen Code.
Authentification GitHub
Vous pouvez vous authentifier auprès de GitHub de deux manières :
GITHUB_TOKENpar défaut : Pour les cas d’utilisation simples, l’action peut utiliser leGITHUB_TOKENpar défaut fourni par le workflow.- GitHub App personnalisée (Recommandé) : Pour une authentification plus sécurisée et flexible, nous vous recommandons de créer une GitHub App personnalisée.
Pour des instructions détaillées sur la configuration de l’authentification Qwen et GitHub, consultez la documentation sur l’authentification.
Extensions
La Qwen Code CLI peut être étendue avec des fonctionnalités supplémentaires via des extensions. Ces extensions sont installées depuis la source de leurs dépôts GitHub.
Pour des instructions détaillées sur la configuration des extensions, consultez la documentation sur les extensions.
Bonnes pratiques
Pour garantir la sécurité, la fiabilité et l’efficacité de vos workflows automatisés, nous vous recommandons vivement de suivre nos bonnes pratiques. Ces directives couvrent des domaines clés tels que la sécurité du dépôt, la configuration des workflows et la surveillance.
Les recommandations clés incluent :
- Sécurisation de votre dépôt : Mise en place de la protection des branches et des tags, et restriction des approbateurs de pull requests.
- Surveillance et audit : Examen régulier des journaux d’actions et activation d’OpenTelemetry pour une analyse approfondie des performances et du comportement.
Pour un guide complet sur la sécurisation de votre dépôt et de vos workflows, consultez notre documentation sur les bonnes pratiques.
Personnalisation
Créez un fichier QWEN.md à la racine de votre dépôt pour fournir un contexte et des instructions spécifiques au projet à la Qwen Code CLI. Cela est utile pour définir des conventions de codage, des modèles architecturaux ou d’autres directives que le modèle doit suivre pour un dépôt donné.
Contribution
Les contributions sont les bienvenues ! Consultez le Guide de contribution de la Qwen Code CLI pour plus de détails sur la marche à suivre.