Katabarwa Labs

Guides for Azure and Atlassian admins

Blog

Straight, practical answers to the operations questions we kept seeing, from cost caps and expiring secrets to audit-log retention and orphaned-resource cleanup.

Confluence for engineering teams

Your AI assistant writes Mermaid. Why does it look so blurry in Confluence?

Ask Claude or ChatGPT for an architecture diagram and you get Mermaid. Paste it into Confluence and you get a fuzzy fixed-size PNG. Why that happens, and what a diagram macro has to do instead.

October 4, 2026

Confluence for engineering teams

Your Confluence documentation is wrong and nobody has noticed yet

A wrong page looks exactly like a right one. Why chat-with-your-docs makes this worse rather than better, and the maintenance loop that compares a page to the code it claims to describe.

October 4, 2026

Confluence administration

Document control in Confluence: proving a page was approved, and noticing when it changes

A label saying approved is evidence of something that stopped being true. Why approval has to be pinned to a version, and what an auditor actually asks for.

October 4, 2026

Jira administration

How to put a field value in a Jira notification, and the 2005 request behind it

Jira's notification scheme decides who gets told, not what they are told. The Automation workaround, the notify API most admins have never seen, and where each one stops.

October 4, 2026

Jira administration

How to set default field values on the Jira create screen, and the 2004 request behind it

JRACLOUD-4812 has 2,798 votes and is still open. What Jira actually offers, the Automation workaround and where it runs out, and the UI modifications API that does it properly.

October 4, 2026

Jira for engineering teams

How to send a Jira issue to Claude Code or Codex in your own CI, and get the PR back on the ticket

The assign-to-agent connectors run the agent on their servers and speak GitHub only. Here is the repository_dispatch and pipeline-trigger method that keeps your code and API keys in your own CI, and an app that packages it.

September 15, 2026

Jira administration

Jira inactive user apps compared: six Marketplace options for reclaiming licenses

What each app measures, whether it deactivates for you, what it needs, and list price at 100 users, next to the native route. A vendor comparison, disclosed as such.

September 10, 2026

Jira administration

Jira backup and project export apps compared: whole-site backup versus per-project export

Rewind, Revyz, ProBackup, ELFAPP, and Project Export & Backup: two different jobs hide under the word backup, and the apps split cleanly along that line.

September 10, 2026

Atlassian compliance

Jira audit log apps compared: retention, activity tracking, and configuration history

Three different products get called an audit log app. Which one you need depends on the question an auditor actually asked.

September 10, 2026

Jira Service Management

JSM Assets export and backup apps compared: whole-schema export versus backup and restore

Twinit backup and migration versus a whole-schema export, and the native one-type-at-a-time route, with prices at 100 users.

September 10, 2026

Jira administration

How to export and back up a single Jira Cloud project before you decommission it

Jira Cloud has no per-project export and site backup is all-or-nothing. What the CSV drops, the REST API method for a complete record, archive versus trash, and an in-tenant option.

September 10, 2026

Confluence administration

How to see every restricted page in Confluence Cloud, and who can read it

Confluence has no site-wide inventory of restricted pages. Why visibility goes blind at scale, the two-API sweep you can script, and an option that keeps the inventory and flags orphans.

September 10, 2026

Jira administration

How to find inactive Jira users and reclaim their licenses

No screen answers who has not touched Jira in 90 days. The org directory export, the JQL method for Jira-specific activity, the seat mechanics, and an in-tenant option.

September 10, 2026

Atlassian compliance

How to prove who could access a Jira project on a past date

Jira shows access as it is today and forgets change events after about 180 days. The daily snapshot method with groups expanded, and an option that keeps the history for you.

September 10, 2026

Jira Service Management

JSM only logs the customer notifications that fail. Here is how to keep the ones that were sent

JSM keeps no record of successful notifications; the native log holds failures only. What the native tools answer, the event-capture method, and an in-tenant option.

September 10, 2026

Jira Service Management

How to bulk-export a JSM Assets object schema (CSV or JSON)

JSM Assets has no built-in whole-schema export; the UI does one object type at a time. Here is the AQL-paging DIY approach and a ready-made in-tenant option.

September 2, 2026

Jira administration

Atlassian's own script for finding group usage in Jira, and what it misses

Atlassian's support KB hands you an unsupported Python script that only covers permission schemes. Here is the full list of places groups hide in Jira, and how to audit them all.

September 2, 2026

Microsoft Entra ID

Get alerted before Entra app registration secrets and certificates expire

Entra ID shows the expiry date of every app registration secret and certificate but never alerts anyone before one expires. Here is the DIY Graph scan and a packaged in-tenant option.

