-
Book Overview & Buying
-
Table Of Contents
JIRA Development Cookbook
Now that we have deployed the test plugin, it is time to add some proper logic, re-deploy the plugin, and test it. Making the changes and re-deploying a plugin is pretty easy. In this recipe, we will quickly look at how to do this.
You can make changes to the plugin and re-deploy it while the JIRA application is still running. Here is how we do it:
Keep the JIRA application running in the window where we ran atlas-run.
Open a new command window and go to the root plugin folder where your pom.xml resides.
Run atlas-cli.
Wait for the command—Waiting for messages.
Run pi. Pi stands for "plugin install" and this will compile your changes, package the plugin JAR, and install it into the installed-plugins folder.
Now, there is one thing you need to keep an eye on! Not all the plugin modules can be redeployed like this prior to JIRA 4.4. The following is a list of the plugin modules that can be reloaded with pi in JIRA 4.0.x:
ComponentImport
Gadget
ModuleType
Resource
REST
ServletContextListener
ServletContextParameter
ServletFilter
Servlet
WebItem
WebResource
WebSection
If your plugin module is not there in the preceding list or if the changes doesn't seem to be reflected, press Ctrl + C in the command window running atlas-run and re-run the atlas-run command. That will re-deploy the plugin and restart JIRA.
Post JIRA 4.1, SDK supports reloading of more modules, but whether it works or not depends on what the module does internally.
JIRA 4.4+ supports reloading of all the plugin modules.
It is also possible to run the plugin in debug mode and point your IDE's remote debugger to it.
Following are the steps to do this in Eclipse:
Use atlas-debug instead of atlas-run.
Once the virtual JIRA is up and running with tour plugin deployed in it, go to Run | Debug Configurations in Eclipse.
Create a new Remote Java Application.
Give a name, keep the defaults, and give the port number as 5005. This is the default debug port on which the virtual JIRA runs.
Happy Debugging!
Setting up the development environment
Creating a skeleton plugin
Change the font size
Change margin width
Change background colour