背景
他のユーザーが活発に利用しているプラグインを手作業で更新するのは手間がかかります。リリースのたびに、コードの修正、バージョンの更新、変更のプッシュ、ブランチの作成、ファイルのパッケージング、PR の作成を行う必要があります。 Plugin Auto-PR は、この一連の作業全体を自動化する GitHub Actions ワークフローです。1 回のプッシュでプラグインをパッケージングしてマーケットプレイス PR を作成するため、開発そのものに集中できます。コンセプト
GitHub Actions
GitHub Actions は、GitHub 上の開発タスクを自動化します。トリガー(例:コードのプッシュ)が発生すると、クラウドベースの仮想マシンでワークフローが実行され、ビルドからデプロイまでをすべて処理します。
- パブリックリポジトリ:無制限
- プライベートリポジトリ:月 2000 分
Plugin Auto-PR
このワークフローは次のステップを実行します。- プラグインソースリポジトリの main ブランチにコードをプッシュするとトリガーされます。
manifest.yamlファイルからプラグイン情報を読み取ります。- プラグインを
.difypkgファイルとしてパッケージングします。 - パッケージングしたファイルを、フォークした
dify-pluginsリポジトリにプッシュします。 - 新しいブランチを作成し、変更をコミットします。
- 上流リポジトリへマージするための PR を作成します。
前提条件
リポジトリ
- 自分のプラグインソースコードリポジトリ(例:
your-name/plugin-source)。 - 自分がフォークしたプラグインリポジトリ(例:
your-name/dify-plugins)。 - フォーク内にプラグインのディレクトリ構造がすでに用意されていること:
権限
フォークしたリポジトリにコードをプッシュし、上流リポジトリに PR を作成できる GitHub Personal Access Token (PAT) を作成します。パラメータと設定
セットアップ要件
自動公開には 2 つの準備が必要です。manifest.yaml ファイルが自動化を駆動します。
name:プラグインの名前(パッケージ名とブランチ名に影響します)。version:セマンティックバージョン番号(リリースごとに増やします)。author:自分の GitHub ユーザー名(リポジトリのパスを決定します)。
PLUGIN_ACTION シークレットが認証情報を保持します。
- 値:十分な権限を持つ Personal Access Token (PAT)。
- 権限:フォークしたリポジトリへのブランチのプッシュと、上流リポジトリへの PR の作成。
自動生成されるパラメータ
セットアップが完了すると、ワークフローは以下のパラメータを自動的に導出します。- GitHub ユーザー名:
manifest.yamlのauthorフィールドから読み取り。 - 作者フォルダ名:
authorフィールドと一致。 - プラグイン名:
manifest.yamlのnameフィールドから読み取り。 - ブランチ名:
bump-{plugin-name}-plugin-{version}。 - パッケージファイル名:
{plugin-name}-{version}.difypkg。 - PR のタイトルと内容:プラグイン名とバージョンから生成。
ステップバイステップガイド
シークレットの設定
プラグインソースリポジトリで Settings > Secrets and variables > Actions > New repository secret を開き、シークレットを作成します。
- Name:
PLUGIN_ACTION - Value:ターゲットリポジトリ(
your-name/dify-plugins)への書き込み権限を持つ GitHub Personal Access Token (PAT)

ワークフローファイルの作成
リポジトリに
.github/workflows/ ディレクトリを作成し、plugin-publish.yml という名前のファイルを追加して、以下のワークフローを貼り付けます。このワークフローは、概要としては main へのプッシュごとに実行され、Dify プラグイン CLI をダウンロードし、マニフェストからプラグインをパッケージングし、自分の dify-plugins フォークをチェックアウトして、新しい .difypkg を含む PR を langgenius/dify-plugins に対して作成します。完全なワークフロー YAML
完全なワークフロー YAML
使用ガイド
初回セットアップ
最初の自動リリースの前に、以下を確認してください。- 公式の
dify-pluginsリポジトリをフォークしている。 - プラグインソースリポジトリの構造が正しい。
- プラグインソースリポジトリに
PLUGIN_ACTIONシークレットが設定されている。 - ワークフローファイル
.github/workflows/plugin-publish.ymlが存在する。 manifest.yamlのnameとauthorフィールドが正しく設定されている。
その後の更新
セットアップ後に新しいバージョンを公開するには:- コードを修正します。
-
manifest.yamlのversionフィールドを更新します。
- すべての変更を main ブランチにプッシュします。
- GitHub Actions がパッケージング、ブランチ作成、PR 送信を完了するのを待ちます。
結果
プラグインソースリポジトリの main ブランチにコードをプッシュすると、GitHub Actions が公開プロセスを自動的に実行します。- プラグインを
{plugin-name}-{version}.difypkg形式でパッケージングします。 - パッケージングしたファイルをターゲットリポジトリにプッシュします。
- フォークリポジトリへマージするための PR を作成します。

サンプルリポジトリ
動作する設定とベストプラクティスについては、サンプルリポジトリ を参照してください。このページを編集 | 問題を報告