Proofline documentation
How to set up and use Proofline: Test Management for Jira on Jira Cloud. Proofline is built by Pledona, an independent Atlassian Marketplace Partner, and runs entirely on Atlassian Forge.
On this page: Setup · Test cases and folders · Test cycles and runs · Traceability and coverage · CI import · CSV and Excel import · Limits · Help
Setup
- A Jira admin installs Proofline from the Atlassian Marketplace (pending review).
- Open any company-managed or team-managed project and choose Proofline Tests in the project sidebar. Tabs: Test cases, Test cycles, Coverage and Import.
- Optional, for CI: a Jira admin opens Settings > Marketplace apps > Manage apps > Apps > Proofline CI import, creates an API token and copies the endpoint URL. The token is shown once; only its SHA-256 hash is stored. Rotate or revoke it on the same page.
Proofline is free for up to 10 users. Data is stored in Forge storage for your site and removed when the app is uninstalled.
Test cases and folders
- Create nested folders in the left tree. Deleting a folder moves its test cases up to the parent folder; it never deletes them.
- Click New test case and fill in title, priority, objective, precondition and labels.
- Add steps with an action, test data and an expected result. Use Reuse test case to call another test case as a step instead of copying its steps.
- Link the test case to Jira issues (stories, bugs, epics) by issue key.
- The list shows the latest result for each case. Use the filter box to search.
Test cycles and runs
- In Test cycles, click New test cycle, give it a name and an optional version, and pick a folder or selected test cases. Every test starts as not run.
- Open the cycle and run each test step by step. Mark steps and tests pass, fail, blocked or skipped, add a comment and defect keys, then move to the next test.
- The progress bar and results column summarize the cycle. CI imports appear as cycles too.
Traceability and coverage
- Every Jira issue shows a Test coverage (Proofline) panel with its linked test cases and their latest results.
- The Coverage tab takes any JQL (for example
fixVersion = 2.4orsprint in openSprints()) and shows each issue as passing, failing, partly run, not run or untested.
CI import (JUnit, Playwright, Cypress)
Post the raw report file to your site's web trigger with the API token:
curl -sf -X POST "$PROOFLINE_URL?project=ABC&format=junit&cycle=Nightly" \
-H "Authorization: Bearer $PROOFLINE_TOKEN" --data-binary @results.xml
| Parameter | Meaning |
|---|---|
project | Required. Jira project key. |
format | junit (Jest, pytest, Maven, Gradle, Go and most runners), playwright (JSON reporter: npx playwright test --reporter=json > results.json) or cypress (mochawesome JSON). |
cycle | Test cycle name to record results in. |
version | Optional version for the cycle. |
folder | Folder for automatically created test cases. Default Automated. |
createMissing | Set to false to skip tests that do not match an existing test case. |
suiteFolders | Set to true to create subfolders from suite names. |
Results match existing test cases by automation key. Responses are JSON: 200 with import counts, 400 for a bad request, 401 for a missing or invalid token, 402 when the subscription is not active, 405 for a method other than POST. Store the URL and token as secrets in your CI system.
CSV and Excel import format
In the Import tab, upload a CSV (comma, semicolon or tab separated) or Excel file. The first row is the header. Column names are matched without case, spaces or punctuation:
| Column | Also accepted |
|---|---|
| Title (required) | Name, Test case, Test case name, Summary |
| Folder | Path, Folder path, Section. Use / or > for nested folders. |
| Priority, Objective, Precondition | Description, Preconditions |
| Step | Action, Step action, Test step, Steps |
| Data | Test data, Step data |
| Expected | Expected result, Step expected result, Result |
| Issues | Issue keys, Requirements, Coverage, Links, Linked issues |
| Labels | Tags |
| Automation key | Automation, Automated test |
One row per step: a row with a title starts a new test case, and rows below it with an empty title add more steps. Separate multiple issue keys or labels with commas, semicolons or spaces. Up to 5,000 rows per import. Example:
Title,Folder,Priority,Step,Data,Expected,Issues,Labels
Checkout with card,Web/Checkout,High,Open the cart page,,Cart page is shown,ABC-12,smoke
,,,Pay with a test card,4242 4242 4242 4242,Order is confirmed,,
TestRail and Zephyr Essential CSV exports use compatible column names. See the migration guide.
Limits
- A cycle or a single CI import holds up to 1,500 tests. Split bigger suites by cycle name.
- Test case lists show the first 1,000 matches; use folders or the filter.
- The coverage report evaluates up to 500 issues per JQL.
- CI imports have the standard Forge web trigger time limit of about 25 seconds.
Help
See Support, the Privacy Policy and Security, or contact us. We reply within one business day (Pacific Time).