GitHub Actions:qwen-code-action
概要
qwen-code-action は、Qwen Code CLI を介して Qwen Code を開発ワークフローに統合する GitHub Action です。これは、重要な日常的なコーディングタスクのための自律型エージェントとして機能するだけでなく、すばやく作業を委任できるオンデマンドのコラボレーターとしても機能します。
GitHub リポジトリ内で直接 Qwen Code を対話的に使用して(例:@qwencoder fix this issue)、GitHub プルリクエストのレビュー、イシューのトリアージ、コードの分析と変更などを実行するために使用します。
機能
- 自動化: イベント(イシューのオープンなど)やスケジュール(毎夜など)に基づいてワークフローをトリガーします。
- オンデマンドコラボレーション: Qwen Code CLI をメンションして(例:
@qwencoder /review)、イシューやプルリクエストのコメントでワークフローをトリガーします。 - ツールによる拡張性: Qwen Code モデルのツール呼び出し機能を活用して、GitHub CLI (
gh) などの他の CLI と対話します。 - カスタマイズ可能: リポジトリ内の
QWEN.mdファイルを使用して、Qwen Code CLI にプロジェクト固有の指示とコンテキストを提供します。
クイックスタート
わずか数分で、リポジトリで Qwen Code CLI を使い始めましょう。
1. Qwen API キーの取得
DashScope (Alibaba Cloud の AI プラットフォーム)から API キーを取得します。
2. GitHub Secret としての追加
API キーをリポジトリに QWEN_API_KEY という名前のシークレットとして保存します。
- リポジトリの Settings > Secrets and variables > Actions に移動します。
- New repository secret をクリックします。
- Name:
QWEN_API_KEY、Value: あなたの API キー
3. .gitignore の更新
以下のエントリを .gitignore ファイルに追加します。
# qwen-code-cli settings
.qwen/
# GitHub App credentials
gha-creds-*.json4. ワークフローの選択
ワークフローを設定するには、2 つのオプションがあります。
オプション A: setup コマンドの使用(推奨)
-
ターミナルで Qwen Code CLI を起動します。
qwen -
ターミナルの Qwen Code CLI で、以下のように入力します。
/setup-github
オプション B: ワークフローの手動コピー
examples/workflowsディレクトリからビルド済みのワークフローを、リポジトリの.github/workflowsディレクトリにコピーします。注意: ワークフローの実行をトリガーするqwen-dispatch.ymlワークフローもコピーする必要があります。
5. 動作確認
プルリクエストのレビュー:
- リポジトリでプルリクエストを開き、自動レビューを待ちます
- 既存のプルリクエストに
@qwencoder /reviewとコメントして、手動でレビューをトリガーします
イシューのトリアージ:
- イシューを開き、自動トリアージを待ちます
- 既存のイシューに
@qwencoder /triageとコメントして、手動でトリアージをトリガーします
一般的な AI アシスタンス:
- 任意のイシューまたはプルリクエストで、
@qwencoderに続けてリクエストをメンションします - 例:
@qwencoder explain this code change@qwencoder suggest improvements for this function@qwencoder help me debug this error@qwencoder write unit tests for this component
ワークフロー
この Action は、さまざまなユースケースに合わせていくつかのビルド済みワークフローを提供します。各ワークフローは、リポジトリの .github/workflows ディレクトリにコピーし、必要に応じてカスタマイズするように設計されています。
Qwen Code Dispatch
このワークフローは Qwen Code CLI の中央ディスパッチャーとして機能し、トリガーイベントとコメントで提供されたコマンドに基づいて、リクエストを適切なワークフローにルーティングします。ディスパッチワークフローの設定方法に関する詳細なガイドについては、Qwen Code Dispatch ワークフローのドキュメントを参照してください。
イシューのトリアージ
この Action は、GitHub Issues を自動またはスケジュールに従ってトリアージするために使用できます。動作するイシューのトリアージ設定については、自動イシューのトリアージワークフロー を参照してください。
プルリクエストのレビュー
この Action は、プルリクエストがオープンされたときに自動的にレビューするために使用できます。プルリクエストレビューシステムのセットアップ方法に関する詳細なガイドについては、GitHub PR Review ワークフローのドキュメントを参照してください。
Qwen Code CLI Assistant
このタイプの Action は、プルリクエストやイシュー内で汎用的な対話型 Qwen Code AI アシスタントを呼び出し、幅広いタスクを実行するために使用できます。汎用 Qwen Code CLI ワークフローの設定方法に関する詳細なガイドについては、Qwen Code Assistant ワークフローのドキュメントを参照してください。
構成
入力
-
qwen*api_key: *(オプション)_ Qwen API の API キー。 -
qwen*cli_version: *(オプション、デフォルト:latest)_ インストールする Qwen Code CLI のバージョン。“latest”、“preview”、“nightly”、特定のバージョン番号、または git ブランチ、タグ、コミットを指定できます。詳細については、Qwen Code CLI releases を参照してください。 -
qwen*debug: *(オプション)_ デバッグログと出力ストリーミングを有効にします。 -
qwen*model: *(オプション)_ Qwen Code で使用するモデル。 -
prompt: (オプション、デフォルト:You are a helpful assistant.) Qwen Code CLI の--prompt引数 に渡される文字列。 -
settings: (オプション) CLI の プロジェクト 設定を構成するために.qwen/settings.jsonに書き込まれる JSON 文字列。 詳細については、設定ファイル のドキュメントを参照してください。 -
use*qwen_code_assist: *(オプション、デフォルト:false)_ デフォルトの Qwen Code API キーの代わりに、Qwen Code モデルアクセスに Code Assist を使用するかどうか。 詳細については、Qwen Code CLI のドキュメント を参照してください。 -
use*vertex_ai: *(オプション、デフォルト:false)_ デフォルトの Qwen Code API キーの代わりに、Qwen Code モデルアクセスに Vertex AI を使用するかどうか。 詳細については、Qwen Code CLI のドキュメント を参照してください。 -
extensions: (オプション) インストールする Qwen Code CLI 拡張機能のリスト。 -
upload*artifacts: *(オプション、デフォルト:false)_ アーティファクトを GitHub Action にアップロードするかどうか。 -
use*pnpm: *(オプション、デフォルト:false)_ qwen-code-cli のインストールに npm の代わりに pnpm を使用するかどうか。 -
workflow*name: *(オプション、デフォルト:${{ github.workflow }})_ テレメトリ目的で使用される GitHub ワークフロー名。
出力
リポジトリ変数
すべてのワークフローで再利用できるように、以下の値をリポジトリ変数として設定することをお勧めします。あるいは、個別のワークフローで Action の入力としてインラインで設定したり、リポジトリレベルの値をオーバーライドしたりすることもできます。
| Name | Description | Type | Required | When Required |
|---|---|---|---|---|
DEBUG | Qwen Code CLI のデバッグログを有効にします。 | 変数 | いいえ | なし |
QWEN_CLI_VERSION | インストールされる Qwen Code CLI のバージョンを制御します。 | 変数 | いいえ | CLI バージョンの固定 |
APP_ID | カスタム認証用の GitHub App ID。 | 変数 | いいえ | カスタム GitHub App の使用 |
リポジトリ変数を追加するには:
- リポジトリの Settings > Secrets and variables > Actions > New variable に移動します。
- 変数名と値を入力します。
- 保存します。
リポジトリ変数の詳細については、変数に関する GitHub ドキュメント を参照してください。
シークレット
リポジトリに以下のシークレットを設定できます。
| Name | Description | Required | When Required |
|---|---|---|---|
QWEN_API_KEY | DashScope からの Qwen API キー。 | はい | Qwen を呼び出すすべてのワークフローに必要。 |
APP_PRIVATE_KEY | GitHub App の秘密鍵(PEM 形式)。 | いいえ | カスタム GitHub App の使用。 |
シークレットを追加するには:
- リポジトリの Settings > Secrets and variables > Actions > New repository secret に移動します。
- シークレット名と値を入力します。
- 保存します。
詳細については、暗号化されたシークレットの作成と使用に関する公式 GitHub ドキュメント を参照してください。
認証
この Action には GitHub API への認証が必要であり、オプションで Qwen Code サービスへの認証も必要です。
GitHub 認証
GitHub への認証には 2 つの方法があります。
- デフォルトの
GITHUB_TOKEN: よりシンプルなユースケースでは、この Action はワークフローによって提供されるデフォルトのGITHUB_TOKENを使用できます。 - カスタム GitHub App(推奨): 最も安全で柔軟な認証については、カスタム GitHub App の作成をお勧めします。
Qwen と GitHub の両方の認証の詳細な設定手順については、認証のドキュメント を参照してください。
拡張機能
Qwen Code CLI は、拡張機能を通じて追加の機能で拡張できます。 これらの拡張機能は、GitHub リポジトリからソースコードとしてインストールされます。
拡張機能の設定と構成方法の詳細な手順については、拡張機能のドキュメント を参照してください。
ベストプラクティス
自動化されたワークフローのセキュリティ、信頼性、および効率を確保するために、ベストプラクティスに従うことを強くお勧めします。これらのガイドラインでは、リポジトリのセキュリティ、ワークフローの構成、モニタリングなどの重要な領域について説明しています。
主な推奨事項は次のとおりです。
- リポジトリのセキュリティ: ブランチとタグの保護を実装し、プルリクエストの承認者を制限します。
- モニタリングと監査: Action のログを定期的に確認し、OpenTelemetry を有効にして、パフォーマンスと動作に関するより深い洞察を得ます。
リポジトリとワークフローをセキュリティで保護するための包括的なガイドについては、ベストプラクティスのドキュメント を参照してください。
カスタマイズ
リポジトリのルートに QWEN.md ファイルを作成し、Qwen Code CLI にプロジェクト固有のコンテキストと指示を提供します。これは、特定のコード規約、アーキテクチャパターン、またはモデルが特定のリポジトリで従うべきその他のガイドラインを定義するのに役立ちます。
コントリビューション
コントリビューションを歓迎します!始め方について詳しくは、Qwen Code CLI のコントリビューションガイドをご覧ください。