Action required for Jira Service Desk vendors: upcoming customer portal changes may impact apps

In Jira Service Desk 4.1, we’re making some look and feel changes to the help center and customer portal. This is the first round of improvements aimed at making the customer experience both simple and polished.

In order to do this, we’ve had to make some changes to the frontend codebase, and this may impact third-party apps.

What’s the potential impact?

There’s two things to be aware of:

  • layout changes may impact how your app looks within the customer portal
  • the customer portal now loads routes asynchronously, which can impact previously available globals.

Click here to see full list of dependencies impacted...

Web-resource dependencies with side-effects that are impacted:

com.atlassian.auiplugin:aui-spinner
jira.webresources:jquery-spin
com.atlassian.auiplugin:aui-header
com.atlassian.auiplugin:soy
com.atlassian.auiplugin:aui-button
com.atlassian.plugins.atlassian-chaperone:hotspot-tour
com.atlassian.plugins.atlassian-chaperone:chaperone
jira.webresources:jquery-ui-draggable
com.atlassian.auiplugin:jquery-ui-focusable
jira.webresources:jquery-progressbar
com.atlassian.auiplugin:table
com.atlassian.plugins.atlassian-plugins-webresource-plugin:data
com.atlassian.soy.soy-template-plugin:soy-deps
com.atlassian.auiplugin:aui-lozenge
com.atlassian.auiplugin:aui-toggle
com.atlassian.auiplugin:aui-badge
com.atlassian.auiplugin:ajs
jira.webresources:calendar-lib

Web-resource dependencies that expose AMD-modules that are impacted:

jira.webresources:calendar (contains the following AMD-Modules): jira/libs/calendar, jira/libs/calendar-layerable-mixin
jira.webresources:jquery (contains the following AMD-Modules): jquery, jira/jquery/deferred
jira.webresources:jira-logger (contains the following AMD-Modules): jira/util/logger
jira.webresources:jira-formatter (contains the following AMD-Modules): jira/util/formatter
jira.webresources:wrm-context-path (contains the following AMD-Modules): wrm/context-path
jira.webresources:feature-flags (contains the following AMD-Modules): jira/featureflags/feature-manager
jira.webresources:jira-metadata (contains the following AMD-Modules): jira/util/data/meta, jira/util/data/meta/store, jira/util/strings
com.atlassian.auiplugin:dialog2 (contains the following AMD-Modules): aui/dialog2
com.atlassian.auiplugin:aui-flag (contains the following AMD-Modules): aui/flag
jira.webresources:aui-core-amd-shim (contains the following AMD-Modules): aui/dialog, aui/dropdown, aui/message, aui/params, aui/progressive-data-set, aui/popup, aui/tabs, aui/inline-dialog
jira.webresources:jira-analytics-amd (contains the following AMD-Modules): jira/analytics
jira.webresources:util (contains the following AMD-Modules): jira/legacy/meta, jira/ajs/ajax/ajax-util, jira/util/version, jira/data/parse-options-from-fieldset, jira/ajs/persistence, jira/xsrf, jira/ajs/default-custom-event
jira.webresources:jira-urlhelpers (contains the following AMD-Modules): jira/util/urls
com.atlassian.plugin.jslibs:marionette-1.4.1-factory (contains the following AMD-Modules): atlassian/libs/factories/marionette-1.4.1
com.atlassian.plugin.jslibs:brace-2014.09.03-factory (contains the following AMD-Modules): atlassian/libs/factories/brace-2014.09.03
com.atlassian.plugin.jslibs:skate-0.12.6 (contains the following AMD-Modules): atlassian/libs/skate-0.12.6
com.atlassian.plugin.jslibs:backbone-1.0.0-factory (contains the following AMD-Modules): atlassian/libs/factories/backbone-1.0.0
com.atlassian.plugin.jslibs:underscore-1.4.4 (contains the following AMD-Modules): atlassian/libs/underscore-1.4.4
com.atlassian.auiplugin:aui-form-validation (contains the following AMD-Modules): aui/form-validation, aui/form-validation/validator-register
com.atlassian.auiplugin:aui-inline-dialog2 (contains the following AMD-Modules): aui/inline-dialog2

If you use globals, for example AJS.dialog2, instead of

require('aui/dialog2'),

it’s a good time to make these changes.

What will I need to do?

In 4.1, your app should work as expected, but you’ll need to check your dependencies and take the recommended action outlined below. In 4.2, your app might be impacted by these changes, if no action is taken.

Steps to take:

  1. Check that the dependencies your app needs are specified in your web resources. When checking this, consider if these dependencies are necessary, or if they’re negatively impacting load-time performance.
    You can use https://bitbucket.org/atlassianlabs/atlassian-webresource-webpack-plugin to help achieve this.
  2. Check that your app works ‘as expected’ within the new layout. When the service desk admin activates the new layout, the <body> element will contain the class “custom-portal-layout-flag”.

We’ve released an Early Access Program at https://www.atlassian.com/software/jira/download-eap, to give you time to test any changes you make, before general release.

If you have questions

If you have any comments or questions, don’t hesitate in posting them here and we’ll take a look.

Regards,
Lachlan Goodhew-Cook
Senior Developer, Jira Service Desk Team

1 Like