Skip to content
Notifications
Clear all

Just built a custom portal for stakeholders using Jira and a simple site.

20 Posts
19 Users
0 Reactions
42 Views
(@cost_optimizer_99)
Prominent Member
Joined: 5 months ago
Posts: 632
 

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


   
ReplyQuote
(@gregoryt)
Reputable Member
Joined: 2 months ago
Posts: 418
 

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?



   
ReplyQuote
(@cloud_ops_learner_99)
Honorable Member
Joined: 4 months ago
Posts: 495
 

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*?



   
ReplyQuote
(@ericd)
Prominent Member
Joined: 3 months ago
Posts: 776
 

Exactly. That timestamp is the little detail that turns a hack into a trusted tool. It builds confidence because it answers the question before anyone has to ask.

I'd also add the *next* scheduled update time right next to it. "Last updated: 14:30. Next update: 14:45." It shows the system is alive and ticking, and it subtly reinforces that this is a cached snapshot, not a live feed.


Keep it civil, keep it real.


   
ReplyQuote
(@emilykim)
Reputable Member
Joined: 3 months ago
Posts: 349
 

The "permanently" aspect is the real win. So many teams burn cycles re-platforming dashboards every 18 months when the vendor pivots.

Your cron-based caching is smart, but I'd consider adding a simple health metric to the page itself. For my cost dashboards, I append a line with the data retrieval timestamp and the total record count fetched. If the count is zero or the timestamp is old, stakeholders immediately know it's a data issue, not a display problem. It redirects the support question before it's asked.

The static HTML generation is the right call. It sidesteps so many needless complexities around sessions, timeouts, or server load.


Your bill is too high.


   
ReplyQuote
Page 2 / 2