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.

Sunday, October 11, 2009

integrate Confluence and JIRA using webmethods

I am planning to integrate Confluence and JIRA. The basic idea of this integration is every time one of those products get updated, then the update will be taking effect to the other product. The updating that I mean is creating an issue in JIRA, giving a comment in JIRA.

The current thought of this integration is:
1. if user creates an issue in JIRA then Confluence should be created a page with the page content is the same as the description of the issue.
2. if user creates a page in Confluence, JIRA should be created an issue as well.
3. if user add a comment to some page in Confluence, JIRA should be able to get the comment added to the relevant isssue.
4. if user add a comment to some issue in JIRA, Confluence should be able to the the comment added to the relevant page.

The integration tool that I use is webmethods and mule.
On regard of the progress. let's see later on the next post.

Tuesday, September 15, 2009

Migrate MySQL to postgres

I just googled around on how to do migration from MySQL to postgresql. I ended up with unavailable script of phyton. However, I found Use mysql-postgresql-wizard of component EnterpriseDB which can be used to . You can download the source from here:

http://downloads.enterprisedb.com/src/mysql_pg_wizard_src.zip

You need to download Apache Ant to build the source. I use Apache Ant 1.7.0. Use the following command on how to build the jar file:

ant dist

Executing the above command will produce a jar file which is MigrationWizard.jar. To get the wizard of migrating the mysql to postgres, you need to execute the jar file using the following command in the /dist directory:

java -jar MigrationWizard.jar

The following wizard should be poped up once you execute the above command.

Tuesday, August 18, 2009

Event Handler on jQuery

Just tried to implement event handler in jQuery. The first impression that I have is simple, easy and straight forward. Yeps, what do you need to do is just binding event name with certain function and then of course, you need to trigger the event.

Below is an example on how to bind the certain object in javascript using jQuery:

$(document).bind('kampred.facebox', function(){
alert("si kampred");
});

The above will bind event named kampred.facebox to object document. In order to call this event and let the handler execute the function. What you need to do is to trigger it. Below is the example on how to do it.

$(document).trigger('kampred.facebox');

Calling the above line, will trigger the event kampred.facebox. Of course, it will prompt you an alert box. Its simple, isnt it.