Skip to Content
ユーザーガイドGitHub Actions

Github Actions:qwen-code-action

概要

qwen-code-action は、Qwen Code CLI  を介して開発ワークフローに Qwen Code  を統合する GitHub Action です。これは、重要な日常的なコーディングタスクの自律エージェントとして機能するだけでなく、迅速に作業を委任できるオンデマンドのコラボレーターとしても機能します。

GitHub リポジトリ内で直接、Qwen Code  を使用して会話形式(例:@qwencoder fix this issue)で GitHub プルリクエストのレビュー、問題のトリアージ、コード分析と修正などを実行するために使用します。

機能

  • 自動化: イベント(例:Issueの作成)やスケジュール(例:夜間実行)に基づいてワークフローをトリガーします。
  • オンデマンドコラボレーション: Issueやプルリクエストのコメントで Qwen Code CLI をメンションしてワークフローをトリガーします(例:@qwencoder /review)。
  • ツールで拡張可能: Qwen Code モデルのツール呼び出し機能を活用し、GitHub CLI gh)などの他のCLIとやり取りできます。
  • カスタマイズ可能: リポジトリに QWEN.md ファイルを配置することで、プロジェクト固有の指示やコンテキストを Qwen Code CLI に提供できます。

クイックスタート

数分でリポジトリ内で Qwen Code CLI を使い始めることができます:

1. Qwen APIキーの取得

DashScope (アリババクラウドのAIプラットフォーム)からAPIキーを取得してください。

2. GitHubシークレットとして追加する

APIキーを QWEN_API_KEY という名前のシークレットとしてリポジトリに保存します:

  • リポジトリの Settings > Secrets and variables > Actions に移動します
  • New repository secret をクリックします
  • Name: QWEN_API_KEY、Value: あなたのAPIキー

3. .gitignoreを更新する

以下のエントリを .gitignore ファイルに追加してください:

# qwen-code-cli 設定 .qwen/ # GitHub App 認証情報 gha-creds-*.json

4. ワークフローを選択する

ワークフローを設定するには2つのオプションがあります:

オプションA: セットアップコマンドを使用する(推奨)

  1. ターミナルでQwen Code CLIを起動します:

    qwen
  2. ターミナルのQwen Code CLIで以下を入力します:

    /setup-github

オプションB: ワークフローを手動でコピーする

  1. 事前にビルドされたワークフローを 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

ワークフロー

このアクションは、さまざまなユースケースに対応した複数の事前構築済みワークフローを提供します。各ワークフローは、リポジトリの .github/workflows ディレクトリにコピーし、必要に応じてカスタマイズできるように設計されています。

Qwen Code ディスパッチ

このワークフローは、Qwen Code CLI の中央ディスパッチャーとして機能し、トリガーイベントとコメント内のコマンドに基づいて適切なワークフローにリクエストをルーティングします。ディスパッチワークフローの設定方法に関する詳細ガイドについては、Qwen Code ディスパッチワークフローのドキュメント を参照してください。

Issue トリアージ

このアクションは、GitHub Issues を自動的にまたはスケジュールに従ってトリアージするために使用できます。Issue トリアージシステムの設定方法に関する詳細ガイドについては、GitHub Issue トリアージワークフローのドキュメント を参照してください。

Pull Request レビュー

このアクションは、プルリクエストがオープンされた際に自動的にレビューを行うために使用できます。プルリクエストレビューシステムの設定方法に関する詳細ガイドについては、GitHub PR レビュー ワークフローのドキュメント を参照してください。

Qwen Code CLI アシスタント

このタイプのアクションは、プルリクエストやイシュー内で汎用的な会話型 Qwen Code AI アシスタントを呼び出すために使用でき、幅広いタスクを実行できます。汎用的な Qwen Code CLI ワークフローの設定方法について詳しくは、Qwen Code アシスタント ワークフローのドキュメント を参照してください。

設定

