Case Study: Automating Internal Comment Updates in Jira Service Management Cloud Post-Migration
- Matt Hickman
- Apr 28
- 3 min read
Updated: 4 days ago

Background
Migrating to Atlassian Cloud offers many benefits—scalability, reduced infrastructure overhead, and ongoing updates—but it also introduces unexpected challenges. One of our customers, a large organisation with a mature ITSM practice built around Jira Service Management (JSM) Data Center, experienced just that during their migration to Atlassian Cloud.
The core of their service delivery relied on meticulous ticket documentation, including internal comments that captured technician notes, escalation history, and sensitive diagnostic data. During the migration testing, an issue was found that impacted this: all historical ticket comments were now publicly visible to customers linked to the tickets—even those meant to be internal-only.
The potential risk to customer trust, compliance, and data integrity was extensive, however, the issue was found in test, thanks to excellent migration testing and the team at Sourcesense went to work on the resolution.

The Challenge
The customer's post-migration test environment contained:
Tens of thousands of JSM tickets.
Hundreds of thousands of comments across those tickets.
No native Cloud tool to bulk-edit comment visibility.
This created a perfect storm:
Manual remediation (editing each comment individually) was infeasible.
No out-of-the-box solution existed in JSM Cloud to bulk-change comment visibility.
The issue was urgent, with the potential to cause reputational damage and support delays if not resolved
We needed a solution that could:
Operate at scale.
Be fully automated to eliminate human error.
Integrate with Atlassian's Cloud API.
Deliver results fast without disrupting ongoing operations.
Our Solution: A Custom Automation Tool Built for Scale
Rather than relying on third-party marketplace apps (which couldn’t meet the granularity or scale required), we built a custom .NET console application that directly interfaced with the Atlassian Cloud REST API.
Key Features of the Tool:
🔍 Smart Ticket Targeting with JQL
Migration Admins could input JQL (Jira Query Language) filter to define the scope—e.g., “project = IT AND created < 2023-01-01”—ensuring the tool only touched relevant historical data.
🔄 Comment Iteration & Conversion
For each matching ticket, the app queried its comments and updated their visibility status from “public” to “internal” using Atlassian’s comment properties API.
🧠 State Awareness & Logging
Real-time logs displayed progress and tracked which issues/comments were modified. Skipped or errored comments were logged separately for audit and follow-up.
🧰 Built-In Flexibility
Parameters such as batch size, rate limits, and verbosity could be adjusted to fit different environments and ticket volumes. Credentials and project keys were stored securely and could be swapped for multi-customer use.
Timeline: The development timeline for this solution was quite short. Within just a few days, we had a working prototype that could manage a small batch of tickets. After some initial testing and refinement, the full app was deployed within a week.
Results & Impact
The custom tool delivered immediate and measurable value:
📉 Risk Reduction
Over 15,000 comments across 30,000 tickets were successfully reclassified as internal.
Sensitive internal information was protected from unintended customer exposure.
The update was completed as part of the migration plan, so no comments were exposed.
⚡ Time Savings
Manual remediation would have taken over 30+ staff hours.
Our tool completed the job in under 20 minutes.
📦 Reusability
The app was designed to be reused for future comment cleanup, bulk edits, or migrations.
It can now serve as a utility for other projects needing comment-level bulk operations.
🛠️ Zero Downtime
The process ran in the background and didn’t disrupt any active support workflows.
Challenges We Overcame
Challenge | Solution |
Atlassian Cloud API limitations (rate limiting, comment formats) | Implemented retry logic and batch processing to respect rate limits and handle comment metadata variations |
Differentiating between public and internal comments without metadata loss | Used comment property flags and cross-checked visibility with system field values |
Tight turnaround requirements | Used agile delivery—small, testable iterations shared with the customer for fast feedback |
Key Takeaways
🔧 Even in mature platforms, edge cases arise during migration. Be prepared to respond in some cases with custom tools or migration specialists.
⚙️ Automation isn’t just a convenience—it’s essential when scale and speed matter.
🧱 Build solutions modularly to maximise reuse and reduce future tech debt.
🔐 Post-migration audits are just as important as the migration itself.
Conclusion
Our team turned a high-risk post-migration issue into a quick win by combining deep Atlassian knowledge with fast, pragmatic engineering. This case underscores the importance of Atlassian-Certified Migration Specialists in bridging platform gaps and demonstrates how tailored tools can deliver powerful results in record time, when used efficiently in sync with the platform.
Whether you're migrating to Atlassian Cloud or managing large-scale JSM environments, having the ability to respond with flexible automation tools can make all the difference.