Hi DHIS2 Community,
I am trying to set up the new native HTML Push Analytics feature on a DHIS2 v2.43 instance, but the Job Scheduler consistently fails with a 400 Bad Request because it sends “undefined” as the dashboard UID to the Push Analytics service.
Below are the details of my setup, the troubleshooting steps I’ve already taken, and the relevant logs.
- DHIS2 Version: 2.43 (running on Ubuntu Server)
- Push Analytics Service: Latest version from dhis2/push-analytics GitHub repository.
- Node.js: v20.x (LTS)
- Database: PostgreSQL
And these are the steps I followed:
- Installed Node.js 20.x and all required Puppeteer/Chromium system dependencies : Service starts successfully and listens on http://127.0.0.1:1337.
- Created a dedicated DHIS2 user (user.push) with a custom role containing only ( but Later I also tried an user with ALL authority, It didn’t change the outcome).
- Configured dhis.conf to allow user impersonation: switch_user_feature.enabled = true, switch_user_allow_listed_ips = 127.0.0.1, max.sessions.per_user = 100
- Set the system setting via API: keyHtmlPushAnalyticsUrl = “http://127.0.0.1:1337”
- Verified the service works manually: curl “http://127.0.0.1:1337/?dashboardId=WSzJ482amYh&username=user.push&locale=en” returns the correct HTML.
After all that, this is the catalina.out log:
- ERROR 2026-10-15T17:45:21,034 400 Bad Request on GET request for “http://127.0.0.1:1337”: “REQUEST HANDLER ERROR (E1502): Invalid dashhboard UID “undefined”” (DefaultNotifier [pool-4-thread-1])
…
org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request on GET request for “http://127.0.0.1:1337”: “REQUEST HANDLER ERROR (E1502): Invalid dashhboard UID “undefined””
at org.hisp.dhis.pushanalysis.scheduling.HtmlPushAnalyticsJob.getPushAnalyticsHtmlBody(HtmlPushAnalyticsJob.java:197)
Is this a known issue for DHIS2 v2.43?
Any insights would be highly appreciated!
Thank you.