Preparing for Jira Software 10.0 and Jira Service Management 6.0 - multiple EAPs coming your way

Hi,

Can you please help me find out what’s wrong with my plugin. Nothing is emitted in the logs other than

[INFO] [talledLocalContainer] JIRA plugin: There was a problem loading the module descriptor: com.myapp.jira.plugin.ViewerPanel. Unable to enable web fragment

I’ve also tried

<Import-Package>
   org.springframework.osgi.*;resolution:="mandatory",
...

But I get Unused Import-Package instructions: [org.springframework.osgi.*]

How can I get more info about why the plugin is not enabled?

Thanks

@rlander , @adam.labus ,
I have rerun the artifacts promotion process one more time for the 10.0.0-m0004 release and I believe all the missing artifacts have now been promoted to the public repo. In particular, com.atlassian.jira:jira-internal-bom:10.0.0-QR-20240417132847 is now available at maven-external .
Could you please try again to see if your issue with the missing dependencies is resolved?

Cheers,
Leo

Hi @lvysochyn

thank you, everything seems to be working fine now :slight_smile:

Can you please answer why I need to add a version of this artifact on Platform 7?

<dependency>
    <groupId>com.atlassian.jira</groupId>
    <artifactId>jira-projects-plugin</artifactId>
    <version>10.0.0-fb408b0b3</version> <------ THIS
    <scope>provided</scope>
</dependency>

Cheers
Adam

Hi @adam.labus !

Please use jira-projects-api which should not require a version if you have

            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-api-bom</artifactId>
                <version>${jira.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>

in your dependencyManagement, as it’s defined there.

If you really have to depend on the whole plugin, you can also add

            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-bundled-plugins-bom</artifactId>
                <version>${jira.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>

which defines versions of all the bundled plugins - just note that it might be potentially unstable.

1 Like

Hi @FilipNowak

thank you, this solves my problem with imports

com.atlassian.jira.projects.shortcuts.ProjectShortcut;
com.atlassian.jira.projects.shortcuts.ShortcutsService;

Cheers
Adam

Hi,

A little question about jira-api 10.0.0-m0004.
Is it normal that there is a direct dependency on atlassian-core 8.1.0 ?

[INFO] +- com.atlassian.jira:jira-api:jar:10.0.0-m0004:provided
[INFO] |  +- com.atlassian.annotations:atlassian-annotations:jar:4.0.2:provided
[INFO] |  +- com.atlassian.ofbiz:entityengine-share:jar:3.0.11:provided
[INFO] |  +- com.atlassian.ofbiz:entityengine:jar:3.0.11:provided
[INFO] |  +- com.atlassian.collectors:atlassian-collectors-util:jar:1.1:provided
[INFO] |  +- opensymphony:webwork:jar:1.4-atlassian-31:provided
[INFO] |  |  \- com.atlassian.html:atlassian-html-encoder:jar:1.4:provided
[INFO] |  +- webwork:pell-multipart-request:jar:1.31.0:provided
[INFO] |  +- com.atlassian.core:atlassian-core:jar:8.1.0:provided

Hi, team. I am sharing a quick update from our content design team.

The announcements and information about JSW10/JSM6 published thus far in the changelog have found a new home at https://developer.atlassian.com/server/jira/platform/preparing-for-jsw-10-jsm-6/.

Additionally, there’s a list of all breaking changes to the Java and REST APIs introduced in Jira Software 10.0 and Jira Service Management 6.0 , which collects all the breaking changes published through individual changelog items since the first EAP.

Finally, the Latest EAPs section has also been updated.

From now on, content about changes to the upcoming EAPs will be published this way. The changelog will only contain an announcement linking to the Preparing for page on DAC.

I hope this change will make finding relevant information more accessible for you.

Cheers

The Jira team

4 Likes

awesome! :rocket: :100: :slight_smile:

Awesome, thks!

To resolve several security vulnerabilities, the JDBC driver for the H2 database engine is no longer bundled with Jira Software 10.0 and Jira Service Management 6.0. This means that we’re removing it from the list of supported platforms. Additionally, you’ll no longer be able to evaluate Jira Software 10.0 and Jira Service Management 6.0 using H2.

How much H2 removal impact the integrations tests ? Thus, testkit provides apis or feature to use a database such as postgreql during test if H2 is removed.

Thanks,

:new_moon: Dark Mode / Theme question / bug

I have made my App dark mode compatible and I use AtlasKit in my Jira DC app.
I it generally works fine, but I have multiple questions

What is the “original” theme, and why does it differ so much?

I am having three strange behaviors of the “original” theme in Jira:

:one: Atlaskit Textfields get red borders:

  • I think there is a variable missing in original theme for ${token('color.background.accent.gray.subtle', '#ff0000')

:two: Box Shadow is missing (I am using CSS vars here --ds-shadow-raised)

how it looks with “original”:

how it looks with “light”:

Also when using border-left: 3px solid var(--ds-border-accent-orange); the border simply disappears, but all other colors stay … weird.

Would be great to know what else there is different between light and original :slight_smile:

IIRC, original is simply “no tokens”, so it relies purely on your fallbacks.

1 Like

Hi! Thank you for the feedback!

Original theme has the same colors as before the dark theme has been introduced and it does not use design tokens. Because of that, when it’s active, design tokens are not available and hardcoded color values passed as a fallback are being used instead. So all you have to do is to slightly adjust the rules, e.g.

border-left: 3px solid var(--ds-border-accent-orange, #ffa500)
box-shadow: var(--box-shadow-raised, 0px 1px 1px rgba(9, 30, 66, 0.25),0px 0px 1px rgba(9, 30, 66, 0.31))

You can find more useful information in this guide: https://developer.atlassian.com/platform/marketplace/dc-apps-preparing-for-dark-theme

3 Likes

hello @FilipNowak I tried your suggestions it seems I’m in the right direction but still got this no class found exception again but this time its on a class that belongs to “atlassian-rest-common”
image
cheers

1 Like

Hi @GenGulay1

for Jira 10 try this class

import com.atlassian.plugins.rest.api.multipart.FilePart;

Cheers

1 Like

hello @adam.labus, I migrated all my instances of “FilePart” and was able to now build but upon installing I get this error, it seems this time it cant find class “javax.ws.rs.core.Response”, since I’m using this class too in my plugin and Jira obviously uses it, it seems I’m into another version conflict error here

Hi @GenGulay1

have you migrated all dependencies to Platform 7 ? → https://developer.atlassian.com/platform/marketplace/dc-apps-platform-7/#moved-to-jakarta-dependencies

Cheers
Adam

1 Like

Since EAP04 is out CHANGE-1727 can you please confirm that the UBI images are also published, thanks.

What is missing is:

atlassian/jira-software:10.0.0-EAP04-ubi9-jdk17

thanks :slight_smile:

@FilipNowak Could you take this to the internal team responsible, thanks. I am depending on the UBI images, thanks.

It also looks like that published images are bundled with jdk11, which might be the reason why I’m having this issue:

03-Jun-2024 16:42:59.628 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
03-Jun-2024 16:42:59.639 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
1 Like

Platform 7 question. How will stuff that requires gray API classes like the JiraThreadLocalUtil behave when classes from log4j is no longer provided? Will it instead be able to receive an slf4j logger, or perhaps delegate a logger internally and instead receive a classname?