In an Atlassian connect plugin, we've this code
$(document).ready(function() { AP.require('request', function(request) {
which works fine, but sometimes and randomly we receive the error message in the object
AP is not defined
And this is not related to a specific browser or OS
Any idea of why this happens?
Any suggestion on what to investigate?
Thanks
That's the head section of my web panel
<html lang="en"> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="//aui-cdn.atlassian.com/aui-adg/6.0.6/js/aui.min.js"></script> <link rel="stylesheet" href="//aui-cdn.atlassian.com/aui-adg/6.0.6/css/aui.min.css" media="all"> <link rel="stylesheet" href="mycustom.css"> <script src="mycustom.js"></script> </head>
and that's the last part of the body
<!-- Stop the loading addon message --> <script id="connect-loader" data-options="sizeToParent:true;"> (function() { var getUrlParam = function(param) { var codedParam = (new RegExp(param + '=([^&]*)')).exec(window.location.search)[1]; return decodeURIComponent(codedParam); }; var baseUrl = getUrlParam('xdm_e') + getUrlParam('cp'); var options = document.getElementById('connect-loader').getAttribute('data-options'); var script = document.createElement("script"); script.src = baseUrl + '/atlassian-connect/all.js'; if (options) { script.setAttribute('data-options', options); } document.getElementsByTagName("head")[0].appendChild(script); })(); </script> </body>
as described in the Atlassian dev documentation
I am running into this exact same issue with loading all.js from our JIRA instance. The script loader is absolutely doing the right thing, we've used it forever for our Confluence add-on and I've verified that it's present and loaded in the DOM. It's all.js that has an issue when it tries to execute.
I'm getting an Uncaught TypeError: Object.defineProperty called on a non-object, and AP fails to be created or made available to our add-in
Uncaught (in promise) TypeError: AP.request is not a function
I'm getting this error and don't know what's wrong, the only difference is I'm running the app in localhost.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
AP is defined in "integration bridge" all.js loaded from your host JIRA:
https://YOUR-ATLASSIAN-DOMAIN/atlassian-connect/all.js
I guess that all.js is not loaded (which should not happen) or maybe your load your custom JS file before all.js.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
all.js is loaded before my custom JS because the code works fine,
and my JS is loaded at last in my web panel
but it seems that sometime (and I don't know when and why)
AP is not available (i.e. all.js is not loaded?)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Make sure you do no have async attribute in script tags.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Volodymyr Krupach ,
I try to add all.js to my plugin but I got this err: http://localhost:2990/jira/atlassian-connect/all.js net::ERR_ABORTED 404
It couldn't load
Do you have any idea about this?
Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Dang Thi Thuy Tien ,
Jira Cloud should NOT be loaded from localhost. You need to get development instance hosted by Atlassian. Here is a good tutorial: https://developer.atlassian.com/cloud/jira/platform/getting-started/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Volodymyr Krupach
Thank you so much,
I find some link
<script src="https://connect-cdn.atl-paas.net/all.js" type="text/javascript"></script>
But It has another error :
AP.request({
Cannot read property 'request' of undefined
Thank you
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
all.js must be loaded from the hosting Jira. It's a bridge between hosting Jira and your app and it will not work when loaded from outside.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I got it,
Thank you @Volodymyr Krupach
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can you post example how to define properly all.js into scritps? We have 401 authorization error...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.