YouTrack および Hub ヘルプの開発者ポータル

アプリパッケージの概要

このページでは、アプリパッケージとそのコンポーネントの概要を説明します。

アプリパッケージ

サンプルアプリパッケージのファイル構造は次のとおりです。

An example of an app package

パッケージの主なコンポーネントは次のとおりです。

  • アプリマニフェストは、アプリパッケージのルートレベルに保存される JSON ファイルです。

  • アプリ設定のカスタムスキーマ

  • The definition for any extension properties used to store custom values for core YouTrack entities.

  • ウィジェットのサブフォルダーを含む widgets フォルダー。

  • 管理ウィジェットのサブフォルダー。このサブフォルダーには、このウィジェットで使用される index.html ファイルおよびその他の補足ファイルが含まれています。

  • 追加モジュールのスクリプトを含む JavaScript ファイル。

App Manifest

各アプリパッケージには、パッケージディレクトリのルートに manifest.json ファイルが含まれている必要があります。マニフェストファイルには、タイトル、説明、アプリに含まれるモジュールのリストなど、アプリに関する一般的な情報が記載されています。

アプリマニフェストの詳細については、App Manifest を参照してください。

アプリの設定

アプリ開発者は、アプリのカスタム設定のスキーマを提供するオプションがあります。設定スキーマは settings.json ファイルに記述されます。これらの設定は、アプリの設定タブで構成するためにアクセスできます。

アプリのカスタム設定の詳細については、アプリの設定を参照してください。

拡張機能のプロパティ

アプリは、カスタムプロパティを使用してコア YouTrack エンティティを拡張できます。これらは拡張プロパティと呼ばれます。拡張プロパティを使用すると、コア YouTrack エンティティのカスタム値を保存できます。アプリは、JavaScript ベースのモジュールでこれらのカスタムプロパティとその値を操作できます。

Extension properties are declared in a dedicated file named entity-extensions.json . To define custom extension properties, add this file to the root level of the app package and declare each property inside the file.

詳細は、拡張機能のプロパティを参照してください。

ウィジェット

YouTrack の外観を変更し、YouTrack UI の独自の拡張機能を開発するには、ウィジェットを作成します。ウィジェットは、YouTrack UI のいくつかの拡張ポイントに埋め込むことができます。これらの拡張ポイントの完全なリストについては、拡張ポイントを参照してください。

ここでは、マニフェストに記述されているウィジェットの例を見ることができます。

{ "name": "Sample Widget", "key": "sample-widget", "indexPath": "index.html", "place": "ISSUE_FIELD_PANEL_FIRST", "description": "Optional widget description", "iconPath": "icon.png" }

ここでは、このウィジェットのソースコードを含むサンプル index.html ファイルを確認できます。

<!doctype html> <html> <head> <link rel="stylesheet" href="../index.css"> </head> <body class="plugin" style="padding: 0; overflow: hidden;"> <img src="logo.jpeg" style="width: 100%; height: 100%; object-fit: cover;"/> <script type="module"> const host = await YTApp.register(); </script> </body> </html>

JavaScript モジュール

カスタム HTTP ハンドラー、ワークフロールール、インポートスクリプト、SLA ルールなど、さまざまな JavaScript ベースのモジュールをアプリに追加できます。アプリの JavaScript モジュールの詳細については、アプリリファレンスを参照してください。

You must store the source code for each module in a separate .js file.

2025 年 3 月 21 日