The downside of using com.atlassian.jira.jira-core dependency?

Harald Ratzberger July 21, 2017

When the SDK creates a plugin, it comment the com.atlassian.jira.jira-core dependency:

<!-- Add dependency on jira-core if you want access to JIRA implementation classes as well as the sanctioned API. -->
<!-- This is not normally recommended, but may be required eg when migrating a plugin originally developed against JIRA 4.x -->
<!--
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-core</artifactId>
<version>${jira.version}</version>
<scope>provided</scope>
</dependency>
-->

Why is this normally not recommended and what are the downsides?

I want to use SelectCFType from it.

Thx

 

1 answer

1 accepted

2 votes
Answer accepted
Gaston Valente
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 23, 2017

Harald,

Getting that dependency allows your code to reference direct classes at a lower level that the recommended by using services and manager interfaces.

I think that the downside is related to the grade of coupling your code will had with atlassian's api.

Sometimes, if you need to reference concrete classes, for example to inherit from them, this is required.

Just for you to know, i just try to remove this dependency in a custom mail handler i have that uses SelectCFType:

<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-core</artifactId>
<version>${jira.version}</version>
<scope>provided</scope>
</dependency>

Then i cannot use concrete classes:

Screen Shot 2017-07-23 at 22.29.33.png 

 

Harald Ratzberger July 24, 2017

Good answer. Loose coupling always makes sense. Even if the Jira Core classes will not change very frequently. Thx

Suggest an answer

Log in or Sign up to answer