Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,456,674
Community Members
 
Community Events
176
Community Groups

AP is not defined

Deleted user Mar 07, 2017

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

3 answers

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

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.

Deleted user Mar 08, 2017

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?)

Like # people like this

Make sure you do no have async attribute in script tags.

Thanks @Volodymyr Krupach !

It was strange that AP works randomly, but removing async helped.

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

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/

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

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.

Like # people like this

I got it, 
Thank you @Volodymyr Krupach  

Can you post example how to define properly all.js into scritps? We have 401 authorization error...

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.

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events