Can I trigger installation of jira app from my service and send some extra params in installation url?

I am using connect framework to develop my jira markeptlace app.

Our service deploys on-prem on customers cloud.
So every customer has a different url for our app - atlan.abc.com, atlan.xyz.com.

Now for oauth flow, I want the context of the app for which the flow was triggered ( abc or xyz ) so that the jira app token can be persisted for that customer.

Is there a flow where in I can trigger jira app installation / oauth flow from my service and pass an extra state parameter in the oauth url which gets passed on to the server after oauth is complete ?

How should I go about to solve this ?

For instance in slack apps, you can send an extra state parameter which gets transfered in oauth flow to our server. And on their marketplace listing they have an option where people cannot install the app directly

I don’t believe there is a way to do that with Connect apps .

For connect apps - at some point the admin must manually intall via the marketplace.

I think it is possible to achieve this if you set the app up as a Oauth 2.0 3LO app

I believe there are some significant limitations if you set your app up in this way though, for example Issue panels - which are not available to 3LO apps.

Hey @richard.white, I just had to create a connect app to index some entity properties.
Is there some other way to index entity / app properties ?
Doesn’t makes sense to go through the whole app installation process for it according to me.

In oauth as well, how can I send some context about my app ?
Basically I wanted to trigger the app installation from my service so I can send context about my service - necessary because the final credentials have to be stored somewhere.

How can I achieve that with oauth ?

I guess Oauth will not work to well in this case, searchable entity properties are one of the limitations of Oauth apps, see: (Jira only) Apps cannot declare searchable entity properties

For connect, as far as I understand there is no simple way to install from your service directly - as best you can do is link to your app in the marketplace…

Possibly the only way I can think to make things work would be for your Connect App to initiate it’s own Oauth flow with your service. Ie implement an Oauth client in your connect app. Obviously, this will not be the smoothest user experience.