How to Mash-up Activity Streams from Jira, Sonar and Jenkins
We are going to build a space that follows the development of a piece of software. We are going to take as an example the development of eXo Platform.
We want to integrate events from the tools that are used by the development team:
Create the space and configure it
We need to create a space for the eXo Platform Development Team members to share:
- From the home page go to “My Spaces”.
- Create a new space and call it eXo Platform Development.
- Switch to the “Invite users from group” tab and add the development team as the space’s members.
- The Dashboard application is not present by default, so let’s add it into your new space:
- 1/ Go to “Space Settings”.
- 2/ Click on the “Applications” tab.
- 3/ Click “Add Application”.
- 4/ Select the “Tools” category.
- 5/ Select “Dashboard” and click “Add”.
Now we will add the gadgets to track our development:
- Go to the “Dashboard” and click on “Add Gadgets”.
- Enter the following URL into the text box and click on the + button: https://raw.github.com/exo-addons/resource-center/master/jira-sonar-hudson-gadget/sonar-gadget.xml
- In the list, select the eXo Platform project and save.
Then repeat these steps for the Jira gadget:
and the Jenkins gadget:
For the Jenkins gadget, you need to edit the preferences of the gadget to change the project and enter the url of the Jenkins page you want to follow.
The result looks like this:
Integrate data into the activity stream of a space
Thanks to the extensibility of eXo Platform, we can republish feeds into different stream. The Feedmash service is an extensible service that can take an RSS feed and push the entries into the activity stream of a user or a space. By default, eXo Platform has two of them: Jira and Jenkins.
To configure Feedmash, you need to add JiraFeedConsumer and HudsonFeedConsumer as scheduled jobs (FeedmashJobPlugin). Use the configuration.xml file as a sample and put it into gatein/conf/portal/portal/
If the file already exists there, you can easily add the configuration into it.
Our activity stream should now look like this:
We’ve shown you how to build a customized space that meets the needs of a typical developer team. We added gadgets to a shared dashboard giving the development status and the project’s events, and republished the information into an activity stream as well. You can now start to create your own spaces and customize them to meet your specific needs.