グローバルおよびプロジェクト範囲
YouTrack 用のアプリを構築するときは、グローバルスコープとプロジェクトスコープの違いを理解することが重要です。これらのスコープによって、システム内で利用できる機能、設定、拡張機能のレベルが決まります。
拡張ポイントのスコープ
アプリの各拡張ポイントは、グローバルスコープまたはプロジェクトスコープで動作するように設計されています。
グローバルスコープの拡張ポイントは、システム全体で利用できます。つまり、特定のプロジェクトのコンテキスト外のユーザーがアクセスできます。
プロジェクトスコープを持つ拡張ポイントは、特定のプロジェクトに限定されます。これらの拡張ポイントを使用するウィジェットは、アプリがアタッチされ、ウィジェットがアクティブになっているプロジェクトのコンテキストでのみ使用できます。ユーザーは、プロジェクトへのアクセス権を持っている場合にのみウィジェットにアクセスできます。
次の拡張ポイントにはグローバルスコープがあります。
ADMINISTRATION_MENU_ITEM
DASHBOARD_WIDGET
MAIN_MENU_ITEM
MARKDOWN
USER_CARD
USER_PROFILE_SETTINGS
これらの拡張ポイントにはプロジェクトスコープがあります。
ARTICLE_OPTIONS_MENU_ITEM
ISSUE_ABOVE_ACTIVITY_STREAM
ISSUE_BELOW_SUMMARY
ISSUE_FIELD_PANEL_LAST
ISSUE_FIELD_PANEL_FIRST
ISSUE_OPTIONS_MENU_ITEM
PROJECT_SETTINGS
HELPDESK_CHANNEL
拡張ポイントの詳細については、拡張ポイントを参照してください。
HTTP ハンドラーのスコープ
同じ概念が HTTP ハンドラーにも適用され、グローバルレベルまたはプロジェクトレベルのいずれかでアクセス可能です。
次のエンドポイントを持つ HTTP ハンドラーは、グローバルレベルでスコープ設定されます。
global
user
次のエンドポイントを持つ HTTP ハンドラーは、プロジェクトレベルでスコープ設定されます。
issue
article
project
HTTP ハンドラーでは、グローバルレベルとプロジェクトレベルのエンドポイントを 1 つのハンドラーに混在させることはできません。複数のスコープのエンドポイントを定義する HTTP ハンドラーを含むアプリは、YouTrack によって拒否されます。1 つのアプリで複数のスコープのカスタムエンドポイントを定義する場合は、スコープごとに個別の HTTP ハンドラーを使用します。
グローバルレベルの HTTP ハンドラーを含むアプリをプロジェクトにアタッチしても、エンドポイントのスコープは変更されません。これらのグローバルエンドポイントは、アプリ自体の可視性設定を使用してオフになっているように見えても、システムレベルでは引き続き使用できます。
一方、プロジェクトレベルのハンドラーはプロジェクトごとにアクティブ化する必要があり、アプリがアタッチされ、HTTP ハンドラーを含むモジュールがアクティブになっているプロジェクトでのみアクセスできます。
HTTP ハンドラースコープは、アプリのモジュールを管理する権限を持つユーザーにも影響します。
グローバルレベルのエンドポイントの HTTP ハンドラーを含むモジュールは、低レベルの管理者書き込み権限を持つユーザーのみが管理できます。この権限は通常、システム管理者用に予約されています。
低レベルの管理者書き込み権限を持たないユーザーがグローバルモジュールを含むアプリをインストールまたはインポートすると、アプリは自動的に非アクティブ化されます。アプリをアクティブ化できるのは、十分な権限を持つユーザーのみです。
プロジェクトレベルのエンドポイントの HTTP ハンドラーのみを含むモジュールは、プロジェクトの更新権限を持つユーザーが管理できます。
プロジェクトの更新権限を持つユーザーは、プロジェクトスコープの HTTP ハンドラーのエンドポイントを、グローバルスコープを必要とするエンドポイントに置き換えることはできません。
YouTrack アプリの HTTP ハンドラーの詳細については、HTTP ハンドラーを参照してください。
関連ページ:
拡張ポイント
YouTrack は、アプリ開発者が UI にウィジェットを埋め込むことができる拡張ポイントのコレクションを提供します。これらのウィジェットは、ユーザーがアプリをインストールしてアクティブ化しない限り利用できない特定の操作をサポートします。このページでは、これらの拡張ポイントに関する情報を確認できます。ここでは、すべての可能な拡張ポイントとそのスコープの概要を示します。ウィジェットのスコープの詳細については、スコープを参照してください。ADMINISTRATION_MENU_ITEM グローバル管...
HTTP ハンドラー
HTTP ハンドラーを使用すると、カスタム HTTP エンドポイントから YouTrack データにアクセスできるようになります。これらのハンドラーは REST API を拡張し、クライアントは特定のウィジェットのフロントエンドコードだけでなく、他の YouTrack REST API エンドポイントと同様にこれらのエンドポイントを呼び出すことができます。つまり、HTTP ハンドラーを使用して、サードパーティのサービスからアクセスできる Webhook をプロビジョニングできます。YouTrac...
アプリの可視性
管理者は、アプリの可視性設定を使用して、アプリにアクセスできるユーザーとグループを管理できます。この設定は、システム内のすべてのアプリでデフォルトで使用可能であり、各アプリに定義できるカスタム設定とはまったく関係ありません。開発者は、この設定を使用できるようにするために特別な操作を行う必要はありません。ただし、この設定はすべてのアプリでデフォルトで存在することに注意してください。管理者は、グローバルレベルとプロジェクトレベルでアプリへのアクセスを制限できます。アプリの可視性がグローバルレベルとプ...