Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
UI Kit components
Jira UI Kit components
UI Kit hooks
Forge bridge APIs
Jira bridge APIs
Confluence bridge APIs
Dashboard bridge APIs
Upgrade UI Kit versions
Last updated Sep 30, 2026

Dashboard UI bridge

The Dashboard UI bridge is a JavaScript API that enables Forge dashboard widgets to securely integrate with Jira dashboards. It also exposes the filter APIs for apps that define filters for dashboards.

Install the Dashboard UI bridge using the @forge/dashboards-bridge npm package. Import @forge/dashboards-bridge using a bundler, such as Webpack.

You can start by creating a new app from one of the Custom UI templates. In the static/hello-world directory, run npm install && npm build to bundle the static web application template with the Dashboard UI bridge into the static/hello-world/build directory. Use this directory as the resource path in the Forge app's manifest.yml.

In the template, use the bridge in static/hello-world/src/View.js like this:

1
2
3
4
5
6
7
8
import { widget } from "@forge/dashboards-bridge";

// Set preview configuration for widget picker
widget.setPreviewConfig({
  title: "My Widget Preview",
  description: "Preview description",
});

For widget edit functionality, use the bridge in static/hello-world-edit/src/Edit.js like this:

1
2
3
4
5
6
7
8
9
10
11
12
import { widgetEdit } from "@forge/dashboards-bridge";

// Handle save events
widgetEdit.onSave(async (config, { widgetId }) => {
  console.log("Widget saved!", config, widgetId);
});

// Handle product save events
widgetEdit.onProductSave(async (config) => {
  return config; // Return config to save in product
});

For dashboard filter functionality, use the bridge in your filter resource like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { filter } from "@forge/dashboards-bridge";

filter.onProductSave(async () => ({
  operator: "AND",
  groups: [
    {
      label: "Status",
      comparison: "EQUALS",
      defaultValues: ["Done"],
      dimensions: ["status"],
    },
  ],
}));

Rate this page: