eclipse mylyn tutorial en v1.3 20100911
TRANSCRIPT
Context-Based Development with
Eclipse Mylyn - Tutorial
Oliver Burkhalter
Berne, 11.09.2010
ii
Contents
Contents ...................................................................................................................................................ii
List of figures ........................................................................................................................................... iv
1 Introduction ....................................................................................................................................... 5
2 Setup .................................................................................................................................................. 6
2.1 Requirements .............................................................................................................................. 6
2.2 Installation .................................................................................................................................. 6
2.2.1 Mylyn Update-Url ................................................................................................................. 6
2.2.2 Mylyn Weekly Update-Url .................................................................................................... 6
2.2.3 Atlassian Eclipse Connector .................................................................................................. 7
2.2.4 Subclipse ............................................................................................................................... 8
2.2.5 Subversive ............................................................................................................................. 8
2.3 Tipps and Tricks ......................................................................................................................... 11
2.3.1 Eclipse settings for big workspaces .................................................................................... 11
2.3.2 Problems with installing the Eclipse plugins ....................................................................... 11
3 Step-by-Step Tutorial ....................................................................................................................... 12
3.1 Task-List ..................................................................................................................................... 12
3.1.1 Activate task list .................................................................................................................. 12
3.1.2 Create local tasks ................................................................................................................ 13
3.1.3 Repository tasks .................................................................................................................. 16
3.1.4 Activate tasks ...................................................................................................................... 17
3.2 Show, filter, sort and manage tasks .......................................................................................... 18
3.2.1 Create categories ................................................................................................................ 18
3.2.2 Filter tasks ........................................................................................................................... 18
3.2.3 Scheduled task view ............................................................................................................ 19
3.2.4 Create task working set ...................................................................................................... 20
3.2.5 Track working time of a task ............................................................................................... 20
3.3 Task repositories ....................................................................................................................... 22
3.3.1 Connect to the Jira repository ............................................................................................ 23
3.3.2 Set the correct time tracking settings for Jira and Mylyn ................................................... 26
3.3.3 Manage repositories ........................................................................................................... 27
3.4 Create task queries ................................................................................................................... 29
3.5 Manage task contexts ............................................................................................................... 30
3.5.1 Configure the task context .................................................................................................. 32
3.5.2 Centralize the task context ................................................................................................. 33
3.5.3 Load a task context ............................................................................................................. 34
3.6 Enter a work log ........................................................................................................................ 35
iii
3.6.1 Set a new time estimation .................................................................................................. 35
3.7 Manage change-sets ................................................................................................................. 36
3.7.1 Subclipse or Subversive? ..................................................................................................... 36
3.7.2 Create a change-set ............................................................................................................ 36
3.7.3 Adapt the change-set .......................................................................................................... 38
4 References ........................................................................................................................................ 41
iv
List of figures
Figure 1: Mylyn installation per update site ........................................................................................... 6
Figure 2: Installation Atlassian Eclipse Plugin and Mylyn, Subclipse Integration .................................... 7
Figure 3: Installation Subclipse with Mylyn Integration .......................................................................... 8
Figure 4: Subversive installation .............................................................................................................. 9
Figure 5: Subversive SVN connectors .................................................................................................... 10
Figure 6: Open task list .......................................................................................................................... 12
Figure 7: Choose the task list view from the Show View menu ............................................................ 13
Figure 8: Storage location of your local tasks........................................................................................ 14
Figure 9: Create a local task .................................................................................................................. 15
Figure 10: Input mask for local tasks ..................................................................................................... 16
Figure 11: Activate task ......................................................................................................................... 18
Figure 12: Create categories.................................................................................................................. 18
Figure 13: Filter tasks ............................................................................................................................ 19
Figure 14: Plan tasks with their schedule .............................................................................................. 19
Figure 15: Scheduled view for the tasks ................................................................................................ 20
Figure 16: Create task working set ........................................................................................................ 20
Figure 17: Activate time tracking for tasks ............................................................................................ 21
Figure 18: Working time of a task is displayed in the „Private“-section ............................................... 22
Figure 19: Add new repository .............................................................................................................. 23
Figure 20: Select the Jira connector ...................................................................................................... 23
Figure 21: Configure your Jira profile .................................................................................................... 24
Figure 22: Configure the Jira repository connection ............................................................................. 25
Figure 23: Time tracking settings for the repository ............................................................................. 26
Figure 24: Open the task repositories view per task list ....................................................................... 27
Figure 25: Open the task repositories view per the „Window“ menu .................................................. 28
Figure 26: The task repositories view .................................................................................................... 28
Figure 27: Create or select a predefined repository query ................................................................... 29
Figure 28: Create new repository query ............................................................................................... 30
Figure 29: Start creating a task context................................................................................................. 31
Figure 30: Activated task context .......................................................................................................... 31
Figure 31: Configure the task context ................................................................................................... 32
Figure 32: Add the task context to the repository task ......................................................................... 33
Figure 33: Jira task view in the browser for the added task context .................................................... 33
Figure 34: Load a task context ............................................................................................................... 34
Figure 35: Enter a work log ................................................................................................................... 35
Figure 36: The „Date-Time-Icon“ for creating a work log entry ............................................................ 35
Figure 37: Set new time estimation ...................................................................................................... 36
Figure 38: Execute the „Synchronize with repository..:“ command ..................................................... 37
Figure 39: Change-set view ................................................................................................................... 38
Figure 40: Open the change-set view for Subversive ............................................................................ 38
Figure 41: Adapting the change-set ...................................................................................................... 39
Figure 42: Configure a default commit-text in Eclipse with placeholders ............................................ 40
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 5
1 Introduction
This tutorial helps you understanding the main features of Eclipse Mylyn and explains step-by-step
how you can work with Mylyn and the Jira issue tracking system. Further you learn how to manage
change-set with Subclipse/Subversive.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 6
2 Setup
2.1 Requirements
Java JDK >= 1.5
Eclipse >= 3.4
2.2 Installation
2.2.1 Mylyn Update-Url Mylyn is normally bundled with the J2EE Eclipse package, which you can download from the Eclipse
webpage. If you have to install Mylyn separately you can find the Update-Url below:
Installation for Eclipse >= 3.4:
http://download.eclipse.org/tools/mylyn/update/e3.4
Installation:
Figure 1: Mylyn installation per update site
2.2.2 Mylyn Weekly Update-Url If you are interested testing the newest features and Bugfixes, so you can install directly from the
Weekly Update-Site:
http://download.eclipse.org/tools/mylyn/update/weekly
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 7
2.2.3 Atlassian Eclipse Connector Below you can find the Update-Url for installing the Atlassian Eclipse Connector. This connector
allows you to connect to all Atlassian products, such as Jira.
For Eclipse = 3.6 (Helios):
http://update.atlassian.com/atlassian-eclipse-plugin/e3.6
For Eclipse = 3.5 (Galileo):
http://update.atlassian.com/atlassian-eclipse-plugin/e3.5
Elder Eclipse versions aren’t supported anymore in Mylyn 3.x.
Installation:
Figure 2: Installation Atlassian Eclipse Plugin and Mylyn, Subclipse Integration
The Weekly Update-Url for the newest features and bugfixes reads as follows:
http://update.atlassian.com/atlassian-eclipse-plugin/weekly/e3.5/site.xml
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 8
2.2.4 Subclipse Subclipse is the Eclipse plugin for accessing a Subversion repository out of Eclipse. The plugin offers
also an integration with Mylyn. This allows you to manage the files which belong exactly to one task,
also called a change-set.
For SVN >= 1.6 and Eclipse >= 3.2:
http://subclipse.tigris.org/update_1.6.x
Installation:
Figure 3: Installation Subclipse with Mylyn Integration
2.2.5 Subversive The Subversive plugin contains the plugin itself and offers you to choose different SVN connectors.
You can decide between the native implementation „JavaHL“ or the plain Java-based implementation
“SVNKit”. The differences between these two connectors can be read here [5]. From my personal
experience I can recommend the SVNKit connector.
The installation is quite easy because the Subversive package is already integrated in the new Eclipse
Helios plugin packages. In the software installation dialog just select the update site “„Helios -
http://download.eclipse.org/releases/helios“, navigate to “Collaboration” and choose the Subversive
components.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 9
Figure 4: Subversive installation
After the installation and the Eclipse restart, you will be asked to choose your SVN connector, choose
the newest version of SVNKit:
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 10
Figure 5: Subversive SVN connectors
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 11
2.3 Tips and Tricks
2.3.1 Eclipse settings for big workspaces If you are working with a big workspace with several projects and a lot of files, then it is
recommended to set following Eclipse configurations in the file „[ECLIPSE_INSTALL_DIR]\eclipse.ini“:
-vmargs
-Xms512m
-Xmx1024m
-XX:+UseParallelGC
-XX:PermSize=256M
-XX:MaxPermSize=512M
2.3.2 Problems with installing the Eclipse plugins In Windows 7 or Linux you sometimes face the problem, that after a successful plugin installation,
the plugin still isn’t really installed in Eclipse. If this occurs, check if your current user has enough
write permissions for the installation directory of Eclipse. Otherwise Eclipse can’t save the new plugin
files into his plugin-directory.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 12
3 Step-by-Step Tutorial
3.1 Task-List
The task list is the “heart” of Mylyn and lets you manage your local and remote tasks from the task
repositories.
3.1.1 Activate task list You can activate your task list in the “Window” menu:
Window > Show View > Task List
If you don’t find the “Task list” entry under “Show View”, then select “Other…” and search for the
task list:
Figure 6: Open task list
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 13
Figure 7: Choose the task list view from the Show View menu
3.1.2 Create local tasks Local tasks are stored locally on your computer and are mostly used for your private organization.
This way offers you a personal touch of managing your tasks without having to share them with
other persons.
The local tasks are stored per default in your current Eclipse workspace. This path can be configured
in the Eclipse task settings and offers you for example to put your local tasks under version control.
This can be useful if you don’t have any access to a Mylyn supported task repository system such as
Jira, Trac, etc.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 14
Figure 8: Storage location of your local tasks
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 15
Figure 9: Create a local task
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 16
Figure 10: Input mask for local tasks
3.1.3 Repository tasks Repository tasks are stored remotely on the task repository system such as Jira, Mantis, Trac, etc.
The advantage of loading your tasks directly into your Eclipse is that you can manage and edit them
offline and if you are again connected to the system, you can save the changes back.
Depending on the repository connector you can edit several task fields. Following you can see an
example of a Jira task editor:
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 17
How you can load your Jira tasks into Eclipse is described here “3.4 Create task queries”.
3.1.4 Activate tasks After creating your tasks or loading them from a repository you can work on a task. This means you
activate this task and Mylyn counts automatically the time you work on this task.
To activate a task, you have several start points:
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 18
Figure 11: Activate task
3.2 Show, filter, sort and manage tasks
3.2.1 Create categories A possibility to manage your tasks is to create corresponding categories. Tasks can be easily assigned
to categories by Drag&Drop your task into your created category. To rename a category, just select a
category and press the “F2” key.
Figure 12: Create categories
3.2.2 Filter tasks Filtering your tasks can be very helpful for your overview, you have several filter possibilities:
• Filter completed tasks
• Filter by task priority
• Group subtasks
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 19
Figure 13: Filter tasks
3.2.3 Scheduled task view You can schedule your tasks for a better management of your tasks. Just right-click a task and select
“Schedule for” and then choose the day or week when you want to finish this task:
Figure 14: Plan tasks with their schedule
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 20
If your tasks are managed through this scheduling you can then choose also the “Scheduled” task list
view which offers you a nice task list view by time:
Figure 15: Scheduled view for the tasks
It is also possible then to only show these tasks which are important for the current week. This is
called “Focus on workweek”. That’s quite helpful if you have a lot of tasks in your list.
3.2.4 Create task working set You can also create the well-known working sets in Eclipse for your tasks. With this you can configure
your view how you want it to have: with the corresponding projects and their tasks which are
relevant for you.
Figure 16: Create task working set
3.2.5 Track working time of a task It is possible to track your working time of a task by Mylyn. This setting can be activated in
„Preferences > Task”:
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 21
Figure 17: Activate time tracking for tasks
After this setting the working time of a task is tracked automatically. As soon as you activate a task
the working time is tracked and will be stored for this task. This can be very useful for your time
management and time reporting. If you are entering a work log in Jira, you can also use this feature
for filling out automatically your worked time on a task.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 22
Figure 18: Working time of a task is displayed in the „Private“-section
3.3 Task repositories
With Mylyn you have the possibility to connect your Eclipse with a central issue tracking system like
Jira, Mantis, Trac, etc. and to load your desired tasks into Eclipse. To achieve this you have to connect
your Eclipse with such a system. This remote access of Eclipse requires that you have configured
correctly your repository system for remote access. In Jira you have to activate a remote access
configuration.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 23
3.3.1 Connect to the Jira repository To be able to connect to a Jira repository you have to install the Atlassian Eclipse connector as
described in the setup section before.
After that you are able to add a new repository:
Figure 19: Add new repository
Choose your Jira repository:
Figure 20: Select the Jira connector
Afterwards you have to enter the correct connection settings for the repository. Further you can set
several other repository connection settings. An important setting is the format of the date. This
setting has to be the same as you have configured in your Jira profile.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 24
Take care of changing your locale. If you change your locale in Mylyn, for example to
“Deutsch(Schweiz)” then you have to change this on your Jira profile too!
Figure 21: Configure your Jira profile
To validate your connection you can press the “Validate” button:
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 25
Figure 22: Configure the Jira repository connection
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 26
3.3.2 Set the correct time tracking settings for Jira and Mylyn Depending on the configurations on your Jira system it is necessary to set the correct value for the
time tracking “working days per week” and “working hours per day”. This is necessary because of the
time estimations which can be defined in the tasks. If you don’t have the correct value set, there can
be wrong time estimations on the tasks:
Figure 23: Time tracking settings for the repository
You can save the settings by clicking on the “Finish” button. You are then asked to create a task
query for the currently configured repository, just answer with “yes” and follow the chapter “3.4
Create task queries”.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 27
3.3.3 Manage repositories Task repositories can be managed and edited in the Task Repositories view.
This view can be opened by clicking on the down-arrow right on the top of the task list or by opening
the “Show View” function in Eclipse through the menu “Window > Show View > Other…”.
Figure 24: Open the task repositories view per task list
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 28
Figure 25: Open the task repositories view per the „Window“ menu
Figure 26: The task repositories view
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 29
3.4 Create task queries
Task queries are definitions of what you want to load from a task repository. You can define which
tasks you want to have been loaded by Eclipse Mylyn in your task list. You can create as much as
queries you want. These will be stored in your task list.
Normally you get asked after adding a new repository if you want to create a task query. If you have
answered with “Yes” then you will see following dialog:
Figure 27: Create or select a predefined repository query
Within this dialog you have the possibility to choose one of the predefined queries below or you can
configure your own task query. To create a custom task query just click on the “Next” button:
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 30
Figure 28: Create new repository query
Depending on the repository you can set several settings. To finish your query just click “Finish”.
Mylyn will then load all the tasks which are fulfilling your conditions. The loading time of the tasks
into your Eclipse depends on the size of your task query. If your query matches a lot of tasks then the
loading time takes some minutes.
3.5 Manage task contexts
For every task a corresponding task-context can be attached to the task itself. This task-context
contains all files, which have been edited after the task activation. This means, that Mylyn
remembers the files which have been edited and learns itself with help of a “Degree-of-interests”
model, which files are relevant for your task.
To display your task-context you have first to activate your task:
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 31
Figure 29: Start creating a task context
If you start a task for the first time you will see an empty view with a text “Empty task context,
unfocus or Alt+click“.
This means that you have opened the task for the first time and there are no files in the task-context
yet. If you now want to open/edit a file just press and click “Alt+Click” and then you see your files in
the view. Just navigate to your file by clicking on the file itself. It is not necessary to click on the „+“ -
sign to expand a folder. Of course you can open files by using the Eclipse default open dialogs. Mylyn
also recognize such operations and adds the file to the task-context.
Figure 30: Activated task context
You will remark that uninteresting files have the font color light grey and the relevant files have black
color. Just continue your navigation to other files, open them, edit them, etc. Mylyn will build up the
task-context step by step with the new files automatically.
If you want to remove a file from the task-context you have to select the file and press
„Ctrl+Alt+Shift+Down“. As alternative you can also remove the file by right-clicking on the file and
select “Remove from context”.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 32
3.5.1 Configure the task context To display and manage your task-context you can open the task editor and select the “Context” tab
below the window:
Figure 31: Configure the task context
On this tab you can do several actions for your task-context:
• You can set the „sensibility” of task-context. Mylyn can add files quite fast to a task-context
by simply opening a file. Or you can increase the sensibility and then Mylyn waits a bit longer
before a file is really added to the context.
• The task-context can be attached to the task and stored centrally on the repository system.
With this function you can share your task-contexts which is very useful for other developers.
• You can load another context
• You can copy the current context to another task
• You can delete the current context
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 33
3.5.2 Centralize the task context To share your task-contexts you have to attach the task-context to your repository task. This can be
done through the task editor in the “Context” tab or by right-clicking on a task and selecting “Context
> Attach…” :
Figure 32: Add the task context to the repository task
During attaching a context to a task you can enter a comment and then submit it. In Jira you can see
then the uploaded task-context as zip file attachment:
Figure 33: Jira task view in the browser for the added task context
If you attach later on again a task-context with the same task, then Mylyn creates a new file
attachment. So you have an indirect versioning of your task-contexts. Of course you can delete then
old task-contexts which aren’t useable anymore.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 34
3.5.3 Load a task context If you open a task with an already attached task-context from another developer you can retrieve
this task-context by simply open the task editor and select the task-context in the “Attachments”
section. Right-click on the task-context and select “Retrieve context” to load this task-context. With
this you can save a lot of time which you have to investigate if you have to search the relevant files
for the task by yourself.
Figure 34: Load a task context
Alternatively you can also right-click directly in the task list on the corresponding task and select
“Retrieve context”.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 35
3.6 Enter a work log
For the project controlling it is important that you enter consequently work logs in the Jira system.
This can be done in the Work log section of the task editor:
Figure 35: Enter a work log
You can enter the work log like you do it on the Jira webpage. Just fill out your time spent and give a
description.
If you have activated the automatically time tracking in Eclipse (see chapter „3.2.5 Track working
time of a task “), then you can simply click on the “time-date-icon” and Mylyn fills out for you your
time spent field. Of course you still have the possibility to change this time.
Figure 36: The „Date-Time-Icon“ for creating a work log entry
3.6.1 Set a new time estimation In Jira you can set during entering your work log an additional field called “Set estimated time
remaining to”, which sets a new time estimation for your task. This can be also achieved in Mylyn but
not in the Work log section. This field can be set directly through the Estimate-field at the top in the
task attributes. Just set a new time estimation and submit the task.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 36
Figure 37: Set new time estimation
3.7 Manage change-sets
Change-sets lighten the management of multiple code changes for different tasks. The idea behind is
that you only check in these files which are relevant for the task itself, not less and not more. This
allows us to easily manage these changes, to track them and to undo them if necessary. A change
only makes changes which the task defines or in other words, a change is equal to a task.
Subclipse/Subversive and Mylyn supports us here with their management of change-sets. If you are
working on a task, the changed files are automatically tracked and assigned to the activated task. At
the end you can easily commit your changes task-based. Every Subversion commit is equal to a
task/change.
3.7.1 Subclipse or Subversive? The change-set feature is supported by both SVN plugins and works well with Mylyn together. In the
next chapter we only note „Subclipse“, but if no other special notices are given then the described
function works also with the Subversive plugin.
3.7.2 Create a change-set If the Subclipse Mylyn integration has been installed then Mylyn automatically creates a change-set
per task.
If we have worked on different tasks and changed different files which belongs to different tasks,
then it is quite hard for us to keep the overview of which changes belongs to which task. Fortunately
Subclipse and Mylyn helps us here and offer us a change-set view in the Team synchronize view. Just
right-click on the project and select “Team > Synchronize with repository…” :
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 37
Figure 38: Execute the „Synchronize with repository..:“ command
Normally in the Synchronize view we just see all changed files in a list. If we want to see the changes
sorted by tasks we can switch to the change-set view in the „Synchronize-View” by clicking on this
icon:
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 38
Figure 39: Change-set view
The change-set view give us an overview over all tasks and their changed files.
During the commit process the commit-text is taken automatically from the task title itself, which is
also a quite comfortable feature.
For Subversive you can switch to the change-set view as follow:
Figure 40: Open the change-set view for Subversive
3.7.3 Adapt the change-set You can also edit your change-set by right-clicking on the task entry and select “Edit change set…”
Then you have the possibility to give another commit-text, etc.
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 39
Figure 41: Adapting the change-set
The commit-text template can also be configured globally in Eclipse, open this settings page:
Window > Preferences > Tasks > Team
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 40
Figure 42: Configure a default commit-text in Eclipse with placeholders
Context-Based Development with Eclipse Mylyn - Tutorial
Page | 41
4 References
[1] Atlassian.com, Installing the Eclipse Connector - Atlassian IDE Connectors - Atlassian
Documentation - Confluence. Available at:
http://confluence.atlassian.com/display/IDEPLUGIN/Installing+the+Eclipse+Connector
[Zugegriffen März 10, 2010].
[2] Eclipse.org, Mylyn Downloads. Available at: http://www.eclipse.org/mylyn/downloads/
[Zugegriffen März 10, 2010].
[3] Kersten, M., Elves, R. & Pingel, S., Effective Mylyn - Tutorial. Available at:
http://tasktop.com/docs/tutorials/2009-03-mylyn-tutorial.pdf.
[4] tigris.org, subclipse: Download and Install. Available at:
http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA [Zugegriffen März 10, 2010].
[5] Polarion® : Subversive - Subversion Team Provider for Eclipse - Downloads. Available at:
http://www.polarion.com/products/svn/subversive/download.php?utm_source=eclipse.org&ut
m_medium=link&utm_campaign=subversive [Zugegriffen Juli 30, 2010].