Developer Portal for YouTrack and Hub Help

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:

<script type="module"> const host = await YTApp.register(); host.alert('Hello world'); </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

A menu item for an app developed as an administration page
An example of an app developed as an administration page

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

An example of an app developed as an article toolbar item area

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

An example of an app developed as a ticket channel page

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

An example of an app developed in the issue above the activity stream

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

An example of an app developed in the issue main area

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

An example of an app developed in the issue sidebar top area

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

An example of an app developed in the issue sidebar area

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

An example of an app developed as an issue toolbar item

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

The header menu item for an app developed as a page
An example of an app developed as a page

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

An example of an app developed in the administration area

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

An example of an app developed in the user card area

User Profile Settings

Name

Description

Scope

USER_PROFILE_SETTINGS

This extension point lets you create a separate tab in the user profile.

User

An example of an app developed in the user profile area
Last modified: 7 October 2024