Friday, October 23, 2009

ConfluenceJira integration

It has been so long for not blogging. Yeps, I come back to blog on my integration of Confluence and JIRA using webmethods as the tool. The initialization of the project has been uploaded to my github repository.
* http://github.com/ariemurdianto/ConfluenceJiraWM

In order to integrate between these products of Atlassian. I use webservice which is provided by both Confluence and JIRA. Also, I use email notification which is sent every time certain event is happening on both application. The email notification that I extract the information is email which is generated from add comment and add page. I extract the information from those type of event and integrate Confluence and JIRA.

Let's pick Confluence as an example to describe the way the system that I juscet developed works, You can configure Confluence so that it will notify you when there is someone adding some comment to certain page. When this event happen, then Confluence will send an email notification to the subscriber (Every user can subscribe on certain available space in Confluen). Every certain period of time, the flow service that I developed, will check on the mailbox and then grab the email with certain pattern. If the email notification is adding a page, then the subject of the email will show us that the email is an adding page email. We can see the pattern of the email subject to determine the event being generated in Confluence. After grabbing the email and extract the information, the service will call the webservice of JIRA to create an issue. This process also happens in JIRA wise. When certain event is fired then the email notification will be sent... so on and so forth....

In fetching email from my inbox, I need to create a custom java service as I can not find any service which deals with imap server in developer documentation (I may be missing out some documentation). This custom service does fetch data based on the predefined regular expression and then extract it to be title, space, bodyContent. For detail on the code, it has been uploaded to my guthub repository.

No comments: