How to get login user id in Jira cloud app

Hi,

I created custom jira cloud app and installed. I followed this tutorial
https://developer.atlassian.com/cloud/jira/platform/getting-started/

Created form in html that is loaded in jira iframe. Afer form submitting i’m saving content into my DB. Multiple users installed same app and submitted form details. How can I uniquely identify which user submitted which data. Please guide me.

@Sankar if you are trying with spring boot application then try with following code (I have not tried)

public ResponseEntity<?> enabledEvent(@AuthenticationPrincipal AtlassianHostUser hostUser) {		
		Optional<String> user = hostUser.getUserAccountId();
	}

from context also we can get as follows

AP.context.getContext(function(response){  
  console.log("user account id (always present)", response.user.accountId);
});
2 Likes

Hi Prasad,

I’m not using spring boot application. I created form in my server and installed that using atlasian-connect json. Then my form showed in jira app. How can I get login user id into that form.

The second code snippet @prasad.rambanam provided is javascript. You can use it inside your forms onsubmit or wherver you send the data to your backend.

@Sankar You can identify users based on accountId :slight_smile:

AP.context.getContext(function(response){
console.log(“user account id (always present)”, response.user.accountId);
});

What’s the “AP” in above code.

atlassian javascript utilities, check the following document for more details
https://developer.atlassian.com/cloud/jira/platform/jsapi/ap/

Getting error .
Uncaught ReferenceError: AP is not defined

I included
<script src="https://connect-cdn.atl-paas.net/all.js" async></script>
script also.

Try removing the async attribute

Removed. Error resolved but not getting user information.

 AP.user.getUser(function(user){
          console.log("user id", user.id);
          console.log("user key", user.key);
          console.log("user name", user.fullName);
        });

Getting undefined.

It seems the above one is deprecated so try with following one

 AP.user.getCurrentUser(function(user) {
   console.log("The Atlassian Account ID is", user.atlassianAccountId);
 });
1 Like

Hi Prasad,

Thankyou soo much. It’ working. :slight_smile: