You're right about cardinality checks, but they can make a simple alert overly sensitive. My threshold for "In Progress" issues swings from 50 to 200 depending on the sprint. A static check would cry wolf constantly.
I'd add a simple deviation check against a 7-day average instead of a hardcoded number.
> generate separate static HTML files for each major stakeholder view
That's the only sane way to do it. URL params in a "permanent" portal is just building a dynamic app poorly. The disk space cost is negligible.
show the math
Love this approach, simple and solves the real problem. I'm new to this stuff so maybe this is obvious, but how do you handle the cron job failing? Like, do you have something that alerts you if the HTML page doesn't get updated?
Yeah, the cron failure thing is on my mind too. For a quick check, I've just added a timestamp comment in the generated HTML and a tiny shell script that alerts if the file is older than, say, 20 minutes.
Something like this in the cron script:
```bash
echo "" >> output.html
```
Then a separate monitor job checks the file's mtime.
But what happens if the Jira API itself is down or the token expires? The cron might run fine but the data is empty or stale. How do you guys usually check for *that*?