Extension Points
A widget is an app module that tweaks the YouTrack UI. YouTrack offers a collection of extension points where an app developer can embed a widget in the UI. On this page, you can find information about these extension points.
Here is the overview of all possible extension points with their scopes. To learn about widget scopes, see Scope.
Extension Point | Scope | Description |
---|---|---|
ADMINISTRATION_MENU_ITEM | Global | A page that has its own item in the administration menu. |
ARTICLE_ABOVE_ACTIVITY_STREAM | Article | The area in an article above the activity stream. |
ARTICLE_OPTIONS_MENU_ITEM | Article | An item in the article toolbar that invokes the widget. |
DASHBOARD_WIDGET | Global | The dashboard. |
HELPDESK_CHANNEL | Project | An extra channel for tickets. This extension point is only available for helpdesk projects. |
ISSUE_ABOVE_ACTIVITY_STREAM | Issue | The area in an issue above the activity stream. |
ISSUE_BELOW_SUMMARY | Issue | The area in an issue below the issue summary. |
ISSUE_FIELD_PANEL_FIRST | Issue | The area in an issue above the custom field panel. |
ISSUE_FIELD_PANEL_LAST | Issue | The area in an issue below the custom field panel. |
ISSUE_OPTIONS_MENU_ITEM | Issue | An item in the issue toolbar that invokes the widget. |
MAIN_MENU_ITEM | Global | A separate application page with a menu item in the header. |
MARKDOWN | Global | The area in a Markdown-formatted text. |
PROJECT_SETTINGS | Project | A separate tab in the project settings. |
USER_CARD | User | The area in the user card that you see when you hover over the username in an issue or article. |
USER_PROFILE_SETTINGS | User | A separate tab in the user profile. |
Register a Widget with the Host API
If you want your widget to send HTTP requests to YouTrack or communicate with it using any of the YouTrack APIs, you must include a script that registers the widget in YouTrack in the HTML code of the widget.
You need to register your app in YouTrack, for example, when sending alerts to YouTrack from the widget. Once you've registered the app, you can use the Host API to send alerts in YouTrack or invoke functions implemented as custom HTTP handlers.
Here you can see an example of the registration script:
For more details about the Host API, see Host API.
Administration Menu Item
Name | Description | Scope |
---|---|---|
ADMINISTRATION_MENU_ITEM | This extension point lets you create a page that has its own item in the administration menu. | Global |
Article above Activity Stream
Name | Description | Scope |
---|---|---|
ARTICLE_ABOVE_ACTIVITY_STREAM | This extension point lets you customize the area in an article above the activity stream. | Article |
Article Options Menu Item
Name | Description | Scope |
---|---|---|
ARTICLE_OPTIONS_MENU_ITEM | This extension point lets you create an item in the article toolbar that would invoke the widget. | Article |
Dashboard Widget
Name | Description | Scope |
---|---|---|
DASHBOARD_WIDGET | A widget that can be displayed on a dashboard. | Global |
Helpdesk Channel
Name | Description | Scope |
---|---|---|
HELPDESK_CHANNEL | This extension point lets you create an extra channel for tickets. It is only available for helpdesk projects. | Project |
Issue above Activity Stream
Name | Description | Scope |
---|---|---|
ISSUE_ABOVE_ACTIVITY_STREAM | This extension point lets you customize the area in an issue above the activity stream. | Issue |
Issue below Summary
Name | Description | Scope |
---|---|---|
ISSUE_BELOW_SUMMARY | This extension point lets you customize the area in an issue below the issue summary. | Issue |
Issue Field Panel First
Name | Description | Scope |
---|---|---|
ISSUE_FIELD_PANEL_FIRST | This extension point lets you customize the area in an issue above the custom field panel. | Issue |
Issue Field Panel Last
Name | Description | Scope |
---|---|---|
ISSUE_FIELD_PANEL_LAST | This extension point lets you customize the area in an issue below the custom field panel. | Issue |
Issue Options Menu Item
Name | Description | Scope |
---|---|---|
ISSUE_OPTIONS_MENU_ITEM | This extension point lets you create an item in the issue toolbar that would invoke the widget. | Issue |
Main Menu Item
Name | Description | Scope |
---|---|---|
MAIN_MENU_ITEM | This extension point lets you create a separate application page with a menu item in the header. | Global |
Markdown
Name | Description | Scope |
---|---|---|
MARKDOWN | A widget that is embedded into Markdown-formatted text. | Global |
Project Settings
Name | Description | Scope |
---|---|---|
PROJECT_SETTINGS | This extension point lets you create a separate tab in the project settings. | Project |
User Card
Name | Description | Scope |
---|---|---|
USER_CARD | This extension point lets you customize the area in the user card that you see when you hover over the username in an issue or article. | User |
User Profile Settings
Name | Description | Scope |
---|---|---|
USER_PROFILE_SETTINGS | This extension point lets you create a separate tab in the user profile. | User |