入力

  • qwen*api_key: *(任意)_ Qwen API の API キー。

  • qwen*cli_version: *(任意、デフォルト: latest)_ インストールする Qwen Code CLI のバージョン。“latest”、“preview”、“nightly”、特定のバージョン番号、または Git のブランチ、タグ、コミットを指定できます。詳細については、Qwen Code CLI リリース  を参照してください。

  • 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 キーの代わりに Code Assist を使用して Qwen Code モデルにアクセスするかどうか。 詳細については、Qwen Code CLI ドキュメント  を参照してください。

  • use*vertex_ai: *(任意、デフォルト: false)_ デフォルトの Qwen Code API キーの代わりに Vertex AI を使用して Qwen Code モデルにアクセスするかどうか。 詳細については、Qwen Code CLI ドキュメント  を参照してください。

  • extensions: (任意) インストールする Qwen Code CLI 拡張機能のリスト。

  • upload*artifacts: *(任意、デフォルト: false)_ 成果物を GitHub Actions にアップロードするかどうか。

  • use*pnpm: *(任意、デフォルト: false)_ qwen-code-cli をインストールする際に npm の代わりに pnpm を使用するかどうか。

  • workflow*name: *(任意、デフォルト: ${{ github.workflow }})_ テレメトリ目的で使用される GitHub ワークフロー名。

出力

  • summary: Qwen Code CLI 実行からの要約出力。

  • error: Qwen Code CLI 実行からのエラー出力(ある場合)。

リポジトリ変数

以下の値をリポジトリ変数として設定することを推奨します。これにより、すべてのワークフローで再利用できます。または、個々のワークフロー内でアクションの入力としてインラインで設定するか、リポジトリレベルの値を上書きするために使用することもできます。

名前説明タイプ必須必須となる条件
DEBUGQwen Code CLI のデバッグログを有効にします。変数いいえ常に不要
QWEN_CLI_VERSIONインストールされる Qwen Code CLI のバージョンを制御します。変数いいえCLI バージョンの固定時
APP_IDカスタム認証用の GitHub App ID。変数いいえカスタム GitHub App 使用時

リポジトリ変数を追加するには:

  1. リポジトリの Settings > Secrets and variables > Actions > New variable に移動します。
  2. 変数名と値を入力します。
  3. 保存します。

リポジトリ変数の詳細については、変数に関する GitHub ドキュメント  を参照してください。

シークレット

リポジトリに以下のシークレットを設定できます:

名前説明必須必須となるタイミング
QWEN_API_KEYDashScope から取得した Qwen API キー。はいQwen を呼び出すすべてのワークフローで必要。
APP_PRIVATE_KEYGitHub App の秘密鍵(PEM 形式)。いいえカスタム GitHub App を使用する場合。

シークレットを追加するには:

  1. リポジトリの Settings > Secrets and variables > Actions > New repository secret に移動します。
  2. シークレット名と値を入力します。
  3. 保存します。

詳しくは、暗号化されたシークレットの作成と利用に関する公式 GitHub ドキュメント をご参照ください。

認証

このアクションでは、GitHub API への認証、およびオプションで Qwen Code サービスへの認証が必要です。

GitHub 認証

GitHub への認証には以下の 2 つの方法があります。

  1. デフォルトの GITHUB_TOKEN: よりシンプルなユースケースでは、ワークフローによって提供されるデフォルトの GITHUB_TOKEN を使用できます。
  2. カスタム GitHub App(推奨): 最も安全で柔軟な認証を行うために、カスタム GitHub App の作成を推奨します。

Qwen および GitHub 認証の詳細なセットアップ手順については、
認証ドキュメント を参照してください。

拡張機能

Qwen Code CLI は、拡張機能を通じて追加の機能で拡張できます。
これらの拡張機能は、GitHub リポジトリからソースコードをインストールして利用します。

拡張機能のセットアップと設定方法の詳細については、
拡張機能ドキュメント を参照してください。

ベストプラクティス

自動化ワークフローのセキュリティ、信頼性、効率を確保するために、ベストプラクティスに従うことを強く推奨します。これらのガイドラインは、リポジトリのセキュリティ、ワークフロー設定、モニタリングなどの主要分野をカバーしています。

主な推奨事項:

  • リポジトリの保護: ブランチとタグの保護を実装し、プルリクエストの承認者を制限する。
  • モニタリングと監査: アクションログを定期的に確認し、パフォーマンスと動作の詳細なインサイトを得るためにOpenTelemetryを有効にする。

リポジトリとワークフローを保護する包括的なガイドについては、ベストプラクティスドキュメントをご参照ください。

カスタマイズ

プロジェクト固有のコンテキストと指示をQwen Code CLIに提供するために、リポジトリのルートにQWEN.mdファイルを作成してください。これは、コーディング規約、アーキテクチャパターン、または特定のリポジトリでモデルが従うべきその他のガイドラインを定義するのに役立ちます。

コントリビューションについて

コントリビューションを歓迎します!詳しくは Qwen Code CLI の「コントリビューションガイド」をご確認ください。スタート方法についてはこちらをご覧ください。

Last updated on