Browse the Knowledge Hub211 resources
Confluence review for QA teams: pricing, alternatives and setup
Confluence is Atlassian’s collaborative documentation platform, organised into spaces of pages and live docs, with comments, version history and permissions. Its integration with Jira lets pages show live lists and counts of work items. QA teams use it for test strategies, test plans, environment documentation, release readiness pages and the team knowledge base. Confluence Cloud is the current product; Data Center is no longer sold to new customers.
QAble has evaluated this tool and works alongside it. The factual sections are complete; our view is bounded to what we have actually seen rather than a long-term verdict.
- last reviewed
- 13 October 2026
- version covered
- Confluence Cloud, October 2026
- licence
- Commercial
At a glance
Confluence at a glance
- Vendor
- Atlassian
- Category
- Collaboration
- Licence
- Commercial
- Platforms
- Cloud, Data Center
- Integrates with
- Jira, Xray, Slack
- First released
- 2004
- Version reviewed
- Confluence Cloud, October 2026
Verdict
Our verdict on Confluence
Strengths
- Jira work item lists and counts embedded in pages, driven by JQL, so status sections stay current
- Templates with variables give every test plan and release page the same structure
- Content properties plus a report macro turn many test plan pages into one scannable table
- Free plan for up to 10 users with 2 GB storage, enough for a small QA team to start
- REST API v2 lets CI pipelines publish test run summaries as pages
Weaknesses
- Not a test management tool: no test cases, executions or coverage without Jira apps
- Only space administrators can create space templates, which slows teams that want to iterate on structure
- Data Center is no longer sold to new customers and reaches end of life on 28 March 2029
- Without page owners and review dates, pages go stale and search returns outdated plans
Our take
Confluence suits QA documentation best in organisations that already track work in Jira, because a test plan or release readiness page can embed a live Jira query instead of a pasted number that is out of date by Thursday. Content properties and their report macro also turn a space of test plans into a register you can scan. QAble has evaluated Confluence for this kind of QA documentation rather than administered a long-running instance, so treat this as a bounded take. Two cautions. Confluence is a document tool, not a test management tool: test cases, executions and coverage belong in Jira apps such as Xray or in a dedicated test management product, with Confluence linking to them. And spaces decay without ownership, so give every page an owner and a review date, or the wiki becomes a record of how things used to work.
We have evaluated this tool rather than maintained a long-running suite on it, so this is a bounded view rather than a long-term verdict. The rest of this page is factual.
How it works
How Confluence works
Spaces, page trees and permissions
Content lives in spaces, each with its own page tree, permissions and administrators. A QA team typically has one space, or a section of a product space, with a predictable hierarchy: strategy and standards at the top, then test plans per release or feature, environment and test data documentation, and run reports. Permissions are set per space and can be narrowed per page with restrictions, which matters when test documentation includes environment details or customer data that not everyone should see. Every published change creates a new version, so a test plan’s history and who changed the exit criteria are recoverable, and inline comments carry review discussions on the text itself.
Jira data rendered inside pages
With Jira connected, typing /jira in the editor or pasting a Jira search URL inserts a Jira work items element. It can show one work item, a selected set, a list driven by a JQL query with chosen columns, or just the count of matching items linked back to the search in Jira. Atlassian has been renaming issues to work items, and older documentation calls this the Jira Issues macro. Jira permissions still apply: Atlassian documents that the macro shows only the work items the viewer is authorised to see, so a stakeholder without Jira access can see an empty or shorter list than the author.
Templates and content properties give structure
Space administrators create templates under Space settings, Look and feel, Templates. Templates built in the current editor support variables, typed as text, multi-line text or a list, that the author fills in when creating a page, and placeholder text that disappears when the page is published. Content properties, the macro formerly known as Page Properties, holds a two-column table of keys and values on a page. A report macro on another page collects those tables from every page with a given label into one table, so a test plan template with release, owner, status and sign-off properties yields an automatic register of plans.
Storage format and the REST API
Through the API, page bodies are exchanged in Confluence storage format, an XHTML-based markup, or in the Atlassian document format used by the editor. The Confluence Cloud REST API v2 creates and updates pages with a body in storage, atlas_doc_format or wiki representation, which is how a CI job can publish a test run summary. Version 2 endpoints identify spaces by numeric ID rather than key, use cursor-based pagination, and require the next version number when updating a page. Atlassian has deprecated many v1 endpoints in favour of v2, so older scripts and tutorials based on /wiki/rest/api/content need migrating.
Strengths
What it does well
Release readiness pages that stay current
A readiness page with a count of open blocker defects, a list of untested stories and the test execution work items for the release, all driven by JQL, reflects Jira when it is opened rather than when it was written. That removes the most common failure of status documents: a sign-off meeting held against numbers somebody typed days earlier.
A consistent test plan structure
A space template for test plans, with variables for release, scope and owner and placeholders for entry and exit criteria, risks and environments, means every plan answers the same questions in the same place. Reviewers know where to look, gaps are visible, and new testers learn the expected depth from the template itself.
A register of plans without a spreadsheet
Put a content properties table at the top of each test plan with keys such as Release, Owner, Status and Sign-off date, and label the pages test-plan. A report macro on the space home page lists every plan with those columns and stays current as pages change, which replaces the spreadsheet of plans that nobody updates.
Publishing automated results for non-developers
Product owners and support staff rarely open CI logs or test reports. A pipeline step that creates a page per release run, with pass and fail counts, links to the full report and known issues, puts automated results where those readers already work, with comments for questions and history for audit.
Shared knowledge for the QA team
Environment details, test data recipes, how-to guides for the automation framework and post-incident notes are the knowledge that leaves with people. Confluence search, labels and page trees make it findable, and permissions let the same space hold internal notes and pages shared with developers or external stakeholders.
Pricing
Confluence pricing and licensing
Confluence Cloud is sold per user in four plans: Free, Standard, Premium and Enterprise, billed monthly or annually. The pricing page today describes Free as free forever for up to 10 users with 2 GB of file storage and community support. Standard and Premium can be trialled free for 7 days, and Enterprise is priced by quote through Atlassian sales. Per-user rates fall as user numbers rise, so check the calculator for your team size rather than relying on a headline figure.
- Licence: proprietary software, sold as Atlassian Cloud subscriptions. There is no open-source edition.
- Free: up to 10 users and 2 GB of file storage with community support. Going over 10 users moves a site onto a 7-day Standard trial.
- Standard and Premium: Standard raises storage to 250 GB; Premium adds unlimited storage, 24/7 Premium Support and a 99.9% uptime SLA backed by service credits. The pricing page also lists monthly Rovo AI credit allowances per user that differ by plan.
- Enterprise: a 99.95% uptime SLA plus advanced analytics, scale and security features, by quote.
- Data Center: Atlassian ended sales to new customers on 30 March 2026, ends sales to existing customers on 30 March 2028 and ends support on 28 March 2029.
- Hidden costs: Marketplace apps, such as test management or diagram apps, are billed separately, and the subscription is priced on every user who needs access, not only the QA team.
Checked against the vendor’s own pages on 13 October 2026. Pricing changes; confirm on the official site before buying.
Getting started
Getting started with Confluence
Setup, step by step
- Create a Confluence Cloud site or add Confluence to your existing Atlassian site so it shares users with Jira.
- Create a QA space and agree the page tree: strategy, test plans, environments, run reports.
- As a space admin, create a test plan template with variables and a content properties table.
- On the space home page, add a content properties report for the test-plan label.
- Create an API token at id.atlassian.com, then run the script below to publish a first run summary.
Install
pip install requests
# Classic API token from id.atlassian.com, used with Basic auth
export CONFLUENCE_SITE=https://yourteam.atlassian.net
export [email protected]
export ATLASSIAN_API_TOKEN=your-token
python publish_results.pyA first example
# publish_results.py: create a Confluence page with a test run summary
import os
import requests
SITE = os.environ["CONFLUENCE_SITE"]
AUTH = (os.environ["ATLASSIAN_EMAIL"], os.environ["ATLASSIAN_API_TOKEN"])
# REST API v2 identifies spaces by numeric ID, so look it up from the key
spaces = requests.get(f"{SITE}/wiki/api/v2/spaces",
params={"keys": "QA"}, auth=AUTH, timeout=30)
spaces.raise_for_status()
space_id = spaces.json()["results"][0]["id"]
# Storage format is XHTML: tables, headings and links work as in HTML
body = """
<h2>Summary</h2>
<table>
<tr><th>Suite</th><th>Passed</th><th>Failed</th></tr>
<tr><td>Checkout end to end</td><td>142</td><td>3</td></tr>
</table>
<p><a href="https://ci.example.com/runs/812">Full report</a></p>
"""
resp = requests.post(f"{SITE}/wiki/api/v2/pages", auth=AUTH, timeout=30, json={
"spaceId": space_id,
"status": "current",
"title": "Test run 812, build 1.42.0",
"body": {"representation": "storage", "value": body},
})
resp.raise_for_status()
page = resp.json()
print(page["_links"]["base"] + page["_links"]["webui"])What trips people up first
Authentication that works in the browser but not in the script. The REST API needs your Atlassian account email with an API token, not your password, and tokens now expire, after one year by default and at most 365 days. Scoped tokens, which Atlassian recommends, must be sent through the API gateway at https://api.atlassian.com/ex/confluence/ followed by your site’s cloud ID, not to yourteam.atlassian.net; classic tokens work against the site URL. The other early surprise is space keys: v2 endpoints want the numeric spaceId, so look it up from the key first.
In practice
Using Confluence in practice
Organising a QA space
Keep the tree shallow and predictable. A workable layout is a space home page with the plan register and links, then four branches: Strategy and standards, holding the test strategy, definition of done and defect triage rules; Test plans, one child page per release or major feature, created from the template; Environments and data, describing each environment, its URLs, owners and test data recipes; and Run reports, where pipelines publish summaries, grouped by month or release. Use labels for cross-cutting views, such as test-plan, regression or performance. Give every page an owner and a next review date in its content properties, so stale pages can be found by a report rather than by accident.
Designing the test plan template
Build the template in the current editor so variables work. Start with a content properties table holding Release, Feature, Owner, Status and Sign-off date, since that table feeds the register. Then add sections for scope and out of scope, approach and test levels, environments, entry and exit criteria, risks with mitigations, and schedule. Use placeholder text to say what good content looks like in each section, because placeholders vanish on publish. Leave room for a Jira work items list driven by a JQL query on the release, such as fixVersion and issue type, so each plan shows its own stories and defects. Templates cannot hold images or attachments, so keep diagrams in a linked page.
Publishing run summaries from GitHub Actions
Run the publishing script as a step after the tests, with if: always() so failed runs are published too, and keep credentials in repository secrets. Generate the storage format body from the test framework’s JUnit XML or JSON report rather than hand-building it, and link to the full report artefact instead of pasting thousands of rows. Put run pages under a parent page per month or release by passing parentId, otherwise every page lands under the space home page. Pipelines that publish on every commit flood the space; publish for release candidates, nightly runs and failures only.
# .github/workflows/regression.yml (excerpt)
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- run: pip install -r requirements.txt
- run: pytest --junitxml=reports/junit.xml
- name: Publish summary to Confluence
if: always() # publish failed runs as well
run: python scripts/publish_results.py reports/junit.xml
env:
CONFLUENCE_SITE: https://yourteam.atlassian.net
ATLASSIAN_EMAIL: ${{ secrets.ATLASSIAN_EMAIL }}
ATLASSIAN_API_TOKEN: ${{ secrets.ATLASSIAN_API_TOKEN }}Updating one living page instead of creating many
For a dashboard-style page, such as the current state of the nightly regression, update the same page each run instead of creating a new one. The v2 update endpoint replaces the title and body and requires version.number set to the current version plus one, so read the page first. Confluence keeps every version, so history and comparisons between runs remain available from the page itself. If two jobs update the same page concurrently, one will be rejected because its version number is stale; retry by reading the page again.
# Update an existing page: version must be current + 1
page_id = "123456789"
current = requests.get(f"{SITE}/wiki/api/v2/pages/{page_id}",
auth=AUTH, timeout=30)
current.raise_for_status()
version = current.json()["version"]["number"]
resp = requests.put(f"{SITE}/wiki/api/v2/pages/{page_id}", auth=AUTH, timeout=30, json={
"id": page_id,
"status": "current",
"title": "Nightly regression: latest run",
"body": {"representation": "storage", "value": body},
"version": {"number": version + 1, "message": "Run 812"},
})
resp.raise_for_status()Keeping QA documentation alive
Documentation decays faster than code because nothing fails when it goes wrong. Make review part of the release: the release checklist includes confirming the test plan’s status and sign-off properties, and a report macro listing pages whose review date has passed is on the QA space home page. Archive superseded plans rather than deleting them, so audit history survives but search stays clean. Prefer linking to the source of truth, a Jira query, a CI report or a repository README, over copying its content into a page, because every copy is a page that will eventually be wrong.
Pitfalls
Common pitfalls
Using Confluence as the test case repository
Why it happens: Pages of test case tables look manageable at first, but there is no execution history, no link from a step to a defect and no coverage reporting, and tables diverge across copies.
The fix: Keep test cases and executions in Jira with a test management app or a dedicated tool, and use Confluence for plans, strategy and summaries that link to them.
Status sections with typed-in numbers
Why it happens: A readiness page that says 12 open defects is wrong as soon as one is fixed, and decisions get made on it anyway.
The fix: Replace typed counts with Jira work item elements in count or list view, driven by JQL on the release.
Stakeholders seeing empty Jira lists
Why it happens: Jira permissions apply to embedded lists, so readers without Jira access or project permission see less than the author.
The fix: Check the page as a stakeholder would, grant read access in Jira where appropriate, or add a short written summary alongside the live list.
Scripts written for the v1 REST API
Why it happens: Many tutorials use /wiki/rest/api/content with space keys and offset pagination. Atlassian has deprecated many v1 endpoints in favour of v2, which uses space IDs and cursors.
The fix: Use the /wiki/api/v2 endpoints, look up spaceId from the space key, follow the cursor link for paging, and send the next version number on updates.
Following guides that mention Page Properties and Jira Issues
Why it happens: Confluence Cloud now calls these the content properties macro and Jira work items, so menu searches for the old names can come up empty.
The fix: Search the editor for content properties or type /jira, and treat older articles as describing the same features under previous names.
Planning a new self-managed Confluence deployment
Why it happens: Atlassian stopped selling Data Center licences to new customers on 30 March 2026, and Data Center reaches end of life on 28 March 2029.
The fix: Plan on Confluence Cloud, and if regulation rules that out, compare self-hosted alternatives before committing documentation to a platform with a fixed end date.
Compared
Confluence alternatives compared
| Tool | Hosting | Free plan | Live Jira data in pages | Review workflow | Billing |
|---|---|---|---|---|---|
| Confluence | Cloud; Data Center for existing customers | Up to 10 users, 2 GB storage | Yes, JQL lists and counts | Comments and page version history | Per user: Standard, Premium, Enterprise |
| Notion | Cloud | Yes, block limit for multi-member workspaces | Link previews and one-way Jira sync | Comments and page history | Per member: Plus, Business, Enterprise |
| Markdown docs in Git | Your repository and static site host | Free tooling | No, links only | Pull request review and diffs | Hosting and CI time only |
FAQ
Frequently asked questions
What are the best Confluence alternatives?
The alternatives most often weighed against Confluence are Notion and Markdown docs in Git. The comparison on this page sets them side by side on hosting, free plan, live jira data in pages, review workflow and billing, and the verdict above says where Confluence is the wrong choice and which of them to pick instead.
Is Confluence free?
Confluence Cloud has a Free plan for up to 10 users with 2 GB of file storage and community support, which suits a small QA team or a trial. Larger teams need Standard, Premium or Enterprise, billed per user monthly or annually. Standard and Premium have a 7-day free trial, and a Free site that goes over 10 users moves onto a Standard trial.
Can Confluence be used for test management?
Not on its own. Confluence is good for test strategies, test plans, run summaries and team knowledge, but it has no concept of test cases, executions, defects linked to steps or coverage. Teams in the Atlassian ecosystem usually manage tests in Jira with a test management app such as Xray, or in a dedicated tool, and link or embed that data in Confluence pages.
How do I show Jira defects in a Confluence page?
Type /jira in the editor or paste a Jira search URL. Choose a JQL query, for example open bugs for a fix version, then pick list view with the columns you need or a count of matching items. The element shows Jira data when the page is viewed, limited to what each viewer may see in Jira. Older guides call this the Jira Issues macro.
Confluence vs Notion for QA documentation?
Confluence is the natural choice where the team uses Jira, because live Jira lists and counts in pages, shared users and Atlassian administration come with it. Notion offers flexible databases and a block model that some small teams use for lightweight test tracking, with one-way Jira syncing and link previews. For engineering-owned documentation, Markdown in Git with pull request review is the third option.
Is Confluence Data Center still available?
Only to existing customers, and not for long. Atlassian ended Data Center sales to new customers on 30 March 2026, will end sales to existing customers on 30 March 2028, and ends support and bug fixes on 28 March 2029. Confluence Server reached end of support in February 2024. New deployments should plan on Confluence Cloud.
How can CI publish test results to Confluence?
Use the Confluence Cloud REST API v2 from a pipeline step. Authenticate with an Atlassian account email and API token, look up the space ID from its key, and POST to /wiki/api/v2/pages with a storage format body built from your test report. To refresh one page instead, PUT to the page with the version number incremented by one. Run the step even when tests fail.
What should a test plan template in Confluence include?
A content properties table for release, owner, status and sign-off date, so a report can list all plans. Then scope and out of scope, approach and test levels, environments and test data, entry and exit criteria, risks and mitigations, schedule, and a Jira work items list for the release. Use variables for values entered at creation and placeholder text to show what each section needs.
Alternatives
Confluence alternatives worth weighing
Notion
Flexible workspace combining documents, databases and wikis, used by some teams for lightweight test management.
Resources
Where to go next
Picking the wrong tool costs more than picking late.
QAble advises on toolchain decisions and then implements them, with engineers who have run these tools on real delivery. Start with a free QA audit.