Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Overview


Flashduty CLI supports migrating components, sections, incident history, and email subscribers from Atlassian Statuspage to Flashduty Status Page. Migration is split into two independent steps:
  1. Migrate structure and history — components, sections, historical incidents (including maintenance records), and notification templates
  2. Migrate email subscribers — subscriber list and their subscription preferences
The two-step design is intentional: structure migration does not send any notifications to subscribers, allowing you to verify the imported content before importing subscribers. Imported subscribers become immediately active without email verification.

Prerequisites


Install Flashduty CLI

curl -sSL https://raw.githubusercontent.com/flashcatcloud/flashduty-cli/main/install.sh | sh
For more installation options, see the CLI documentation.

Log in to Flashduty

flashduty login
Enter your APP Key when prompted. To get it: log in to the Flashduty Console, go to Account Settings > Personal Info, and copy your APP Key.

Get your Atlassian Statuspage API Key

  1. Log in to the Atlassian Statuspage management panel
  2. Go to User icon > API info and copy the API Key
  3. Set the environment variable:
export ATLASSIAN_STATUSPAGE_API_KEY="your_api_key_here"

Get your Atlassian Statuspage Page ID

In the Atlassian Statuspage management panel, the Page ID is displayed in the page URL or page settings. It looks like 0db0rq26tg1l.

Step 1: Migrate Structure and History


This step migrates components, sections, historical incidents (including maintenance records), and notification templates to Flashduty, automatically creating a new Flashduty status page.
flashduty statuspage migrate structure \
  --from atlassian \
  --source-page-id <your_atlassian_page_id> \
  --api-key "$ATLASSIAN_STATUSPAGE_API_KEY"
FlagRequiredDescription
--fromYesMigration source, currently only atlassian
--source-page-idYesAtlassian Statuspage Page ID
--api-keyYesAtlassian Statuspage API Key
--url-nameNoURL name for the newly created Flashduty public status page
Migration jobs run asynchronously — the command returns immediately with a Job ID.

Check migration progress

flashduty statuspage migrate status --job-id <job_id>
Migration progresses through the following phases:
1

components

Import component definitions
2

sections

Import component sections
3

history

Import historical incidents and maintenance records
4

templates

Import notification templates
When the job completes, the output includes the newly created Flashduty status page ID (target-page-id). Save this ID — you’ll need it for the subscriber migration step.

Verify imported content

Before proceeding, verify the imported data:
# View the new status page
flashduty statuspage list --id <target_page_id>

# View imported incidents
flashduty statuspage changes --page-id <target_page_id> --type incident
You can also log in to the Flashduty Console to visually inspect components, sections, and incident history.
Structure migration can be run multiple times, though frequent re-runs are not recommended. To cancel a running migration job:
flashduty statuspage migrate cancel --job-id <job_id>

Step 2: Migrate Email Subscribers


After confirming the structure and history are correctly imported, run the subscriber migration:
flashduty statuspage migrate email-subscribers \
  --from atlassian \
  --source-page-id <your_atlassian_page_id> \
  --target-page-id <flashduty_page_id> \
  --api-key "$ATLASSIAN_STATUSPAGE_API_KEY"
FlagRequiredDescription
--fromYesMigration source, atlassian
--source-page-idYesAtlassian Statuspage Page ID
--target-page-idYesFlashduty status page ID from step 1
--api-keyYesAtlassian Statuspage API Key
Check progress with migrate status:
flashduty statuspage migrate status --job-id <job_id>
Imported subscribers become immediately active without email verification and can receive status update notifications right away. Email addresses marked as quarantined on the Atlassian side are automatically skipped.
Subscriber migration can safely be run multiple times — existing subscribers will not be duplicated.

Step 3: Switch Domain and RSS Feeds


After migration is complete, finalize the switch:
If your Atlassian Statuspage used a custom domain, point the CNAME record to the domain provided by Flashduty. See Create and manage status pages for configuration details.
Flashduty is compatible with Atlassian Statuspage’s history.rss and history.atom link formats. If your users subscribe via these links, their subscriptions will work automatically after the domain switch — no need to notify users to update their feed URLs.See Subscriptions for details.

Complete Migration Example


# Set Atlassian API Key
export ATLASSIAN_STATUSPAGE_API_KEY="your_api_key_here"

# 1. Migrate structure and history
flashduty statuspage migrate structure \
  --from atlassian \
  --source-page-id 0db0rq26tg1l \
  --api-key "$ATLASSIAN_STATUSPAGE_API_KEY"
# Output: Job ID: str_abc

# 2. Poll until completed
flashduty statuspage migrate status --job-id str_abc
# Repeat until Status: completed
# Record the target-page-id from output

# 3. Verify imported content
flashduty statuspage list --id <target_page_id>

# 4. Migrate email subscribers
flashduty statuspage migrate email-subscribers \
  --from atlassian \
  --source-page-id 0db0rq26tg1l \
  --target-page-id <target_page_id> \
  --api-key "$ATLASSIAN_STATUSPAGE_API_KEY"
# Output: Job ID: sub_xyz

# 5. Poll until completed
flashduty statuspage migrate status --job-id sub_xyz