カスタムスクリプト

Scripts are the lightest-weight entry point into Behavior Extensibility – Python code that runs on the platform server and can be triggered, scheduled, or called from within larger automation flows.

Behavior Extensibility フレームワークでは、スクリプトは Altium 365 プラットフォームのコンテキストで実行されるサーバーサイドの Python です。コンパイル済み拡張機能や完全なワークフロー自動化とは異なり、スクリプトは意図的に軽量に設計されています。単一ファイル、定義された入出力コントラクト、そして明確に絞られた目的を持ちます。手動でトリガーできるほか、フックから呼び出したり、ワークフロー内にステップとして組み込んだり、定期実行するようスケジュールしたりすることもできます。

スクリプトは、チェック、フック、ワークフローブロックと同じ拡張インフラストラクチャを共有しており、Workspace データにアクセスでき、外部システムを呼び出すことができ、その結果を自動化パイプラインの他の部分に渡すこともできます。違いはその適用範囲にあります。スクリプトは 1 つのことを行い、それを明快に実行し、すばやく反復改善できます。

このコンテキストでのスクリプトの用途

  • Targeted automation – トリガー時に 1 回だけ実行される スクリプト。たとえば、ライブラリ全体のコンポーネントパラメータ値を正規化する、Workspace データからカスタムレポートを生成する、リリース後にデータセットを外部システムへ送信する、といった用途です。フルのチェックやワークフローフレームワークに組み込む必要のない、焦点の絞られた処理に適しています。

  • Data transformation – システム間でデータを再構成する必要がある場合、スクリプトは適切な手段です。たとえば、Altium のデータ構造を外部 API が期待する形式に変換したり、受信データを Workspace に書き込む前に変換したりする場合です。変換ロジックをスクリプトとして明確に分離しておくことで、より大きなワークフローの中に埋め込まれた変換処理よりも、テストや保守が容易になります。

  • Policy enforcement, lightweight – 自動チェックポイントで実行する必要のない強制ルールにも適しています。たとえば、マイルストーンレビュー前にチームリーダーが実行するルールや、各コミット時ではなく必要に応じて呼び出されるチェックです。このような場合、プラットフォームイベントに登録された完全なチェックよりも、スクリプトの方が適しています。トリガーが意図的かつ手動であるなら、完全なチェックインフラストラクチャのオーバーヘッドは見合いません。

  • Building blocks for larger automation – スクリプトはフックやワークフローブロックから呼び出すことができるため、より大きな自動化の中で再利用可能なユニットになります。たとえば、外部の承認済みベンダーリストを問い合わせるスクリプトは、ロジックを重複させることなく、複数の異なるチェックやフックから呼び出せます。スクリプトは外部システムとのやり取りを担当し、チェックやフックはポリシー判断を担当します。

他の Behavior Extensibility プリミティブと比較したスクリプト

スクリプトは、チェック、フック、ワークフローブロックの代替ではありません。役割の異なる、相互補完的なプリミティブです。

チェックはプラットフォームの検証イベントに接続され、定義されたチェックポイントで自動実行されます。スクリプトは明示的に呼び出されたときに実行されます。

フックはプラットフォームのライフサイクルイベントに応答し、自動的に発火します。スクリプトは、ユーザー、スケジュール、または他の自動化プリミティブの内部から、意図的に呼び出されます。

ワークフローブロックは、ワークフロー定義内で再利用可能なステップです。スクリプトはワークフローブロックが呼び出すロジックを実装できますが、スクリプト単体はワークフローステップではありません。

要件が、焦点の絞られたオンデマンド処理または定期実行処理であるなら、まずはスクリプトから始めてください。プラットフォームイベントで自動実行する必要が出てきたら、そのロジックをチェックやフックへ移します。構造化された複数ステップのプロセスに組み込む必要があるなら、ワークフローブロックとしてラップします。

保守と反復改善

スクリプトは Python ファイルであり、他のコードと同様にバージョン管理下で扱われます。インタープリタ実行でビルドステップを必要としないため、反復改善は高速です。スクリプトを変更し、デプロイし、テストするだけです。そのため、正確な要件がまだ完全には定まっていない場合や、実際の利用状況に応じてロジックをすばやく進化させる必要がある場合、スクリプトは適切な出発点になります。

個人用ユーティリティとして始まったスクリプトが、しばしばチームで共有されるインフラへと成長することがあります。スクリプトがその段階に達したら、つまり複数人に使われ、重要なプロセスを担い、信頼性が期待されるようになったら、適切な構造への投資を検討する価値があります。具体的には、入力検証、エラーハンドリング、ロギング、そして自動トリガーが必要になった場合には、より正式なチェックやフックへの移行です。

 

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
Content