Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/boly38/action-umami-report
github action that use umami-software/umami API to generate a report
https://github.com/boly38/action-umami-report
actions anaytics github-actions hacktoberfest umami umami-analytics
Last synced: 7 days ago
JSON representation
github action that use umami-software/umami API to generate a report
- Host: GitHub
- URL: https://github.com/boly38/action-umami-report
- Owner: boly38
- Created: 2022-07-02T13:48:18.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-08T18:31:07.000Z (2 months ago)
- Last Synced: 2024-11-01T10:42:34.228Z (14 days ago)
- Topics: actions, anaytics, github-actions, hacktoberfest, umami, umami-analytics
- Language: JavaScript
- Homepage:
- Size: 4.25 MB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# action-umami-report
This [action](./action.yml) generates periodic umami reports into a given file, and action outputs.
Accepted periods are: 1h, 1d, 1w, 1m.
## Inputs
| input name | required | description |
|------------------------|----------|-----------------------------------------|
| `umami-server` | yes | Umami server instance (*). |
| `umami-user` | yes | Umami API user. Default `"admin"`. |
| `umami-password` | yes | Umami API password. |
| `umami-site-domain` | no | Umami site domain name (*). |
| `umami-report-file` | no | Umami report file to generate. |
| `umami-report-content` | no | Report content to generate (*). |
| `umami-period` | no | (main) Report data/analysis period (*). |
| `umami-unit` | no | (main) Report interval unit (*). |
| `umami-tz` | no | (main) Report date time timezone (*). |legend*:
- [Umami API](https://umami.is/docs/api) login expected to be available at `/api/auth/login`.
- `umami-site-domain` is the target analysis domain name, example `"www.mysite.com"` (select first domain by default ).
- `umami-report-content` default is `pageviews|events|urls` (stats is always reported).
- `umami-period` default is `24h` (means 24 hours). But you can switch it to `24h`/`7d`/`1w`/`31d`/`1m`.
- `umami-unit` default is `hour`. But you can switch it to `day` depend on the period you choose.
- `umami-tz` default is `Europe/Paris`. But you can switch it to another timezone supported by Umami API (ex. `America/Los_Angeles`).## Action outputs
This action produces some "action results" where an action result is a `resultName`, and a `resultValue`.
Each action result is available as [output parameter](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter) : to use in following `step` or`job`
| resultName | resultValue | description |
|----------------------|--------------------|---------------------------------|
| `pageViews` | integer | number of pageView in last 24h |
| `umamiOneLineReport` | string | short summary of domain stats |
| `umamiReport` | multi-lines string | detailed report of domain stats |
| `umamiReportLength` | int | v1.2, detailed report length |## Action generated file
When an `umami-report-file` is set, the target file is written in `./umami/`.
## Example usage
```yaml
jobs:
umamiReport:
name: umami report example
runs-on: ubuntu-lateststeps:
- name: Create Umami report
id: umamiReport
uses: boly38/[email protected]
with:
umami-server: https://${{secrets.UMAMI_SERVER}}
umami-user: ${{secrets.UMAMI_USERNAME}}
umami-password: ${{secrets.UMAMI_PASSWORD}}
umami-site-domain: ${{secrets.UMAMI_SITE_DOMAIN}}
umami-report-file: 'umamiReport.md'- name: Send Umami report to discord channel
uses: tsickert/[email protected]
with:
webhook-url: ${{ secrets.UMAMI_TO_DISCORD_WEBHOOK_URL }}
content: ${{ steps.umamiReportStep.outputs.umamiOneLineReport }}
```
Full working sample: cf. [daily_umami_report.yml](.github/workflows/daily_umami_report.yml)**TIP**: if your umami server version is not compatible with current GithubActions, you could change `umami-server-2.9.0` keyword by one of the [current repository tags](https://github.com/boly38/action-umami-report/tags) with `umami-server-x.y` format.
# See also
## Umami
Umami server :
- [API](https://umami.is/docs/api)
- [source](https://github.com/umami-software/umami)Umami API clients:
- jakobbouchard TS/JS [umami-api-client](https://github.com/jakobbouchard/umami-api-client)
- Import: `import UmamiApiClient from 'umami-api'`
- boly38 JS [umami-api-client](https://github.com/boly38/umami-api-client)
- Import: `import UmamiClient from 'umami-api-client'`## possible next step
- send the report [by email](https://github.com/marketplace?type=actions&query=mail+), on [discord](https://github.com/marketplace?type=actions&query=discord+), etc..# How to contribute
You're not a dev ? just submit an issue (bug, improvements, questions).Or else:
* Clone
* Install deps
* setup your test environment (cf. [initenv.template.sh](./env/initenv.template.sh))
```
cp ./env/initenv.template.sh ./env/initenv.dontpush.sh
. ./env/initenv.dontpush.sh
```
* Then run manual test
```
git clone https://github.com/boly38/action-umami-report.git
cd action-umami-report
npm install
npm run day
npm run debugDay
npm run showResults
# check other targets in package.json
```
* you could also fork, feature branch, then submit a pull request.### Services or activated bots
- [Github actions](https://github.com/features/actions) - Continuous vulnerability audit.
[![scheduled npm audit](https://github.com/boly38/action-umami-report/actions/workflows/audit.yml/badge.svg)](https://github.com/boly38/action-umami-report/actions/workflows/audit.yml)
- [Houndci](https://houndci.com/) - JavaScript automated review (configured by [`.hound.yml`](./.hound.yml)).
[](https://houndci.com/)- [gren](https://github.com/github-tools/github-release-notes) - [Release notes](https://github.com/boly38/action-umami-report/releases) automation.
[![Automated Release Notes by gren](https://img.shields.io/badge/%F0%9F%A4%96-release%20notes-00B2EE.svg)](https://github-tools.github.io/github-release-notes/)