What version of Node.js is officially supported by Atlassian connect express?

Additionally, what databases are supported?
I couldn’t find this info anywhere. Maybe somebody knows this?

The release notes suggest node v10+ is supported

If you take a look at the repo here – Bitbucket – particularly the config.json file, you can see that there is support for postgres, mongodb, redis and DynamoDB.

2 Likes

Just a word of warning, you may have some issues trying to use the latest node v17 release.

I have a number of ACE apps that all work fine with node v16.13.0.

However if I try to use any v17.x version, when I start up the app in dev mode and it attempts to register with my dev Confluence instance, I get the following error:

POST /installed 204 115.097 ms - -
Failed to register with host https://[redacted].atlassian.net/wiki
Error: read ECONNRESET
Error: read ECONNRESET
    at TLSWrap.onStreamRead (node:internal/stream_base_commons:220:20)
    at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17)
Add-on not registered; no compatible hosts detected

Node v17 includes a major breaking change, as it upgrades to OpenSSL 3.0 (which presumably explains the error as it involves TLSWrap).

I did some digging into the registration code in ACE and traced the problem to this check in /lib/internal/registration/register-jira-conf.js:

// UPM installed payload changes on successful install
if (results.status && results.status.done) {
  // if results.status.done is true, then the build has failed as the payload of a
  // successful install does not contain the status object
  reject([results.status.errorMessage, res]);

With v16, response.status.done == false; and with v17 it is true.

It would seem that ACE might need some fixes to work with Node v17.

1 Like