References - Updating to TcEx 2.0

Overview

The purpose of this page is to provide a landing place for information on taking an existing ThreatConnect integration up to TcEx 2.0. This document is intended for review by the technical audience responsible for developing and maintaining code.

This page applies specifically to in-platform and external Python-based integrations that make use of the TcEx Framework. This page does not apply to integrations using the REST API or any other framework.

Changes in TcEx 2.0

Most importantly, we recommend reviewing the release notes for TcEx 2.0+. You can find the notes starting with the initial release of TcEx 2.0 here.

Specifically, some items of note that have changed are below:

  1. The tcex.request module has been removed. Integrations should make use of the tcex.session_external property to make remote calls from within the Platform. This property returns a requests object properly configured for the in-Platform environment.

  2. The datetime utilities offered in TcEx have been moved to tcex.utils.datetime now. See this page for more information.

  3. Several changes have been made to the available app decorators to improve usability. See this page for more information.

More recently-developed integrations making use of TcEx v1.1.6 or newer are likely to find the changes subtle and easy-adapted into the existing project. If you require assistance with your changes, please reach out to the Technology Partners team.

Timeframes

The following timeframes have been defined around this change:

  • All existing projects that are submitted for review in the Developer Partner Program after 8/31/2020 must use the TcEx 2.0 framework.

    • If you have any existing project, we recommend scheduling time to make this change now in order to ensure this change is made prior to the requirement.

  • All new projects (anything that is not an update to an existing integration) that are submitted for review in the Developer Partner Program must use the TcEx 2.0 framework as of this point and moving forward.

It is not planned that existing integrations that work today with the Platform version 6.0 will discontinue working. Instead, this change is being requested to ensure continued value with existing integrations. Remaining up-to-date with the major versions of our framework will help to ensure continued compatibility between our Platform and your integration.

Updated Project Templates

If you’ve already initiated a project using the TcEx 1.x framework, you may wish to reinitialize your project using the update templates that go along with TcEx 2.0. These have been updated with changes to reflect some new uses with the Platform.

Support

Please see the https://threatconnect-techpartners.atlassian.net/wiki/spaces/DP/pages/4521985 page if you would like to reach out to us with additional questions on this topic.