Subscribe Join 180,000+ subscribers and receive articles from our blog about software quality, testing, QA and security. Subscribe

Announcing TestRail 6.4 with Enhanced Assembla Integration, Improved Push Defect Features & PHP 7.3 Compatibility

We’re excited to announce the general availability of TestRail 6.4 for both our cloud and server customers.

The main focus of this release is improved defect integration, particularly with our partner Assembla. This release also includes enhancements to improve the creation of defects or tickets in all supported tools.

Additionally — and by popular request — we have implemented a reference field on the TestRail milestone entity, and introduced support for PHP 7.3 on-premise installations.

Keep reading below for the details!

Enhanced Assembla Integration

In our 6.4 release, we have teamed up with our friends over at Assembla to deliver TestRail’s most powerful defect-tracking integration yet.

First of all, we’ve made it easier for administrators and TestRail users to integrate with Assembla projects using their Assembla login information (via the OAuth 2 protocol).

Individual TestRail users can also connect to Assembla using OAuth, in their user settings area.

If you prefer to configure the integration using the existing API token and secret key approach, that’s fine too. We’ve introduced a new Assembla integration wizard to support you with that process.

All of these connectivity improvements support the wealth of improvements made to the integration by the Assembla team, who have been hard at work adding some new features to support more streamlined bug and requirements tracking between the two tools.

You can refer to the associated Assembla release announcement for further details about those features, but the headlines are below.

Assembla and TestRail users can now:

  • Search for TestRail entities (cases, tests, runs, plans, milestones) from within Assembla tickets.
  • Associate any Assembla ticket with a corresponding TestRail entity or entities (cases, runs, plans, or milestones) - based on the results of your search.
  • Track progress, status updates, and test results directly from within Assembla tickets, once you’ve associated them with a TestRail entity.
  • Open and inspect any associated TestRail entity, directly from within your Assembla ticket.
  • As a beta feature, you can also synchronize Assembla tickets with TestRail runs and plans.

And you can do all of this across one, or multiple TestRail instances.

To support all of the features included in this integration, we’ve also made a swath of API enhancements.

API Enhancements

We’ve touched a number of API endpoints to facilitate our integration with Assembla. Here’s the full list:

  • add_plan now returns the ‘description’ field for any entries inside the plan
  • add_plan now returns the ‘include_all’ field for any runs and entries inside the plan
  • get_plan now returns the ‘refs’ field
  • get_plan now returns the ‘include_all’ field for any entries and runs inside the plan
  • get_plan now returns the ‘description’ field for any entries inside the plan
  • get_plans now returns the ‘refs’ field in each entry and plan within each entry
  • get_plans now returns the ‘include_all’ field for any entries and runs inside the plan
  • get_plans now returns the ‘description’ field for any entries inside the plans
  • update_plan_entry now returns the ‘description’ field for any entries inside the plan
  • update_plan_entry now returns the ‘include_all’ field for the entry and any runs inside the plan
  • get_user now returns a user’s global role ID and role name
  • get_user now allows any user to retrieve his/her own account details
  • get_user now does not allow non-administrators to retrieve details for other individual users
  • get_user_by_email now returns a user’s global role ID and role name
  • get_user_by_email now allows any user to retrieve his/her own account details
  • get_user_by_email now does not allow non-administrators to retrieve details for other individual users
  • get_users now returns the global role ID and role name for each user
  • get_users now accepts a project_id
  • get_users now requires a project_id if the API user is not a TestRail administrator

Previously, once a test plan entry was created using test run configurations, the API did not support modifying the resulting test runs. This will now be possible via update, add, and delete endpoints for test runs inside plan entries.

So, we’ve introduced some entirely new endpoints, which will allow users to better manage their test runs inside of test plans.

  • update_run_in_plan_entry
  • add_run_to_plan_entry
  • delete_run_from_plan_entry

We also updated the milestone endpoints, covered in the Milestone references section below.

Milestone References

By popular request, we’ve added a reference field to milestones, which means you’ll be able to add references to tickets or issues in your external bug or requirement tracking tools - including Assembla!

TestRail Release 6.4 Add Milestone screenshot

