<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Configuration Management and Agile Software Development &#187; Mylyn Project</title>
	<atom:link href="http://accurev.com/blog/tag/mylyn-project/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Thu, 17 May 2012 15:00:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Developer Recipes: AccuRev + JIRA + Eclipse using Mylyn</title>
		<link>http://accurev.com/blog/2008/04/09/developer-recipes-accurev-jira-eclipse-using-mylyn/</link>
		<comments>http://accurev.com/blog/2008/04/09/developer-recipes-accurev-jira-eclipse-using-mylyn/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 17:24:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[best of breed tools]]></category>
		<category><![CDATA[defect tracking]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Mylyn]]></category>
		<category><![CDATA[issue tracking]]></category>
		<category><![CDATA[JIRA]]></category>
		<category><![CDATA[Mylyn Project]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM tools]]></category>
		<category><![CDATA[source code control]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=150</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/04/09/developer-recipes-accurev-jira-eclipse-using-mylyn/' addthis:title='Developer Recipes: AccuRev + JIRA + Eclipse using Mylyn ' ><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">&#124;</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div>Related Recipes: AccuRev + Eclipse + Ruby. In this developer-centric recipe I am going to setup a power-tool trifecta consisting of Eclipse, JIRA, and AccuRev. I&#8217;m not talking about installing each independently. No, no, no. This recipe is going to take things one step further and configure full bidirectional integrations for a wickedly powerful, fully [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/04/09/developer-recipes-accurev-jira-eclipse-using-mylyn/' addthis:title='Developer Recipes: AccuRev + JIRA + Eclipse using Mylyn '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/04/09/developer-recipes-accurev-jira-eclipse-using-mylyn/' addthis:title='Developer Recipes: AccuRev + JIRA + Eclipse using Mylyn ' ><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47597ad291fb" class="addthis_button_compact">Share</a><span class="addthis_separator">|</span><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a></div><p><em>Related Recipes:</em> <a href="http://blog.accurev.com/2007/09/18/accurev-eclipse-ruby/">AccuRev + Eclipse + Ruby</a>.</p>
<p>In this developer-centric recipe I am going to setup a power-tool trifecta consisting of <a title="Eclipse IDE" href="http://www.eclipse.org/" target="_blank">Eclipse</a>, <a title="Atlassian Jira" href="http://www.atlassian.com/software/jira/" target="_blank">JIRA</a>, and <a title="AccuRev Process-Centric SCM" href="http://www.accurev.com" target="_blank">AccuRev</a>. I&#8217;m not talking about installing each independently. No, no, no. <a title="AccuRev + JIRA + Eclipse Screenshot" href="http://www.accurev.com/blog/wp-content/uploads/2008/04/accurev_eclipse_jira_eclipse_screenshot.png" target="_blank"><img style="border: 1px solid #acacac; float: right; margin: 5px 0 5px 10px;" src="http://www.accurev.com/blog/wp-content/uploads/2008/04/accurev_eclipse_jira_eclipse_screenshot.png" alt="AccuRev + JIRA + Eclipse Screenshot" width="156" height="84" title="Developer Recipes: AccuRev + JIRA + Eclipse using Mylyn" /></a>This recipe is going to take things <em>one step further</em> and configure full bidirectional integrations for a <strong><span style="color: #000080;">wickedly powerful</span><span style="color: #000080;">, </span></strong><strong><span style="color: #000080;">fully integrated development environment</span></strong><a title="AccuRev + JIRA + Eclipse Chart" href="http://www.accurev.com/blog/wp-content/uploads/2008/04/accurev_eclipse_jira_chart.png" target="_blank"><img style="border: 1px solid #acacac; float: left; margin: 5px 10pt 5px 0;" src="http://www.accurev.com/blog/wp-content/uploads/2008/04/accurev_eclipse_jira_chart.png" alt="AccuRev + JIRA + Eclipse Chart" title="Developer Recipes: AccuRev + JIRA + Eclipse using Mylyn" /></a><em> </em>where the majority of common day-to-day development tasks can be done right within Eclipse <em>(right picture)</em>. Integrations are the crux of setting up a best-of-breed tool strategy and if you use these three tools you definitely want them talking together <em>(left picture)</em>. Enough chop, let&#8217;s rock.</p>
<h3><span style="color: #ff0000;"><strong>Install Applications</strong></span></h3>
<p>Let&#8217;s start by covering the basics and installing the latest versions of all three tools.</p>
<ol>
<li><strong>Install AccuRev 4.6.x</strong>. <a title="Download AccuRev" href="http://www.accurev.com/downloads.html" target="_blank">download</a>. Follow the install wizard. See the <a title="AccuRev Quick Setup" href="http://www.accurev.com/download/docs/4.6.0_books/AccuRev_Notes.pdf" target="_blank">quick setup guide</a> to import code and setup streams <em>[Windows page 1 / Linux-page 13]</em>.</li>
<li><strong>Install Eclipse 3.3.x</strong>. <a title="Download Eclipse" href="http://www.eclipse.org/downloads/" target="_blank">download</a>. Follow the install wizard. See <a title="Eclipse Documentation" href="http://www.eclipse.org/documentation/" target="_blank">documentation</a> if needed.</li>
<li><strong>Install JIRA 3.12.x</strong>. <a title="Download JIRA" href="http://www.atlassian.com/software/jira/download" target="_blank">download</a>. Follow these <a title="Install JIRA" href="http://www.atlassian.com/software/jira/docs/latest/" target="_blank">instructions</a>.</li>
</ol>
<p>At this point, you have three independent tools installed. Developers can checkin/checkout code from AccuRev, use Eclipse to modify the source code, and track bug/feature development with JIRA. In all, not a bad setup. But toggling between all these tools just takes valuable time away from coding and there is no mashing of logically related meta-data to generate useful reports&#8230; such as:</p>
<ul>
<li><span style="color: #000000;">&#8220;W</span><span style="color: #000000;">hich files/lines fixed issue #1234?&#8221;</span></li>
<li><span style="color: #000000;">&#8220;W</span><span style="color: #000000;">as bug #5678 fixed in mainline, 2.x, and 1.x codelines?&#8221;</span></li>
<li><span style="color: #000000;">&#8220;</span><span style="color: #000000;">Release is this Friday. How many issues are unresolved in the QA area and who are we waiting on?&#8221;</span></li>
<li><span style="color: #000000;">&#8220;W</span><span style="color: #000000;">hich fixes went into Release 4.5.101?&#8221;</span></li>
<li><span style="color: #000000;">&#8220;If I start working on the 4.x codeline, which known fixes will I be compiling against?&#8221; </span></li>
</ul>
<h3><span style="color: #ff0000;"><strong>Integrate Eclipse + AccuRev </strong></span></h3>
<p>Let&#8217;s eliminate jumping between Eclipse and the AccuRev CLI or StreamBrowser GUI. Rather, why not just keep/promote/update/merge directly within Eclipse. You can install our native Eclipse plugin via the Eclipse software updater.</p>
<ol>
<li>Help &#8211;&gt; Software Updates &#8211;&gt; Find/Install</li>
<li>Select &#8216;Seach for new features to install&#8217;</li>
<li>Create &#8216;New Remote Site&#8217; named &#8216;<em>AccuRev&#8217; </em>with URL <em>http://www.accurev.com/download/eclipseupdate/32</em></li>
<li>Checkbox &#8216;AccuRev&#8217; and select Finish</li>
</ol>
<p>When you create a new Project, choose to &#8220;Checkout from AccuRev.&#8221; Now the Eclipse &#8216;Team&#8217; menu has a sleu of AccuRev commands available for inline use and your file navigator has icons for <a href="http://www.accurev.com/accurev-version-control.html" target="_blank">version control</a> status. Sweet. <em>Note: there is an AccuRev quickstart PDF located in your Eclipse plugin directory (e.g. /opt/eclipse/plugins/com.accurev.eclipse_4.6.1.32/UsingAB4Eclipse.pdf).</em></p>
<h3><span style="color: #ff0000;"><strong>Integrate Eclipse + JIRA</strong></span></h3>
<p>Have you heard of the <a title="Eclipse Mylyn Project" href="http://www.eclipse.org/mylyn/" target="_blank">Eclipse Mylyn</a> project? Seriously, it&#8217;ll bring a tear to your eye. In short, Mylyn is a generic framework for &#8216;task management&#8217; within Eclipse and has a number of connectors to tools like JIRA, Bugzilla, and Trac. Guess what? You can interact with JIRA directly within Eclipse. It&#8217;s sick! seriously. Once again, you can install directly from the Eclipse software updater. First install the Mylyn framework and then the JIRA connector.</p>
<ol>
<li><strong>Install Mylyn 2.0</strong>. Follow this <a title="Eclipse Mylyn Setup Guide" href="http://www.eclipse.org/mylyn/downloads/" target="_blank">setup guide</a>. Basically, just like the AccuRev plugin above, create a remote updater site with this URL: <em>http://download.eclipse.org/tools/mylyn/update/e3.3</em></li>
<li><strong>Install JIRA Connector</strong>. Follow the short <a title="JIRA Connector for Mylyn 2.0" href="http://confluence.atlassian.com/display/JIRAEXT/Mylyn" target="_blank">setup guide</a> provided by Atlassian.</li>
</ol>
<p>As a developer, your world just got a whole lot better. Not only can you commit/update file changes directly within AccuRev, now you can open/close/update JIRA issues all without leaving Eclipse. Nuts!</p>
<h3><span style="color: #ff0000;"><strong>Integrate AccuRev + JIRA</strong></span></h3>
<p>The final piece to the puzzle. Wait? What does hooking AccuRev to JIRA actually mean?!</p>
<p><em>Lets take a step back.</em> Back in the day, using one of those other traditional <a href="http://www.accurev.com/scm_comparisons.html" target="_blank">branch-based SCM tools</a>, you probably entered your bug #id into the commit comment. Commit 10 files. Enter bug #1234. Commit another 7 files. Enter same bug #1234. Very loose. And you probably had some validation and reporting scripts all stacked on top to keep things (hobbled) together. At the end of the day, this was far from a &#8216;tight&#8217; integration and a struggle to maintain and enforce. Answering the simple question &#8220;which files -and- lines were fixed for bug #1234&#8243; was not easy (probably impossible!).</p>
<p><em>AccuRev Change Packages.</em> AccuRev has an out-of-the-box feature called Change Packages that natively tracks a set of files (as patches) regardless of the number of commits. Change packages are first class citizens in AccuRev. You can promote multiple times to the same change package and even remove files. <strong><span style="color: #ff6600;">The trick is to understand that a change package has a 1-to-1 relationship with&#8230; an issue! </span></strong>And those issues can come from JIRA. So as you work in your AccuRev workspace coding day-to-day you can promote your changes and assign them to a JIRA issue. Then make more changes and promote to the same issue. <strong><span style="color: #000080;">Think of it like this:</span></strong> creating a feature or fix may take 1 day or 100 days; 1 commit or 50 commits; Change packages don&#8217;t care. They just track the current set of files that you claim are &#8216;logically&#8217; related as part of a fix or feature. That&#8217;s it! I&#8217;ll keep this short, but basically, you can now use the change package / issue as a <em>new, first-class currency</em> for promoting further up and/or patching those changes to other codelines! It&#8217;s very powerful. See pg 33 of our <a title="AccuRev Change Package Concepts" href="http://www.accurev.com/download/docs/4.6.0_books/AccuRev_Concepts.pdf" target="_blank">Concepts Guide</a> for details. But I digress.</p>
<p><em>Back to the recipe.</em> Hooking up AccuRev and JIRA means that AccuRev receives issues from JIRA and JIRA receives meta-data such as fixed files and versions for each issue. The setup requires our own connector technology called <a title="AccuBridge for JIRA" href="http://www.accurev.com/accubridge-jira.html" target="_blank">AccuBridge for JIRA</a>. It&#8217;s pretty easy to setup and simply requires mapping JIRA fields to AccuRev fields and setting up the data synchronization. There is a well written &#8216;quick start&#8217; guide to walk you through the entire setup process.</p>
<ol>
<li><strong>Install AccuBridge for JIRA</strong>. <a title="AccuBridge for JIRA Download" href="http://www.accurev.com/download_ab_2008_1.htm" target="_blank">download</a> (link half-way down). Follow the setup guide located in the download package: <em>doc/ais4jira_quick.pdf. <span style="color: #ff0000;">[Note: Additional licensing may be required] </span></em></li>
<li><strong>Enable Change Packages. </strong>See pg 75 of the<a title="AccuRev Admin Guide" href="http://www.accurev.com/download/docs/4.6.1_books/AccuRev_Admin.pdf" target="_blank"> Admin Guide</a>. Basically, you need to tell AccuRev &#8216;when&#8217; to prompt users for issues, &#8216;which&#8217; issues to query for, and which data columns to display in the lists.<em> <span style="color: #ff0000;">[Note: AccuRev Enterprise Edition is required]</span></em></li>
</ol>
<p>At this point, developers are promoting file changes to JIRA issues and JIRA can report on &#8216;who&#8217; fixed &#8216;which&#8217; files for any given bug/feature/task. Now that&#8217;s what I call traceability!</p>
<h3><span style="color: #ff0000;"><strong>All Together Now!</strong></span></h3>
<p>With everything hooked up, what do we have? Simple. <a title="AccuRev + JIRA + Eclipse Screenshot" href="http://www.accurev.com/blog/wp-content/uploads/2008/04/accurev_eclipse_jira_eclipse_screenshot.png" target="_blank"><img style="border: 1px solid #acacac; float: right; margin: 5px 0 5px 10px;" src="http://www.accurev.com/blog/wp-content/uploads/2008/04/accurev_eclipse_jira_eclipse_screenshot.png" alt="AccuRev + JIRA + Eclipse Screenshot" width="156" height="84" title="Developer Recipes: AccuRev + JIRA + Eclipse using Mylyn" /></a>As a developer you can do just about everything directly within Eclipse. Edit files. Commit and update changes from AccuRev. Create issues and update comments/status/fields in JIRA. And behind the scenes, the JIRA records are being annotated by AccuRev as files are promoted out of Eclipse. Eclipse is your one-stop-shop workbench for developing, tracking changes, and managing task workflow <em>(see picture)</em>.</p>
<p>Next we&#8217;ll add a build tool to the mix that integrates with AccuRev, JIRA, and Eclipse&#8230; But that&#8217;s for another day. Sounds great though, doesn&#8217;t it!</p>
<p>/happy coding/ &#8211; dave</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://accurev.com/blog/2008/04/09/developer-recipes-accurev-jira-eclipse-using-mylyn/' addthis:title='Developer Recipes: AccuRev + JIRA + Eclipse using Mylyn '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2008/04/09/developer-recipes-accurev-jira-eclipse-using-mylyn/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

