Introducing alpha support for adding Forge to your existing Connect app

Hello everyone,

Today we are announcing an alpha release of functionality that allows developers to add Forge features to existing Connect apps.

The alpha release is intended to provide a way for our community to test out what’s been built so far and help us prioritise subsequent features along the way to a production-ready launch.

Getting started

Please see our developer documentation on Build a Connect on Forge app to get started.

We want your feedback

I’m super interested in any feedback you want to share on what has been built so far, and what would be most valuable for us to prioritise next.

Thanks! :slight_smile:
Joe

21 Likes

Hi,
Thank you this, that’s really an exciting feature, being able to gradually adopt Forge!

I’ve tried to follow along the tutorial you linked to, but ran into the following error when using forge deploy -e development --verbose:

Found unsupported modules in the manifest
Validation errors: {
  "forbiddenModules": [
    "connect-jira:lifecycle",
    "connect-jira:generalPages"
  ]
}

I am using forge 0.24.0 and have not made any changes to the code apart from what is suggested in the tutorial. Any idea what I might be doing wrong? Do I need to enable this feature somehow?

Cheers and thanks for an amazing feature,
Oliver

1 Like

Hi @osiebenmarck, thanks for trying out the feature and please accept my apologies; there was a feature flag I didn’t realise was necessary to activate in order to make the connect modules broadly available. It’s now on; please let me know if that fixes it for you.

Cheers,
James

2 Likes

Hi @jhazelwood,
Thank you for the quick reply, that actually helped and I can now deploy the sample app. Unfortunately, I am now stuck at the forge install step, which fails with an unexpected error:

 ▶️  GraphQL https://api.atlassian.com/graphql
Query: 
      mutation installApp($input: AppInstallationInput!) {
        installApp(input: $input) {
          success
          message
          errorDetails {
            code
          }
          installationId
          authorizationUrl
        }
      }
    
Variables: {
  "input": {
    "installationContext": "ari:cloud:jira::site/3e5c0e4b-3b9f-45a8-8baa-9e679221db83",
    "appId": "ari:cloud:ecosystem::app/1f8ff8e1-45bf-4a20-beb7-ecc7b082ec10",
    "environmentKey": "default"
  }
}
  ◀️  GraphQL
Request ID: 185ffaef3aac9184
Result: {
  "installApp": {
    "success": false,
    "message": "An unexpected error occurred",
    "errorDetails": {
      "code": "INTERNAL_SERVER_ERROR"
    },
    "installationId": null,
    "authorizationUrl": null
  }
}

Error: Installation error: An unexpected error occurred (requestId: 185ffaef3aac9184)

I am logged in and can deploy/install other Forge apps without problems. Do you have any more ideas?

Thank you,
Oliver

1 Like

Thanks again @osiebenmarck for getting back to us and for your patience. Our error messages need work, but digging into the logs it appears that your app server returned a non-200 response to the installation hook. We aren’t logging the status codes or response bodies so I can’t give you any more information beyond that, but do you see anything in the logs of your standalone app server? It should be logging the urls and response status codes of all requests it receives.

One wild theory: is your node version greater than or equal to 10.12.0? If not the issue could be with the code to save the installation data - it uses a flag introduced in that version to create directories recursively.

I’m in the Sydney timezone but I’ll check in this evening (your morning) to see if I can assist you in a more synchronous fashion.

Thanks again,
James

Hi, I just had another thought - it could be that the bad response code is coming from your ngrok as well - I did see a 402 payment required one time when testing the ngrok in unlicensed mode, and had to restart it and update to the new base URL.

1 Like

Hi @jhazelwood, Thank you soo much, the ngrok thing was it. I had restarted ngrok, but forgot to update the manifest.yml to the new url. Once I did that, everything went smooth.

Again, thanks for the quick help, hope you didn’t stay up to late.

Best regards,
Oliver

3 Likes

Hooray! So glad to hear it. Not at all, I only just checked in now, and it’s only 7:30pm.

3 Likes

Hi Everyone,

The alpha will be paused for 24-48 hours.

We’ve uncovered a bug thats causing pure Forge apps that are 3 months or older to fail on install. The fix for this should be out in the next two days, stay tuned to this thread to see when we’ve reenabled the functionality.

Thanks,
Athan

1 Like

Hi All,

We’ve fixed the bug and have turned the alpha features back on.

Thanks!
Athan

1 Like