Book Image

JIRA Development Cookbook

Book Image

JIRA Development Cookbook

Overview of this book

JIRA provides issue tracking and project tracking for software development teams to improve code quality and the speed of development.This book is your one-stop resource to master JIRA extension and customization. You will learn how to create your own JIRA plugins, customize the look and feel of your JIRA UI, work with Workflows, Issues, Custom Fields, and much more.The book starts with recipes on simplifying the Plugin development process followed by a complete chapter dedicated to the Plugin Framework to master Plugins in JIRA.Then we will move on to writing custom field plugins to create new field types or custom searchers. We then learn how to program and customize Workflows to transform JIRA into a user-friendly system. Reporting support in an application like JIRA is inevitable! With so much data spanning across different projects, issues, etc and a lot of project planning done on it, we will cover how to work on reports and gadgets to get customized data according to our needs. We will then look at customizing the various searching aspects of JIRA such as JQL, searching in plugins, managing filters, and so on. Then the book steers towards programming Issues, i.e. creating/editing/deleting issues, creating new issue operations, managing the various other operations available on issues via the JIRA APIs etc. In the latter half of the book, you will learn how to customize JIRA by adding new tabs, menus, and web items, communicate with JIRA via the REST, SOAP or XML/RPC interfaces, and work with the JIRA database.The book ends with a chapter on useful and general JIRA recipes.
Table of Contents (19 chapters)
JIRA Development Cookbook
Credits
About the Author
Acknowledgment
About the Reviewers
www.PacktPub.com
Preface
Index

Attachments and SOAP


In this recipe, we will see how to add attachments on an issue via SOAP and browse existing attachments.

Getting ready

As in the previous recipes, create a JIRA SOAP client. Also, make sure attachments are enabled on the JIRA instance.

How to do it...

Since JIRA4, attachments are added into an issue using addBase64EncodedAttachmentsToIssue method where as pre JIRA4 addAttachmentsToIssue method was used. The latter is still available though it is deprecated. There is also a known issue with the latter where it fails on large attachments.

Following are the steps to add attachments on an issue using addBase64EncodedAttachmentsToIssue method:

  1. Create a File object using the path of the file to be uploaded. The file should be accessible via a valid URL.

    File file = new File("var/tmp/file.txt");

    The path should be valid in the context.

  2. Read the contents of file into a Byte array:

    // create FileInputStream object
    FileInputStream fin = new FileInputStream(file);
    
    /*
    * Create byte array...