August 29, 2026

Azure operations

Get alerted before TLS certificates expire on Azure App Gateway and App Service

Azure has no native near-expiry alerting for TLS certificates on Application Gateway listeners, App Service, or API Management. Here is how to sweep them yourself, and a ready-made daily digest.

August 29, 2026

Azure security

Get one digest of every expiring Key Vault secret, key, and certificate

Key Vault expiry notifications are per vault, fire once, and ignore objects with no expiry date. Here is how to get a single daily digest across every vault in a subscription.

August 29, 2026

Azure security

Find dangling DNS records in Azure before someone takes over your subdomain

A CNAME pointing at a deleted Azure resource is a subdomain takeover waiting to happen, and the official answer is a one-off PowerShell script. Here is how to scan for dangling records daily.

August 29, 2026

Azure security / IAM

Find and clean up stale Azure RBAC role assignments

Deleted identities leave orphaned Identity not found role assignments that clutter IAM and count against the hard 4,000-per-subscription limit. Here is how to find and remove them safely.

August 29, 2026

Azure security / IAM

How to detect when someone changes an Azure custom role definition

Azure fires no alert when a custom role definition quietly gains dangerous permissions. Here is how to detect owner-equivalent custom roles and permission creep.

August 29, 2026

Azure security

Find the Azure storage accounts putting your data at risk

Anonymous blob access, shared-key auth, weak TLS, open networks: Azure has no recurring report that grades every storage account. Here is how to build one with Resource Graph.

August 29, 2026

Azure governance

Keep Azure Policy exemptions from living forever (or expiring silently)

Azure Policy exemptions expire without any notification, and exemptions with no expiry quietly become permanent gaps. Here is how to inventory and track exemption lifecycles.

August 29, 2026

Azure monitoring

How to find Azure resources with no alert coverage

Azure Monitor lists the alert rules you have, but has no view of the resources no rule watches. Here is how to build a zero-alert coverage report with Resource Graph.

August 29, 2026

Azure operations

How to find Azure VMs and file shares with no backup coverage

Azure has no native alert for a resource that was never enrolled in any backup policy, so coverage silently drifts. Here is how to find unprotected, failing, and stale resources.

August 29, 2026

Atlassian compliance

How to keep Jira audit logs past the retention window (SOC 2 / ISO evidence)

Jira Cloud audit logs age out after about 180 days, right when auditors ask for a year of history. Here is how to retain audit records long-term, in your own tenant.

August 29, 2026

Jira administration

Find Jira filters, dashboards, and issues owned by deactivated users

Deactivating a Jira Cloud user does not clean up their saved filters, dashboards, issues, or project leads. Here is how to inventory everything a departed user left behind.

August 29, 2026

Confluence administration

Find what is eating your Confluence storage and clean it up safely

Confluence Cloud has no site-wide view of attachment storage waste, so unused, orphaned, and oversized files pile up against your quota. Here is how to build the inventory and clean up safely.

August 29, 2026

Jira Service Management

How to audit who can access your Jira Service Management portals

JSM has no single view of who can reach each service desk portal: customers, organization grants, and agent access all live in different places. Here is the DIY audit and a Forge-native option.

August 29, 2026

Azure cost management

Azure Anomaly Detector is retiring. How to keep per-team cost-spike alerts.

Azure Anomaly Detector retires October 1, 2026. If you used it to catch cost spikes, here is a native, per-resource-group and per-team way to keep those alerts after it is gone.

August 27, 2026

Azure cost management

How to put a hard spending cap on Azure (and actually stop the bill)

Azure has no native hard spending limit on pay-as-you-go. Here is what the platform does and does not do, the DIY options, and how to make compute actually stop at your cap.

August 26, 2026

Microsoft Entra ID

How to set a Microsoft Entra ID account to expire on a date

On-prem Active Directory has accountExpires. Entra ID still does not. Here is how to add automatic account expiry for contractors, interns, and temps.

August 26, 2026

Azure cost management

Find and delete orphaned Azure resources that are still costing you money

Unattached disks, NICs, public IPs, and empty App Service plans keep billing after the thing they belonged to is gone. Here is how to find them and what they cost.

August 26, 2026

Azure management

How to see who created an Azure resource and when (CreatedBy / CreatedOn)

Azure has no native creator or creation-date property on resources. Here is how to capture who created a resource and when, using the Activity Log and tags.

August 26, 2026

Azure security / IAM

Just-in-time Azure role elevation without paying for PIM

PIM gives just-in-time role activation but requires Entra ID P2 per user. Here is the DIY approach and a flat-fee alternative for Azure resource roles.

August 26, 2026