And we’ve updated the corresponding milestone endpoints to ensure those references are returned in your API responses:

  • add_milestone
  • update_milestone
  • get_milestone
  • get_milestones

Push Defect Improvements

In addition to all the improvements above, we’ve now made it easier to push defects from TestRail to your integrated bug tracking tools. The clue’s in the name with our new “Push Defect from Anywhere” feature; you can … well, push defects from many more places while working in TestRail.

In TestRail 6.4, so long as you’re in the context of a project, and so long as you’ve integrated an external tool, you can now create defects from:

  • The project Overview page
  • The project Milestones page
  • The project Test Runs and Results pages (including from a test run or test plan)
  • The Test Cases page

You can create bugs, defects (tickets or issues) from all those places, simply by clicking on the new Defects button in your menu bar, and pushing or adding your defect in the usual fashion.

TestRail Release 6.4 Push Defect drop-down

Alternatively, you can just use the keyboard shortcut “d” to jump straight into the Push Defect dialog from those areas instead.

PHP 7.3 Compatibility

And finally, we’ve introduced PHP 7.3 support for our TestRail Server administrators.

You’re welcome! :smiley:

Getting TestRail 6.4

A fully-functional trial version of TestRail can be requested here (hosted on our servers or as a download to install on your own server):

If you want to create a subscription for TestRail Cloud, you can do so from within TestRail via Administration > Subscription . Or, If you want to order TestRail Server licenses you can do so from our website here:

Registered customers can download the full version from our customer portal:

Updating to TestRail 6.4

TestRail Cloud instances are automatically updated to the latest version. You can check your version via the TestRail Help > About TestRail menu item.

If you are using the on-premise version of TestRail, you can update to the new version as usual by installing it over your existing TestRail installation (there’s no need to uninstall your existing installation). The database upgrade wizard is automatically started when you access TestRail with your web browser. Please see the update instructions for details:

If you’re using Docker, please refer to the instructions here:

TestRail Enterprise

If you’re interested in our Enterprise package, please email us for a trial or quote via, or you can use the contact form here:

Please ensure you make a backup of your current on-premise installation before upgrading to the new version.

@sjpknight @erick.monroy @jacob.scott

I’m a bit surprised that the TR team has released 2 maint patches and 1 major release (now 6.4) without any info around this side-edit-bug bug being fixed that I reported against release over 3 months ago. I’ve had email exchanges with all three of you around this and it’s a confirmed bug, so why is it not fixed in any of these latest release(s)? This issue is a huge problem within my origination and the hack I’ve had to do to avoid it is cumbersome to the ~700 users. When will this be resolved?!? Thanks!

Hi @mj2377 the fix for the issue you refer to is currently in development/testing. As such, I can’t give you a precise timeline for release, but I expect it to be very soon.


@sjpknight ok, thank you for the update!

@mj2377 the side edit issue should be resolved as of the latest release. Please let us know if you experience any further problems in this regard!


update_run_in_plan_entry with correct plan_id and run_id and correct request



TestRail API returned HTTP 400("Field :run_id is not a valid test run.")

Why it doesn’t work?

Hi @Clough - you’re trying to add the plan_id and the run_id. For this new endpoint, you just need to add the run_id:


See the docs here for more info.


Thanks @sjpknight, but in this way returns

TestRail API returned HTTP 400("Field :run_id is a test plan entry. Please use update_plan_entry instead.")

Hi @Clough,

I’m happy to help clarify. Within test plans, there are entries, and runs inside entries:

When needing to edit the details for a test plan entry within a test plan, you would need to use update_plan_entry/:entry_id. The entry_id is formatted as a long string of hashed values (e.g. dbce509d-822d-4b9d-811c-98f369e018fd).

When needing to update the details for a test run within a plan entry (these are test runs which utilize configurations), update_run_in_plan_entry/:run_id should be used.

The error message you are receiving would likely indicate you are trying to update a plan entry using a run_id instead of the entry_id.

I hope this helps clarify the appropriate endpoints. If you continue to receive errors when using these endpoints, please send a copy of your request to our support team at so we can look into this further.


@sjpknight thanks for the update!