{"id":6742,"date":"2014-03-18T05:55:51","date_gmt":"2014-03-18T12:55:51","guid":{"rendered":"http:\/\/localhost\/exoblog\/?p=6742"},"modified":"2023-06-05T16:51:08","modified_gmt":"2023-06-05T14:51:08","slug":"mash-activity-streams-jira-sonar-jenkins","status":"publish","type":"post","link":"https:\/\/www.exoplatform.com\/blog\/mash-activity-streams-jira-sonar-jenkins\/","title":{"rendered":"How to Mash-up Activity Streams from Jira, Sonar and Jenkins"},"content":{"rendered":"<p>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.<\/p>\n<p>We want to integrate events from the tools that are used by the development team:<\/p>\n<ul>\n<li>Our task manager: <a href=\"https:\/\/jira.exoplatform.org\/browse\/PLF\" target=\"_blank\" rel=\"noopener\">Jira<\/a><\/li>\n<li>Our code quality tool: <a href=\"https:\/\/sonar.exoplatform.org\/\" target=\"_blank\" rel=\"noopener\" class=\"broken_link\">Sonar<\/a><\/li>\n<li>Our building system: Jenkins<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<h2>Create the space and configure it<\/h2>\n<p>We need to create a space for the eXo Platform Development Team members to share:<\/p>\n<ul>\n<li>From the home page go to \u201cMy Spaces\u201d.<\/li>\n<li>Create a new space and call it <i>eXo Platform Development<\/i>.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6750\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space.png\" alt=\"01-xadd-new-space\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space.png 1047w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-300x165.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-1024x562.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-768x422.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-720x395.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-500x275.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-360x198.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-200x110.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-100x55.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/01-xadd-new-space-55x30.png 55w\" sizes=\"(max-width: 1047px) 100vw, 1047px\" \/><\/a><\/p>\n<ul>\n<li>Switch to the \u201cInvite users from group\u201d tab and add the development team as the space\u2019s members.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6749\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members.png\" alt=\"02-xinvite-members\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members.png 1047w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-300x164.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-1024x561.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-768x421.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-720x395.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-500x274.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-360x197.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-200x110.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-100x55.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/02-xinvite-members-55x30.png 55w\" sizes=\"(max-width: 1047px) 100vw, 1047px\" \/><\/a><\/p>\n<ul>\n<li>The Dashboard application is not present by default, so let\u2019s add it into your new space:<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6748\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard.png\" alt=\"03-xcreate-dashboard\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard.png 1037w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-300x179.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-1024x611.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-768x458.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-720x430.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-500x298.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-360x215.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-200x119.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-100x60.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/03-xcreate-dashboard-50x30.png 50w\" sizes=\"(max-width: 1037px) 100vw, 1037px\" \/><\/a><\/p>\n<ul>\n<li>1\/ Go to \u201cSpace Settings\u201d.<\/li>\n<li>2\/ Click on the \u201cApplications\u201d tab.<\/li>\n<li>3\/ Click \u201cAdd Application\u201d.<\/li>\n<li>4\/ Select the \u201cTools\u201d category.<\/li>\n<li>5\/ Select \u201cDashboard\u201d and click \u201cAdd\u201d.<\/li>\n<\/ul>\n<p>Now we will add the gadgets to track our development:<\/p>\n<ul>\n<li>Go to the \u201cDashboard\u201d and click on \u201cAdd Gadgets\u201d.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-xadd-gadgets.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6747\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/04-xadd-gadgets.png\" alt=\"04-xadd-gadgets\" width=\"650\"><\/a><\/p>\n<ul>\n<li>Enter the following URL into the text box and click on the <b>+<\/b> button: <a href=\"https:\/\/raw.github.com\/exo-addons\/resource-center\/master\/jira-sonar-hudson-gadget\/sonar-gadget.xml\" target=\"_blank\" rel=\"noopener\">https:\/\/raw.github.com\/exo-addons\/resource-center\/master\/jira-sonar-hudson-gadget\/sonar-gadget.xml<\/a><\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-xenter-gadgets-url.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6746\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/05-xenter-gadgets-url.png\" alt=\"05-xenter-gadgets-url\" width=\"650\"><\/a><\/p>\n<ul>\n<li>In the list, select the eXo Platform project and save.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-xsave-gadget-preferences.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6745\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/06-xsave-gadget-preferences.png\" alt=\"06-xsave-gadget-preferences\" width=\"650\"><\/a><\/p>\n<p>Then repeat these steps for the Jira gadget:<br \/>\n<a href=\"https:\/\/raw.github.com\/exo-addons\/resource-center\/master\/jira-sonar-hudson-gadget\/activitystream-gadget.xml\" target=\"_blank\" rel=\"noopener\">https:\/\/raw.github.com\/exo-addons\/resource-center\/master\/jira-sonar-hudson-gadget\/activitystream-gadget.xml<\/a><br \/>\nand the Jenkins gadget:<br \/>\n<a href=\"https:\/\/raw.github.com\/exo-addons\/resource-center\/master\/jira-sonar-hudson-gadget\/jenkins-gadget.xml\" target=\"_blank\" rel=\"noopener\">https:\/\/raw.github.com\/exo-addons\/resource-center\/master\/jira-sonar-hudson-gadget\/jenkins-gadget.xml<\/a><\/p>\n<p>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.<\/p>\n<p>The result looks like this:<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-xgadget-results.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6744\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/07-xgadget-results.png\" alt=\"07-xgadget-results\" width=\"650\"><\/a><\/p>\n<h2>Integrate data into the activity stream of a space<\/h2>\n<p>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.<\/p>\n<p>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 <i>gatein\/conf\/portal\/portal\/<\/i><br \/>\n<a href=\"https:\/\/raw.github.com\/exo-addons\/resource-center\/master\/jira-sonar-hudson-gadget\/configuration.xml\" target=\"_blank\" rel=\"noopener\">https:\/\/raw.github.com\/exo-addons\/resource-center\/master\/jira-sonar-hudson-gadget\/configuration.xml<\/a><\/p>\n<p>If the file already exists there, you can easily add the configuration into it.<\/p>\n<p>Our activity stream should now look like this:<\/p>\n<p><a href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6743\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result.png\" alt=\"08-xactivity-stream-result\" width=\"650\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result.png 1041w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-300x185.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-1024x632.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-768x474.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-720x444.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-500x308.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-360x222.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-200x123.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-100x62.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/03\/08-xactivity-stream-result-49x30.png 49w\" sizes=\"(max-width: 1041px) 100vw, 1041px\" \/><\/a><\/p>\n<h2>Summary<\/h2>\n<p>We\u2019ve 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\u2019s 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.<\/p>\n<p><!--begin adv-events--><\/p>\n<div class=\"adv-events\" style=\"background: #476fad; padding: 30px 20px; color: white; border-radius: 3px;\">\n<div class=\"media\">\n<div class=\"pull-right\"><a href=\"#\"><br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-6587 alignright\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2014\/02\/how-to-make-the-most-of-eXo-platform41.png\" alt=\"make-the-most-out-of-eXo-platform4\" width=\"161\" height=\"85\"><br \/>\n<\/a><\/div>\n<div class=\"media-body\">\n<h4 class=\"media-heading\">Make the most out of eXo Platform 4<\/h4>\n<p>Register to the next webinar and get a complete overview of what you can do with eXo Platform 4. <strong><a href=\"https:\/\/www.exoplatform.com\/contact-us\/?utm_source=BlogEn&amp;utm_medium=Blog&amp;utm_campaign=Content&amp;utm_content=link\">Reserve your seat now!<\/a><\/strong><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!--end adv-events--><\/p>\n","protected":false},"excerpt":{"rendered":"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: Our task manager: Jira Our code quality tool: Sonar Our building [&hellip;]","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[699],"tags":[],"lang":"en","translations":{"en":6742},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/6742"}],"collection":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/comments?post=6742"}],"version-history":[{"count":0,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/6742\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/media?parent=6742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/categories?post=6742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/tags?post=6742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}