Export List of Legacy Pages and their Eligibility Status

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Cloud のみ - この記事は クラウド プラットフォームのアトラシアン製品に適用されます。

要約

To assist in identifying pages eligible for the legacy editor, we drafted a Node.js script that exports data about legacy editor eligibility for published pages across Confluence.

問題の説明

Currently, there is no option to generate a list in the UI. 

Pending feature requests:

CONFCLOUD-77396 - 課題情報を取得中... ステータス

動作の仕組み

  1. Enable the admin key using the Enable Admin Key API (optional)

  2. Retrieve all pages within a space using the Get Pages in Space API

  3. Determine the eligibility status or cloud editor property for a page using the Get Content Properties for Page API

セットアップ

System Prerequisites

  • Node.js (version 14 or higher)

  • API token for authentication
  • Admin access to a Confluence instance 

Setup Configs

  1. Use a 'no-scope' API token: Create a new API token and use your email and this token in the config file.

  2. Generate Space Report: Download a Space Report from Admin → Space Reports to use as the CSV.

  3. Configure the scripts: Create a file titled config.json with your Confluence instance details.


    1. {
          "confluenceUrl": "https://your-instance.atlassian.net",
          "auth": {
              "email": "your-email@example.com",
              "token": "your-api-token"
          }
      }

スクリプト

  • README.md: Instructions on how to use the scripts.
  • Admin Key Manager (admin-key-manager.js): Manages Confluence admin keys for API access.

  • Legacy Editor Export (legacy-editor-export.js): Exports data about legacy editor eligibility for pages.


Download: 7-24-25-legacy-editor-export.zip

Using the Legacy Editor Export Tool

With Admin Key (Default - Recommended)

  1. Enable admin key: First, enable an admin key to access the Confluence API

    node admin-key-manager.js enable 60
  2. Export legacy data: Run the export with your CSV file

    # Detailed page export only
    node legacy-editor-export.js -f your-spaces.csv
    
    # Both detailed and space summary reports
    node legacy-editor-export.js -f your-spaces.csv -sr
  3. Disable admin key: When finished, disable the admin key for security

    node admin-key-manager.js disable

Without Admin Key (For Standard or Free Plans)

For customers whose Confluence plans don't include admin key functionality:

  1. Export legacy data: Run the export with the disable admin key flag

    # Detailed export without admin key
    node legacy-editor-export.js -f your-spaces.csv -dak
    
    # Both reports without admin key
    node legacy-editor-export.js -f your-spaces.csv -dak -sr

For best results without an admin key, bulk update space permissions to add a group or user to all spaces before running the script.

More information can be read here: Updating space permissions in bulk. 

Without an admin key, you'll only see pages that your user token has permission to access. 

出力

The script generates one or two CSV files depending on options:

Detailed Page Export (always generated):

The script generates a CSV file into the exports/ folder with the following page information:

  • Page ID - Unique page identifier
  • Space ID - Space identifier
  • Space Key - Space key
  • Title - Page title
  • Owner ID - Page owner (may be blank for older pages)
  • Author ID - Original page author/creator (more reliable for older content)
  • Eligibility Status - Legacy editor eligibility status
  • Created Date - When the page was created (ISO 8601 format)
  • Page URL - Direct link to the page

Space Report Summary (when -sr flag is used):

  • Space Key - Space key
  • Space Name - Space name
  • Total Content - Total number of content in the space (pages, blogs, databases, etc.)
  • Cloud Editor Pages - Pages using the modern cloud editor (v2)
  • Legacy Editor Pages - Pages still using the legacy editor (v1)
  • SUPPORTED Count 
  • SUPPORTED_WITH_MIGRATION Count 
  • PARTIALLY_SUPPORTED Count
  • UNSUPPORTED Count
  • UNSUPPORTED_TOO_BIG Count
  • UNKNOWN Count 
  • ERROR Count - Pages that couldn't be analyzed due to API errors

Eligibility Statuses

(warning) Statuses are generated dynamically, so you might see a conflict where the script shows SUPPORTED, but the page displays a message that prevents conversion.

The tool checks the published page's eligibility status. Drafts may have different statuses and are not included.

Here’s a list of possible statuses you might see in the export:

  • SUPPORTED: Almost no changes after conversion. 

  • SUPPORTED_WITH_MIGRATION: This page can be converted to the new editing experience; however, you may notice slight changes.

  • PARTIALLY_SUPPORTED: Converting this page as-is may result in data loss.

  • UNSUPPORTED_TOO_BIGNEW This page is considered a large page. Enhancements are in progress to support this status.

  • UNSUPPORTED: Rare case. This would happen if a conversion error occurred.

  • UNKNOWN: The eligibility status is dynamically generated whenever a page is published. However, some pages may not have an eligibility status set, particularly if they were migrated.

カスタム ワークフロー

# Export all spaces (requires CSV file, uses admin key by default)
node legacy-editor-export.js -f spaces.csv

# Export without admin key (for customers without admin key access)
node legacy-editor-export.js -f spaces.csv -dak

# Export only global spaces (includes global, collaboration, hub, and other non-personal spaces)
node legacy-editor-export.js -f spaces.csv -g
 
# Export only personal spaces
node legacy-editor-export.js -f spaces.csv -p  

# Export specific space keys
node legacy-editor-export.js -f spaces.csv -sk FSC,ZIS,SNT

# Show help
node legacy-editor-export.js -h

トラブルシューティング

Common Issues

(warning) Statuses are generated dynamically, so you might see a conflict where the script shows SUPPORTED, but the page displays a message that prevents conversion.

  1. "Admin key not enabled": Run node admin-key-manager.js enable first, or use -dak flag if your plan doesn't support admin keys.

    1. Admin key access (Premium/enterprise license)
  2. "CSV file not found": Check the file path and ensure the file exists

  3. "Authentication failed": Verify your email and API token in config.json

  4. "Rate limit exceeded": The scripts include rate limiting, but you may need to wait if you've made many requests recently. Consider splitting the CSV into smaller chunks.
  5. "Error during export: ENOENT: no such file or directory": The folder "/exports" was not found during the export. Create a folder titled "exports" and rerun the script.

Debug Mode

Add console logging to debug issues:

// Add this to see detailed request information
console.log("Making request to:", url);
console.log("Response status:", response.statusCode);

Rate Limiting

The scripts include built-in rate limiting to avoid overwhelming the Confluence API:

  • 1-2 second delays between page requests (depending on space size)

  • 500ms delays between batch operations

  • Batch processing of 5-10 concurrent requests

エラー処理

  • The scripts will exit with error code 1 if critical errors occur

  • Non-critical errors (like individual page failures) are logged but don't stop the process

  • Progress information is displayed during long-running operations

Security Notes

  • Never commit your config.json file with real credentials

  • Admin keys should be disabled when not in use

サポート

This script is provided as-is and is not officially supported by Atlassian. It's intended to help with your own analysis and planning. 

最終更新日 2025 年 8 月 26 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.