# バージョン管理

プラグインの開発や更新の際に、ある時点でコードのバージョンの設定が必要となる場合があります。

たとえば、FormIt の API はリリースごとに変わる可能性があるため、新しいバージョンのプラグインでは新しい FormIt または WSM の API を使用しながら、古いクライアントでも引き続きそのプラグインが機能することが求められる場合があります。

FormIt **v18.0** から、3 つの簡単な手順でプラグインのバージョン管理を実装できるようになりました。

* プラグイン フォルダのルートに *versions.json* ファイルを追加します
* *versions.json* で、互換性のある各 FormIt バージョンと、対象のプラグイン ファイルを含むフォルダを指定します
* FormIt の内部バージョン番号つまり「ビルド番号」を使用します。これは、FormIt の\[情報] > \[FormIt について]で確認できます

### プラグインのバージョン管理を整理する方法

*versions.json* に一致するようにプラグインのファイルとフォルダを整理します。

*versions.json* は次のようになっているはずです。

```
        [
            {
                "version":{
                    "major":18,
                    "minor":0
                },
                "path":"v18_0"
            },
            {
                "version":{
                    "major":19,
                    "minor":1
                },
                "path":"v19_0"
            }
        ]
```

上記のパス *v18\_0* および *v19\_0* は、フォルダ/リポジトリのルートからの有効なサブパスである必要があります。

![](/files/zs9oxG7p1lhuYQQlf6mJ)

![](/files/v35t8MzRVWHsOdTmn3uO)

![](/files/ajo9WOc8jkSiiQWOBshC)

適切に処理するには、プラグイン コードをサブフォルダに移動します。上記の *versions.json* を使用すると、フォルダ構造は次のようになります。

* **versions.json** (ファイル)
* **v18\_0** (フォルダ)
  * **manifest.json** (ファイル)
  * **plugin.html** (ファイル)
  * **plugin.js** (ファイル)
* **v19\_0** (フォルダ)
  * **manifest.json** (ファイル)
  * **plugin.html** (ファイル)
  * **plugin.js** (ファイル)

バージョンに関するオプションのプロパティは「exactVersion」と「lastVersion」です。「exactVersion」は、バージョンが FormIt のバージョンと完全に一致する必要があることを示します。「lastVersion」は、FormIt で実行できる最新バージョンを示します。\\

```
[
    {
      "version":{
        "major":18,
        "minor":0,
        "exactVersion":true
        },
        "path":"v18_0"
    },
    {
        "version":{
            "major":19,
            "minor":1,
            "lastVersion":true
       },
        "path":"v19_0"
    }
 ]
```

パスに git のブランチ、タグ、コミットを使用することもできます。

プレリリース、つまりベータ版ビルドの FormIt を使用していて、そのプレリリース版でのみ動作するプラグインへの変更をテストする場合は、次のようになります。

* *versions\_prerelease.json* というファイル名を使用すること以外は、上記の手順に従います
* *versions\_prerelease* をリポジトリにコミットした場合は、そのプレリリース版の FormIt がリリースされたときに削除する必要があります
  * リリースされない場合は、その後のプレリリース版の FormIt では古い場所(古いバージョン用の場所)からプラグインがロードされます


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://windows.help.formit.autodesk.com/ja/plugins/how-to-develop-plugins/advanced-development/versioning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
