Files
grafana/e2e-playwright/test-plugins
Brendan O'Handley 2472555af0 Add to dashboard: expose add to dashboard form component for external apps (#112609)
* add extension for drilldown to add to dashboard

* reuse configure add to dashboard function callback

* structure for drilldown add to dashboard

* fix imports

* fix tests

* expose as a component

* remove extension link

* get component ready to extend

* lazy load component

* add component to exposed component registry

* update folder structure to not work in explore folder

* keep dependencies clean

* nice structure to let folks know this is a drilldown integration

* update code owners for new file

* make exposed component more generic, step one, update component id

* step 2, expose add to dashboard form component

* add more explicit useAbsolutePath option to form

* remove old implementation code for drilldown specific component

* commit translation

* add comments to avoid breaking changes

* add e2e test for add to dashboard form component

* fix flaky test

* add exposed component id to e2e test app

* remove gridPos in buildPanel fallback fn

* add code comment for useAbsolutePath's purpose

* remove gridPos from e2e test
2025-10-29 09:15:20 -05:00
..
2025-07-11 10:31:33 +01:00

Test plugins

The e2e test server automatically scans and looks for plugins in this directory.

To add a new test plugin:

  1. If provisioning is required you may update the YAML config file in /devenv.
  2. Add the plugin ID to the allow_loading_unsigned_plugins setting in the test server's configuration file.

Building a test plugin with webpack

If you wish to build a test plugin with webpack, you may take a look at how the grafana-extensionstest-app is wired. A few things to keep in mind:

  • the package name needs to be prefixed with @test-plugins/
  • extend the webpack config from @grafana/plugin-configs and use custom webpack config to only copy the necessary files (see example here)
  • keep dependency versions in sync with what's in core

Local development

1: Install frontend dependencies: yarn install --immutable

2: Build and watch the core frontend yarn start

3: Build and watch the test plugins yarn e2e:plugin:build:dev

4: Build the backend make build-go

5: Start the Grafana e2e test server with the provisioned test plugin PORT=3000 ./scripts/grafana-server/start-server