0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ワークフロー自動化Activepiecesのススメ:Pleasanterにデータ連携してみる (JVN to Pleasanter)

0
Last updated at Posted at 2025-08-10

Community EditionOSS(AGPL-3.0 license)なノーコード・ローコード開発ツール Pleasanter®(プリザンター)1

セルフホスト環境で、ユーザースクリプト・サーバースクリプト・API を駆使して自由にカスタマイズできるのは素晴らしい。
でも……もっとノーコードで、手軽にいろいろ活用したい!

ということで、
Community EditionOSS(MIT license)なノーコード・ローコード自動化ツール Activepieces
を使ってサービス間の連係をしてみました2

n8n.ioは株式会社インプリム@implem-noroさんの記事があります
n8n.ioでプリザンターのノードを自作してAPI連携してみた!

Activepiecesのススメ

なぜトレンドのDifyやn8nではなく、ActivePiecesなのか?

エンジニアフレンドリー

Activepiecesではサービスとのコネクタを「Piece(ピース)」 3と呼びます。

Piece の開発は非常に手軽です。
公式リポジトリには開発用コンテナが用意されていて、fork して GitHub Codespaces を起動するだけで、ホットデプロイ環境が整います。
基本的なコネクタ開発の公式チュートリアルもn8nやDifyと比べて圧倒的に短くコンパクト(もちろん機能面のトレードオフはありますが)

コネクタ作成は小さなスクリプトを書く感覚で進められ、開発環境を整える手間もほぼ不要です。
そもそもが腰を据えて開発するものでもないので手軽に越したことはない(持論)
この参入障壁の低さが、コミュニティ活性化とエコシステム拡大につながる......といいな:upside_down:

コネクタがないと非エンジニアが
「はい!ノーコード・ローコードで連携できますよ」(ニコニコ)
「わかりました 導入します」
「なめてんじゃねぇぞ!こら!コード書かないでAPI連携してぇだと?できる
わけねぇだろうが!」(グシャ)「ぐぇっ」

ってなります

非エンジニアフレンドリー

少しニッチなケースですが、開発者としてPieceを公開したいものの、

  • 非公式である
  • 対象サービスの利用者が少ない

といった理由から、公式リポジトリへのマージをためらうことがあるかもしれません。
そのような場合でもPieceをNPMに公開すれば、Activepieces環境にインストールして利用できます。

ここで言うActivepieces環境というのはセルフホストだけでなくSaaSもです(今回はFree Planを使っています)。

n8nでもNPMからコネクタをインストールできますが、セルフホスト環境に限られます。(DifyはSaaSでもGithubからインストールできそう)

Installing from npm only available on self-hosted instances
Unverified community nodes aren't available on n8n cloud and require self-hosting n8n.
Install and manage community nodes

これは当然の制限で、SaaS ではサーバー側でどのような通信が行われているか把握できないため、セキュリティリスクがあります。
野良コネクタの利用は、作成元やコードを確認し、自己責任で行ってください。

SaaSで使えないと非エンジニアが
「はい!コードを書けなくても連携できますよ」(ニコニコ)
「わかりました 導入します」
「なめてんじゃねぇぞ!こら!セルフホストしないでカスタマイズしてぇだと?できる
わけねぇだろうが!」(グシャ)「ぐぇっ」

ってなります

NPMからPieceをインストールして使ってみる

Pleasanter用の非公式Pieceを使ってみましょう。
作り方は公式マニュアル見れば簡単なので割愛
npm ※途中なのでGithubは開発ブランチ内

環境は全てSaaS

Activepiecesをセルフホストする場合npmjsからインストールをできなくする環境変数があるため注意(デフォルトなら問題ありません)

Pieceをnpmjsからインストールする

Activepiecesにログインして

  1. 「プラットフォーム管理者を入力してください」
    image.png

  2. 「セットアップ」->「小品」
    image.png

  3. 右上の「ピースをインストール」をクリックして
    ピース名: @hijiriishi/piece-ple - npmパッケージ名
    ピースバージョン: 0.0.6 - npmパッケージのバージョン(最新版でいいです)
    「インストール」
    image.png

  4. 一覧に追加されていることを確認
    image.png

  5. 左のメニューの「Exit Platform Admin」でメインの画面に戻れます

これだけです。
公式ドキュメントの所在が不明だし見つけるのに苦労した

ピースバージョンを入れずにインストールすると、直後に成功したかのようなメッセージが出ますがインストールできていません。
ピースバージョンは必ず入れてください。

インストールしたPieceを使う

  1. 「フロー」から「フローを作成 - スクラッチから」
    image.png

  2. 1.Select Triggerというのが起動条件です。スケジュールやWebHookを指定できます
    無視して「+」をクリック
    image.png

  3. 検索して絞るとActionが出てきますので今回はCreate Recordを選択
    image.png

  4. 右の「接続 - +新しい接続」からPleasanterのベースURLとAPIキーを入力して「保存」
    ベースURL: http(s)://{serverhost}/api
    APIキー: APIキー
    image.png

  5. サイトIDと項目を入力する
    image.png

  6. 「ステップをテスト」をクリックする
    image.png

  7. 成功!
    image.png
    image.png

UseCase - 脆弱性対策情報をPleasnterに登録する

要件

  • 毎週初に製品の脆弱性対策情報を確認してPleasanterに登録する
  • 脆弱性対策情報は脆弱性対策情報データベース JVN iPediaからMyJVN APIを用いて取得する
  • 製品はCPEという識別子で管理されている
    今回はnginx(cpe:/a:f5:nginx)を対象とする

事前準備

MyJVN APIのPieceをインストール
npm ※途中なのでGithubは開発ブランチ内
ピース名 @hijiriishi/piece-myjvn
ピースバージョン 0.0.3 (最新版でいいです)

フロー作成

1. トリガー

Utility -> Schedule -> EveryWeek で月曜朝8時起動設定
image.png

2. 脆弱性対策情報取得

Apps -> MyJVN -> 脆弱性対策概要情報一覧の取得 を追加
image.png

以下デフォルトから変えます。

項目 設定値 備考
エントリ取得件数 3 テストのため
CPE製品名 cpe:/a:f5:nginx nginxのCPE製品名
発見日の範囲指定 範囲指定なし 運用は過去1週間にしますがテストのため
更新日の範囲指定 範囲指定なし 運用は過去1週間にしますがテストのため
発行日の範囲指定 範囲指定なし 運用は過去1週間にしますがテストのため

「ステップを生成」するとJSONが取得できます。
これをサンプルデータとして次のステップを作ります。
image.png

脆弱性情報は rdf:RDF -> item に配列として入っているようです。
1件づつ取り出すループを作ります。

3. データをループで取り出す

Utility -> Loop on Items を追加
image.png

「アイテム」のテキストボックスをクリックすると「データセレクター」が表示されます。
ここから前段のデータを選択できます。
image.png

2.脆弱性対策概要情報一覧の取得 -> rdf:RDF -> item を挿入してステップをテスト
image.png

itemが取り出せます

4. Pleasanterに登録する

Loopの中の大きな+をクリックして
Apps -> Pleasanter(unofficial) -> Create Record を追加
image.png

入力項目をクリックしデータセレクターを見てみると
3.Loop on Items -> item に1件目の情報が取り出されています。
image.png

これらを必要な項目にあてはめていって.....
image.png

ステップをテスト 無事登録されました
image.png

フロー全体の動作確認

以下の形になりました
image.png

最後に一番上のテストフローをクリックして
image.png

実験は成功だ!

さいごに

AIワークフロー界隈でDifyやn8nが注目されていますが、
ActivePiecesはSaaS連携の分野で、手軽にコネクタを作れる強みを持っています。
みんなで作ろう、Piece! 🚀:v:

  1. プリザンター® Pleasanter® は株式会社インプリムの登録商標です。

  2. n8nはセルフホストしてみたけどactivate求められたりlicense面倒そうなんでやめた。

  3. おおよそZapierでいうApp、DifyでいうToolPlugin、n8nでいうNode、IFTTTでいうService

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?