Thank you for your interest in contributing to this repository. We are glad you want to help us to improve the project and join our community. Feel free to browse the open issues. If you want more straightforward tasks to complete, we have some. For more details about how you can help, please take a look at Grafana’s Contributing Guide.
Clone this repository into your local environment. The frontend code lives in the src folder, alongside the plugin.json file. The backend Go code is in the pkg folder. To build this plugin refer to Build a plugin
Before you can set up the plugin, you need to set up your environment by following Set up your environment.
You can use mage to compile and test the Go backend.
mage test # run all Go test cases
mage build:backend && mage reloadPlugin # builds and reloads the plugin in GrafanaYou can build and test the frontend by using npm:
npm run test # run all test cases
npm run dev # builds and puts the output at ./distYou can also have npm watch for changes and automatically recompile them:
npm run watch- Install K6
- Run
npm run test:e2e:local
Run npm run lint and npm run prettier:check to check for any style errors. Any PRs that have linter or prettier errors will not pass pull request CI checks. Run npm run lint:fix && npm run prettier:write to automatically fix linter or prettier errors.
Once you are ready to make a pull request, please read and follow Create a pull request.
You need to have commit rights to the GitHub repository to publish a release.
- Update the version number in the
package.jsonfile. - Update the
CHANGELOG.mdby copy and pasting the relevant PRs from GitHub's Release drafter interface or by runningnpm run generate-release-notes. - PR the changes.
- Once merged, follow the Drone release process that you can find [here](https://github.com/grafana/integrations-team/wiki/Plugin-Release-Process#drone-release-proces