How can we obtain a list of Confluence Cloud pages that utilize the legacy editor? Is there a tool for bulk conversion?
Hi @Kent Chiu ,
We make a free addon, Keep it up to date! This addon has a macro you can insert into a page to show a table with pages using the Legacy Editor (the Keep Legacy Editor macro).
This makes it simple to look for pages which need updating due to the legacy editor deprecation.
Hope this helps!
Hi @Kent Chiu I found this older community article that refers to using the API to tell if a page is using the legacy editor. Find-pages-still-using-Legacy-editor
I also found CONFCLOUD-77396 which might be worth watching and voting for as a good reference.
Hope that helps.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you, @Dan Breyen, for your reply. I went to CONFCLOUD-77396, but for some reason, I can not vote on that issue.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Kent, if you're not logged in on Atlassian's Jira Site, I don't believe you are able to vote for things.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Kent Chiu
Take a look at this answer from a year or so ago.
Solved: Find pages still using Legacy editor
@Henning Stoll posted an answer that uses the API to find the pages using the old editor.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you, @Shawn Doyle - ReleaseTEAM , for your reply. I am looking for a Confluence Cloud tool that lists pages using the legacy editor without requiring individual API checks. We have over 10,000 Confluence Cloud pages, some created with the new editor and others still using the legacy editor from our Confluence Server migration.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I don't believe any exists.
You could easily script this to get the list of all content then loop it thru the check.
Something like this (untested from AI) And for some reason code block isn't working in the forums atm...
import requests
from requests.auth import HTTPBasicAuth
# Configuration
CONFLUENCE_BASE_URL = "https://your-domain.atlassian.net/wiki"
USERNAME = "your-email@example.com" # Atlassian account email
API_TOKEN = "your-api-token"
AUTH = HTTPBasicAuth(USERNAME, API_TOKEN)
# Set headers
HEADERS = {
"Accept": "application/json"
}
def get_all_content():
url = f"{CONFLUENCE_BASE_URL}/rest/api/content"
params = {
"limit": 50, # adjust as needed
"expand": "version"
}
content_list = []
while url:
response = requests.get(url, headers=HEADERS, auth=AUTH, params=params)
response.raise_for_status()
data = response.json()
content_list.extend(data.get("results", []))
url = data["_links"].get("next")
if url:
url = CONFLUENCE_BASE_URL + url
params = {} # only needed on first request
return content_list
def check_editor_type(content_id):
url = f"{CONFLUENCE_BASE_URL}/rest/api/content/{content_id}"
params = {
"expand": "metadata.properties.editor"
}
response = requests.get(url, headers=HEADERS, auth=AUTH, params=params)
response.raise_for_status()
data = response.json()
editor = data.get("metadata", {}).get("properties", {}).get("editor", {}).get("value", "v1")
return editor.lower()
def main():
print("Fetching all content...")
content_items = get_all_content()
v1_pages = []
for item in content_items:
title = item.get("title")
content_id = item.get("id")
try:
editor_type = check_editor_type(content_id)
if editor_type == "v1":
v1_pages.append((content_id, title))
except Exception as e:
print(f"Error checking content ID {content_id}: {e}")
print("\nPages using V1 Editor:")
for cid, title in v1_pages:
print(f"- {title} (ID: {cid})")
if __name__ == "__main__":
main()
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks, @Shawn Doyle - ReleaseTEAM, for the sample code. I am not a developer. My knowledge of API and code writing is somewhat limited.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sounds like a great time to buy some snacks for a developer and ask for a favor.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.