top of page

Case Study: Automating Internal Comment Updates in Jira Service Management Cloud Post-Migration

  • Writer: Matt Hickman
    Matt Hickman
  • Apr 28
  • 3 min read

Updated: 4 days ago


jira service management comments

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.



In the image: the difference between internal and external comments.
In the image: the difference between internal and external comments.

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.

bottom of page