1. Introduction

Intended audience

This guide is primarily aimed at developers who want to create or maintain extensions for Project Configurator for Jira (PCJ). The introductory sections may also be useful for product managers who need to decide if and when to create these extensions.

Assumptions

If you are a developer reading this guide, it is assumed that you:

  • are reasonably familiar with Java

  • have some knowledge of how to create a P2 plugin for Jira

Previous experience with the problems that PC addresses (moving Jira configuration changes or projects between instances) or with PCJ itself, though beneficial, is not required.

In the following sections we explain these problems and how PCJ works in resolving them.

How this guide is organized

Section 2 is an overview of how PCJ solves the problem of transferring configuration changes or projects between Jira instances. It also explains how writing an extension for PCJ will extend those benefits to the configuration and data of other apps. While this is a functional reference, it can also be useful for product managers, consultants, or Jira Administrators.

Section 3 explains what types of extensions are available. This section is not solely for developers; anyone involved with configuring Jira will find it useful. The remaining sections are more technical and written specifically for developers who will work to integrate other apps with PCJ:

  • Section 4 discusses common aspects of the different types of PCJ extensions.

  • Sections 5, 6, and 7 discuss workflow, dashboard gadget, and object type extensions respectively. Each contains an integration example with a real app. These sections are complemented by the Javadoc for the "extension-spi" module, however it is best to start reading these three sections and use the Javadoc as a reference.

  • Section 8 discusses possible approaches when testing extensions.

We recommend that developers read at least sections 4 and 8 (skipping sections 5, 6, or 7 if not interested in those types of extensions). Sections 5, 6, and 7 can also be used as reference material in parallel with the Javadocs while coding the first PCJ extension.