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,560,349
Community Members
 
Community Events
185
Community Groups

Javascript Injection and JS Libraries dependencies

Hi All,

I have to build a small plugin for Jira/Confluence in order to inject JS.

I am aware about Web Resource module type that allows to inject JS depending the different context of the application. It allows to inject a <script> based on an aggregate of JS source from the Application, where the declared dependencies are analysed in order to have the correct JS.

The generated html looks like 

{code:html}<script type="text/javascript" src="/confluence/s/71095c56c641f2c4a4f189b9dfcd7a38-CDN/en_US/8100/5084f018d64a97dc638ca9a178856f851ea353ff/3.1.1/_/download/batch/confluence.extra.livesearch:livesearch-macro-web-resources/confluence.extra.livesearch:livesearch-macro-web-resources.js?locale=en-US" data-wrm-key="confluence.extra.livesearch:livesearch-macro-web-resources" data-wrm-batch-type="resource"></script>{code}

But, how to process if a part of this injected JS has external dependencies not stored on the application. In final, I expect to have 

{code:html}
<script language="JavaScript" src="https://other.copany.com/js/SomeLibrarie.js"></script> {code}

Any idea ?

Thanks

1 answer

0 votes
DPKJ
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
Dec 10, 2019

Hi @Vincent Thoulé _Alkaes_ 

This is not possible directly to add external web resources. But there are some workaround that you can use,

  • Best is, to download all external resources put them in plugin directory and use it from there
  • Or you can try somethings like, "Fetch Inject" (if it works fine in your scenario) https://git.habd.as/jhabdas/fetch-inject

Hopefully this helps.

Hi DPK J,

The solution could be a possibility if the downloaded resource is cached with some epxiration age, but I did not have yet find such usage in documentation.

The JS resource is a large one, and it would  be not aceptable to reload it all the time without benefit of Browser cache.

I should test it as soon as the implementation is confirmed.

V.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events