博客/工程

6技巧提高你Grafana插件之前发布

2021年1月21日6分钟

你把你的插件在你提交之前做最后的Grafana插件页面吗?在这篇文章中,我将分享一些小贴士如何添加额外的波兰你的插件。本文假设您已经为Grafana构建插件的一些知识。如果你想建立你的第一个插件,遵循我们的一个开始插件教程

技巧1:帮助用户开始

需要多长时间安装你的插件的人从零到有用吗?更多的选择用户需要了解和配置开始,他们就越有可能放弃。

拥有一个编写良好的README帮助用户深入了解如何配置和使用你的插件。但如果你能避免它强制性的阅读。在理想的情况下,人们应该能够理解如何使用你的插件,而无需离开Grafana。

这里有三件事你可以做什么来帮助用户开始:

  • 提供可用的默认值:默认的配置是最常见的用例。理想情况下,插件与没有从用户配置。

  • 提供帮助文本:内使用表单字段描述,和内联字段解释如何使用一个特定的选项。避免简单的重复的名称标签。相反,在1 - 2句话,解释当他们想要使用它,或如果它对其他选项的影响。如果一个主题需要更多解释,提供一个链接在你的插件,用户自述,在那里他们可以阅读更多。

  • 允许增量学习:允许用户了解你的插件的一个方面。使用开关或类别隐藏高级选项,让用户选择当他们准备好了。

  • 招募测试者:如果你可以找到1 - 2人没有使用过你的插件,让他们提供反馈在他们挣扎什么。这会给你重要的提示你可以做些什么来改善经验而开始。

如果您正在构建一个面板插件,可以考虑自动检测领域从查询基于字段类型而不是依靠硬编码的字段名称。这增加了机会,用户马上会有一些有用的东西时,可视化之间切换。

技巧2:文档的数据帧模式面板插件

数据帧是数据结构作为数据源和面板之间的接口。数据源产生数据帧,并为可视化面板使用它们。如果你开发一个面板插件,只考虑记录模式,预计而不是如何使用它与特定的数据源。通过这样做,人们使用其他数据源可以找出如何编写查询需要。

  • 有多少领域期望吗?
  • 字段类型什么期望吗?
  • 它预计字段名称的命名约定吗?

例如,内置图形面板预计一个数据帧,其中包含两个字段:一次场和一个数字字段。任何数据源,可以生成一个数据帧,满足这些需求可以用图形面板。关于数据帧的更多信息,请参考数据帧文档

文档数据帧模式在你的自述,让更多的用户可以享受你的插件。一旦记录模式,随时提供示例查询数据源与你常用的面板。

技巧3:添加产品毛羽和plugin.json自动完成

所有的插件都有一个插件。json文件,其中包含关于插件的元数据,它支持什么功能。有时很难记住所有的属性及其可能的值。幸运的是,JSON模式plugin.json文件可以在GitHub上。许多现代编辑和ide提供内置支持JSON模式,这意味着我们可以用它来添加产品毛羽和自动完成正确的代码编辑器中。

例如,在VS代码您可以将以下代码片段添加到你的settings.json使产品毛羽对你plugin.json文件。

{" json。模式”:[{“fileMatch”:[" /插件。json”),“url”:“https://raw.githubusercontent.com/grafana/grafana/master/docs/sources/developers/plugins/plugin.schema.json”}]}

如果你定义的模式plugin.json,VS代码甚至提供自动完成不同的属性。

{" $模式”:“https://github.com/grafana/grafana/raw/master/docs/sources/developers/plugins/plugin.schema.json”、“类型”:“数据源”,“名字”:“JSON API”,“id”:“marcusolsson-json-datasource”}

技巧4:添加动态徽章你的自述

则很少插件开发的最关键部分,徽章传达有用的信息一眼就在GitHub任何人浏览你的自述。徽章Grafana没有官方的支持,但你仍然可以使用Shields.io与Grafana.com API来创建动态的徽章,更新时自动向市场发布一个新版本。

例如,以下链接生成一个徽章显示最新版本的插件市场。取代< YOUR_PLUGIN_ID >的插件ID插件,出版等grafana-clock-panel

https://img.shields.io/badge/dynamic/json?logo=grafana&color=F47A20&label=marketplace&prefix=v&query=%24.items%5B%3F%28%40.slug%20%3D%3D%20%22 < YOUR_PLUGIN_ID > % 22% 29% 5 d.version&url 3 = https % % 2 f % 2 fwww.tubolov.com fplugins % 2 fapi % 2

给用户的感觉是多么流行的插件,添加一个徽章显示插件已经被下载的次数:grafana-clock-panel

https://img.shields.io/badge/dynamic/json?logo=grafana&color=F47A20&label=downloads&query=%24.items%5B%3F%28%40.slug%20%3D%3D%20%22 < YOUR_PLUGIN_ID > % 22% 29% 5 d.downloads&url 3 = https % % 2 f % 2 fwww.tubolov.com fplugins % 2 fapi % 2

粘贴以下减记在你的自述。md添加两个徽章上面链接插件页面当你点击:

(!(市场)(https://img.shields.io/badge/dynamic/json?logo=grafana&color=F47A20&label=marketplace&prefix=v&query=%24.items%5B%3F%28%40.slug%20%3D%3D%20%22 < YOUR_PLUGIN_ID > % 22% 29% 5 d.version&url 3 = https % % 2 f % 2 fwww.tubolov.com % 2 fapi % 2 fplugins)] (//www.tubolov.com/grafana/plugins/ < YOUR_PLUGIN_ID >)[![下载](https://img.shields.io/badge/dynamic/json?logo=grafana&color=F47A20&label=downloads&query=%24.items%5B%3F%28%40.slug%20%3D%3D%20%22 < YOUR_PLUGIN_ID > % 22% 29% 5 d.downloads&url 3 = https % % 2 f % 2 fwww.tubolov.com % 2 fapi % 2 fplugins)] (//www.tubolov.com/grafana/plugins/ < YOUR_PLUGIN_ID >)

技巧5:自动化您的版本使用GitHub的行动

在某种程度上,你可能想要发布你的插件插件市场。这意味着您需要构建、测试信号,和包插件准备发表。包装不当的插件是最常见的一种审查提交一个插件时发表评论。

如果你的插件可以在GitHub,一定要添加GitHub插件开发工作流程您的存储库。

CI工作流能帮助你发现错误早期通过构建和测试在每个提交你的插件。

当你准备发布您的插件,使用发布工作流签署、打包和皮棉你的插件之前提交审查。工作流起草一个GitHub释放,与签署和打包插件发布资产。甚至发布工作流的绑带插件使用插件验证器

技巧6:在出版之前验证您的插件

如果你最近发表的一个插件,你可能被要求使用插件验证器一个web应用程序,生成一个报告的任何问题,防止你的插件发布。

你可能不知道的是,插件验证器也可作为一个CLI工具你可以在本地机器上运行,或在你的CI工作流。

要安装它,确保在你的机器上安装和运行:

去- u github.com/grafana/plugin-validator/cmd/plugincheck

运行它,类型plugincheck紧随其后的是一个URL或本地路径打包插件。

plugincheck。/ marcusolsson-json-datasource-0.6.0.zip

如果你使用GitHub工作流从先前的提示,你已经确认你的插件的一部分你的释放!

现在您已经准备好发布您的插件,交给主管github.com/grafana/grafana-plugin-repository和打开一个拉请求提交审查你的插件!

想找到其他方法来改善你的插件?看看我们的一个导游在插件开发