Provides a Kotlin client for interaction with Atlassian Jira. It provides management functionality for
- comments,
- issues,
- transitions,
- users and
- projects.
The client is provided in two different variants:
Variant | SDK | HTTP |
---|---|---|
Scope of application | Jira-Plugin | Any |
Implementation | Atlassian Jira SDK libraries | Ktor or Atlassian Applink |
Advantages/Disadvantages | + Fast - Limited to Jira-Plugins |
+ Usable everywhere - Comparatively slow |
The plugin is available on Maven Central. First you need to define a dependency to the desired variant and initialize your client as described in the sections below. Then you can simply use the client as it's shown in JiraClientTest.
SDK | |
---|---|
Scope of application | Jira-Plugin |
Implementation | Atlassian Jira SDK libraries |
Advantages/Disadvantages | + Fast - Limited to Jira-Plugins |
Add the following dependency to your pom.xml
:
<dependency>
<groupId>com.linked-planet.client</groupId>
<artifactId>kotlin-jira-client-sdk</artifactId>
<version>${jira.client.version}</version>
</dependency>
For client initialization take a look at the JiraSdkClientTest.
Variant | HTTP |
---|---|
Scope of application | Any |
Implementation | Ktor or Atlassian Applink |
Advantages/Disadvantages | + Usable everywhere - Comparatively slow |
The HTTP variant requires an implementation of the kotlin-http-client
.
The usage of kotlin-http-client-atlas
is limited to Atlassian applications which have an application link to the
desired Jira instance.
Specify the following dependency for usage:
<dependency>
<groupId>com.linked-planet.client</groupId>
<artifactId>kotlin-jira-client-http</artifactId>
<version>${jira.client.version}</version>
</dependency>
<dependency>
<groupId>com.linked-planet.client</groupId>
<artifactId>kotlin-http-client-atlas</artifactId>
<version>${http.client.version}</version>
</dependency>
For client initialization take a look at the JiraApplinkClientTest.
kotlin-http-client-ktor
uses Ktor for HTTP communication and can be used in every environment.
Specify the following dependency for usage:
<dependency>
<groupId>com.linked-planet.client</groupId>
<artifactId>kotlin-jira-client-http</artifactId>
<version>${jira.client.version}</version>
</dependency>
<dependency>
<groupId>com.linked-planet.client</groupId>
<artifactId>kotlin-http-client-ktor</artifactId>
<version>${http.client.version}</version>
</dependency>
For client initialization take a look at the JiraKtorClientTest.
The project is structured using multiple Maven modules.
- kotlin-jira-client-api: Provides the interfaces of the client. Always implement using classes from this package.
- kotlin-jira-client-http: Implements the client's interfaces using a kotlin-http-client.
- kotlin-jira-client-sdk: Implements the client's interfaces using several Atlassian Jira SDK libraries.
- kotlin-jira-client-test-base: Defines several test cases to verify the client functionality. All those test cases are used in the following modules.
- kotlin-jira-client-test-applink: Tests the
kotlin-jira-client-http
withkotlin-http-client-atlas
in a Confluence Plugin that is connected to Jira via an Applink - kotlin-jira-client-test-ktor: Tests the
kotlin-jira-client-http
withkotlin-http-client-ktor
using Ktor - kotlin-jira-client-test-sdk: Tests the
kotlin-jira-client-sdk
in a Jira Plugin
- Start Jira using the sdk__jira:debug configuration.
- Update Jira Base Url
- Add Licenses for Jira Service Management from pass. Add the different License for Jira Core.
- Install the "Jira Software Application"
- Create a new Scrum software development Project named "Test" (If it is not available, go back one step)
- Change Workflow to All->TO DO---Do it--->In PROGRESS---Did it--->DONE
- Reindex (System -> Re-Indexing)
- Add InsightObject as CustomField
- Create Insight Object Schema ITest with Key "IT"
- Create Object Type "Company"
- Create a Company "Test GmbH" (must have "IT-1" as key)