diff --git a/docs/widgets.md b/docs/widgets.md index fe325514..57b6cd7b 100644 --- a/docs/widgets.md +++ b/docs/widgets.md @@ -58,6 +58,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a - [Nextcloud PHP OPcache](#nextcloud-php-opcache-stats) - [Sabnzbd](#sabnzbd) - [Gluetun VPN Info](#gluetun-vpn-info) + - [Drone CI Build](#drone-ci-builds) - **[System Resource Monitoring](#system-resource-monitoring)** - [CPU Usage Current](#current-cpu-usage) - [CPU Usage Per Core](#cpu-usage-per-core) @@ -1947,6 +1948,42 @@ Display info from the Gluetun VPN container public IP API. This can show the IP --- +### Drone CI Builds + +Display the last builds from a [Drone CI](https://www.drone.ci) instance. A self-hosted CI system that uses docker. + +

+ +#### Options + +**Field** | **Type** | **Required** | **Description** +--- | --- | --- | --- +**`host`** | `string` | Required | The histname of the Drone CI instance. +**`apiKey`** | `string` | Required | The API key (https:///account). +**`limit`** | `integer` | _Optional_ | Limit the amounts of listed builds. +**`repo`** | `string` | _Optional_ | Show only builds of the specified repo + +#### Example + +```yaml +- type: drone-io + updateInterval: 30 + options: + host: https://drone.somedomain.com + apiKey: my-very-secret-api-key + limit: 10 +``` + +#### Info + +- **CORS**: 🟢 Enabled +- **Auth**: 🟢 Required +- **Price**: 🟢 Free +- **Host**: Self-Hosted (see [Drone](https://www.drone.io)) +- **Privacy**: _See [Drone](https://www.drone.io)_ + +--- + ## System Resource Monitoring ### Glances diff --git a/src/components/Widgets/DroneCi.vue b/src/components/Widgets/DroneCi.vue new file mode 100644 index 00000000..8ffb4e84 --- /dev/null +++ b/src/components/Widgets/DroneCi.vue @@ -0,0 +1,238 @@ + + + + + + + diff --git a/src/components/Widgets/WidgetBase.vue b/src/components/Widgets/WidgetBase.vue index ecd7b536..a5cbf1c2 100644 --- a/src/components/Widgets/WidgetBase.vue +++ b/src/components/Widgets/WidgetBase.vue @@ -56,6 +56,7 @@ const COMPAT = { 'domain-monitor': 'DomainMonitor', 'code-stats': 'CodeStats', 'covid-stats': 'CovidStats', + 'drone-ci': 'DroneCi', embed: 'EmbedWidget', 'eth-gas-prices': 'EthGasPrices', 'exchange-rates': 'ExchangeRates',