title | titleSuffix | description | author | ms.author | ms.date | ms.service | ms.topic |
---|---|---|---|---|---|---|---|
How to contribute widgets for developer portal |
Azure API Management |
Learn about recommended guidelines to follow when you contribute a widget to the API Management developer portal repository. |
dlepow |
danlep |
03/25/2021 |
api-management |
how-to |
If you'd like to contribute a widget to the API Management developer portal GitHub repository, follow this three-step process:
-
Fork the repository.
-
Implement the widget.
-
Open a pull request to include your widget in the official repository.
Your widget will inherit the repository's license. It will be available for opt-in installation in the self-hosted version of the portal. The developer portal team may decide to also include it in the managed version of the portal.
Refer to the widget implementation tutorial for an example of how to develop your own widget.
This guidance is intended to ensure the safety and privacy of our customers and the visitors to their portals. Follow these guidelines to ensure your contribution is accepted:
-
Place your widget in the
community/widgets/<your-widget-name>
folder. -
Your widget's name must be lowercase and alphanumeric with dashes separating the words. For example,
my-new-widget
. -
The folder must contain a screenshot of your widget in a published portal.
-
The folder must contain a
readme.md
file, which follows the template from the/scaffolds/widget/readme.md
file. -
The folder can contain an
npm_dependencies
file with npm commands to install or manage the widget's dependencies.Explicitly specify the version of every dependency. For example:
npm install azure-storage@2.10.3 axios@0.19.1
Your widget should require minimal dependencies. Every dependency will be carefully inspected by the reviewers. In particular, the core logic of your widget should be open-sourced in your widget's folder. Don't wrap it in an npm package.
-
Changes to any files outside your widget's folder aren't allowed as part of a widget contribution. That includes, but isn't limited to, the
/package.json
file. -
Injecting tracking scripts or sending customer-authored data to custom services isn't allowed.
[!NOTE] You can only collect customer-authored data through the
Logger
interface.
-
For more information about contributions, see the API Management developer portal GitHub repository.
-
See Implement widgets to learn how to develop your own widget, step by step.
-
See Use community widgets to learn how to use widgets contributed by the community.