This action generates periodic umami reports into a given file, and action outputs.
Compatibility:
- ✅ Umami v3.x (Cloud & Hosted)
- ❌ Umami v2.x - Use
v6.0.2or earlier (migration guide)
Accepted periods are: 1h, 24h, 7d, 1w, 30d, 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-keyis required for Umami CLOUD mode (create yours) -
(2)
umami-serverumami-userumami-passwordis required for Umami Hosted mode -
(2) Umami API login expected to be available at
<umami-server>/api/auth/login.legend*:
-
umami-site-domainis the target analysis domain name, example"www.mysite.com"(select first domain by default ). -
umami-report-contentdefault ispageviews|events|sessions|urls(stats is always reported). -
umami-perioddefault is24h(means 24 hours). But you can switch it to24h/7d/1w/31d/1m. -
umami-unitdefault ishour. But you can switch it todaydepend on the period you choose. -
umami-tzdefault 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/action-umami-report@v7
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.umamiReport.outputs.pageViews != '0'
uses: tsickert/[email protected]
with:
webhook-url: ${{ secrets.UMAMI_TO_DISCORD_WEBHOOK_URL }}
username: "Umami report"
content: "${{ steps.umamiReport.outputs.umamiOneLineReport }}"
filename: "${{ steps.umamiReport.outputs.umamiReportFile }}"jobs:
umamiReport:
name: umami cloud report
runs-on: ubuntu-latest
steps:
- name: Create Umami report
id: umamiReport
uses: boly38/action-umami-report@v7
with:
umami-cloud-api-key: ${{secrets.UMAMI_CLOUD_API_KEY}}
umami-site-domain: ${{secrets.UMAMI_CLOUD_SITE_DOMAIN}}
umami-report-file: 'umamiReport.md'cf. working sample: cf. (full) daily yml or (min) weekly yml
v7.0.0 drops support for Umami v2.x servers.
| Version | Umami Support | Status |
|---|---|---|
| v7.x | Umami v3.x only | ✅ Current |
| v6.x | Umami v2.x | ❌ EOL |
umami-api-clientupgraded to v3.0.3 (Umami v3.x compatible)- API response structure changed:
siteStats.pageviews.value→siteStats.pageviews(direct number)siteStats.pageviews.prev→siteStats.comparison.pageviews- Metrics type
"url"→"path"
- No code changes required for users (inputs/outputs unchanged)
If using Umami v3.x (✅ recommended):
# Update your workflow
- uses: boly38/action-umami-report@v7 # ← Change from v6 to v7If still using Umami v2.x (
# Stay on v6 until you upgrade Umami server
- uses: boly38/[email protected]Resources:
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) - GitHub client to automate release creation and actions local test (with act extension)
- GitHub pages website hosts some metrics for the main branch of this project: code coverage