This action generates periodic umami reports into a given file, and action outputs.
Accepted periods are: 1h, 1d, 1w, 1m.
input name | required | description |
---|---|---|
umami-cloud-api-key |
(1) | Umami Cloud API key . |
umami-server |
(2) | Umami server instance . |
umami-user |
(2) | Umami API user. Default "admin" . |
umami-password |
(2) | 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(1)(2):
-
(1)
umami-cloud-api-key
is required for Umami CLOUD mode (create yours) -
(2)
umami-server
umami-user
umami-password
is required for Umami Hosted mode -
(2) Umami API login expected to be available at
<umami-server>/api/auth/login
.legend*:
-
umami-site-domain
is the target analysis domain name, example"www.mysite.com"
(select first domain by default ). -
umami-report-content
default ispageviews|events|sessions|urls
(stats is always reported). -
umami-period
default is24h
(means 24 hours). But you can switch it to24h
/7d
/1w
/31d
/1m
. -
umami-unit
default ishour
. But you can switch it today
depend on the period you choose. -
umami-tz
default isEurope/Paris
. But you can switch it to another timezone supported by Umami API (ex.America/Los_Angeles
).
This action produces some "action results" where an action result is a resultName
, and a resultValue
.
Each action result is available
as output parameter :
to use in following step
orjob
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 |
When an umami-report-file
is set, the target file is written in ./umami/<umami-report-file>
.
jobs:
umamiReport:
name: umami report example
runs-on: ubuntu-latest
steps:
- name: Create Umami report
id: umamiReport
uses: boly38/[email protected]
with:
umami-server: ${{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 report to discord if pageViews is positive
if: steps.umamiReportStep.outputs.pageViews != '0'
uses: tsickert/[email protected]
with:
webhook-url: ${{ secrets.UMAMI_TO_DISCORD_WEBHOOK_URL }}
username: "Umami report"
content: "${{ steps.umamiReportStep.outputs.umamiOneLineReport }}"
filename: "${{ steps.umamiReportStep.outputs.umamiReportFile }}"
# avatar-url: ..set user logo
cf. working sample: cf. (full) daily yml or (min) weekly yml
TIP: if your umami server version is not compatible with current GithubActions, you could change
umami-server-2.17.0
keyword by one of
the current repository tags with umami-server-x.y
format.
Umami API clients:
- boly38 JS umami-api-client
- Import:
import UmamiClient from 'umami-api-client'
- Import:
- (archived) jakobbouchard TS/JS umami-api-client
- Import:
import UmamiApiClient from 'umami-api'
- Import:
- Github actions : continuous tests + coverage using c8 reported on github pages website
- Github security checks activated
- Houndci : JavaScript automated review (configured by
.hound.yml
) - gren : Release notes automation
- Github pages website hosts some metrics for the main branch of this project: code coverage