Archive for February, 2012

YouTrack 3.2.2 Is Available

Monday, February 27th, 2012

A fresh YouTrack update has just arrived! Please welcome YouTrack 3.2.2. This build contains important bug fixes for YouTrack 3.2. Please check the full list of release notes for more details. Download YouTrack 3.2.2 along with YouTrack Workflow Editor 3.2. If you are using YouTrack InCloud, your site is already updated! if you would like to see YouTrack in action, get started with YouTrack InCloud free right now.

Keep tracking with pleasure!

JetBrains YouTrack Team

YouTrack 3.2: Through-the-Roof Performance

Tuesday, February 21st, 2012

Please welcome YouTrack 3.2, a fresh update for your super-fast issue tracker! Super-fast, because this release is totally dedicated to performance improvements.

These improvements affect all parts of the software, from launching YouTrack to search queries, notification system, FIS, release notes and more. You might think, YouTrack is already fast enough, so why bother putting so much effort into more improvement? Honestly speaking, what prompted these improvements was our own YouTrack installation. We’ve reached 400,000 issues and 28,000 users - pretty big, wouldn’t you say? Now, if your current YouTrack installation has fewer than 100,000 issues, maybe you won’t feel the difference immediately. But remember, every project grows, and it’s really nice to have an issue tracker that doesn’t slow down with that growth. With YouTrack covering your growing performance needs, you’ll never be forced to migrate because of a frail issue tracker.

And now, here are the juicy details about the great performance improvements we’ve got today:

  • Search Queries

Advanced search capabilities are at the heart of YouTrack, so we never stop sharpening search. Processing complicated search requests, which sometimes requires filtering results from 100,000 issues, has been optimized by up to 10 times. For example, if you search for issues “reported by All Users and updated during last week and…”, you’ll definitely feel the difference!

  • Suggestions and underlines

Showing suggestions and underlines are sped up in search queries, commands, create/edit report dialog, mailbox integration, and TeamCity integration.

  • Notifications System

The notifications queue is now processed up to 5 times faster. When you have thousands of notifications to process, this will really make a difference. For example, a queue of hundreds of notifications is now processed in less than 7 minutes.

  • Issues List & FIS

We’ve optimized the longest possible issues list (100 issues) to load 20% faster. We’ve also optimized the Linked Issues tab containing a number of linked issues to open much faster. Also, calculating the paging on FIS is now asynchronous, which saves you time on opening an issue and switching to the next/previous one.

  • Release Notes

Opening issues in HTML is greatly improved as well. No more waiting to open your release notes!

  • Matrix Reports

The results of matrix reports are now stored in the DB, which means that they are not recalculated automatically each time you open the dashboard. We’ve also added a Recalculate report button, as well as the last calculated date and time label. With these improvements, you don’t have to waste time on recalculating reports regularly, and just update the results only per request.

More Features

But that’s not all! Here are more useful features you need to know about:

  1. We’ve added a very easy way to select and copy issue ID from the full issue screen. Simply press Ctrl+C to select issue ID, then press Ctrl+C to copy issue ID to the clipboard. Simple!
  2. Finally, we’ve excluded the current search query from issue URLs. How does it work?  When you’re looking through the list of filtered issues, you may want to copy the URL of an issue and paste it somewhere. Now you navigate to the full issue screen, and get the issue URL without any additional parameters.
  3. Disable processing issues not mentioned in VCS: Now you can control whether to process resolved issues that are not mentioned in commit comments, by enabling/disabling control in TeamCity mapping dialog. This option is disabled by default:
  1. Show progress on calculating matrix reports: Now you can check visual progress while creating or recalculating your complicated matrix report.

Please read the full Release Notes for more details. Download YouTrack 3.2 along with YouTrack Workflow Editor 3.2 or sign up for YouTrack InCloud, the latest version is already there!

Enjoy your rocket-fast issue tracker even more!
JetBrains YouTrack Team

MPS feat. YouTrack coming to Code Generation

Friday, February 17th, 2012

If you attend this year’s Code Generation conference on 28th - 30th March 2012, please reserve some time in your conference calendars for stopping by the JetBrains booth. JetBrains is sending Alex Shatalin, Maxim Mazin, Evgenii Schepotiev and Vaclav Pech to spread the word on MPS and the cool stuff that we create with it. Besides meeting us at the booth, you’ll also be able to see us on stage during the MPS hands-on session, which we hold on Wed 28th, and then on Thu 29th we’ll continue with a YouTrack/Web-DNQ case study presentation as well as with an MPS IDE functionality demonstration. See you all there!

Develop with pleasure!
-JetBrains MPS Team

Spicing up YouTrack with Workflows

Tuesday, February 14th, 2012

I had to set up a new project yesterday on YouTrack and needed to customize some of the default status fields. One of the ones I added was a ‘Paused’ status, for those times when a task gets held up for whatever the reason. Adding a custom value is pretty simple to do: under Administration, select the project, click on the the Fields tab, and click on the Value Bundle link of the field you want to update, in my case the State field

image

Once there, select Add State and type in the new value. You can give it a description and an optional color. I chose an orange tone to indicate its paused [Resolved checkbox indicates if the state represents the issue as resolved].

image

That was pretty simple. However, there is a minor issue. I want to know why a task is paused, much like I’d like to know why an issue is closed as ‘Will not fixed’. I’d like the person pausing it to provide a comment as to why the task has been put on hold. How can I accomplish this in YouTrack? How can I force someone to submit a comment when a state is set to Paused.

Workflow Editor

This is where YouTrack’s workflow editor comes into play. I looked at this tool nearly 2 years ago and I must say, there have been some major improvements. However what really shocked me was how simple it was to get up to speed. In less than 15 minutes I had downloaded it, created a custom rule and had it working on my project.

The workflow editor is based on MPS or Meta Programming System. If you’re not familiar with this, it is an extremely powerful Open Source tool from us that allows you to create and extend languages. But it’s not limited to only creating a DSL. It also provides you with the means to create editors, complete with Intellisense, Code Analysis and Debuggers. In fact, YouTrack itself is based on a language called WEBR which is developed on MPS.

The good news of course is that you do not need to know anything about MPS to work with Workflows in YouTrack. There’s already a packaged-up, self-contained editor that provides you with everything you need.

Let’s see how we can use this to add some spice to YouTrack.

Scenario: Requiring a comment when changing a state

The problem we are going to tackle is the one mentioned previously: we want the user to fill out a comment when changing the state of an issue. Since there’s no specific workflow built for this, we need to create one. As such, we first download the Workflow editor. You can do this from YouTrack itself, under the Workflow tab

image

Once download (it works on any platform as it’s based on Java), open it up. The first time you run it, it will display a hint box that the connection settings to the server need to be defined. You DO NOT need to have root permissions to the server to define workflow. You DO NEED however Administrative privileges on the Projects you want to use your workflows with.

image

1. Define these settings by clicking on the Connection Settings link. You can always change them later by clicking on the Workflow | Connection Strings menu entry.

image

Once you verify the connection, you are ready to start defining some workflows. On first run, it will prompt you to download existing workflows from the server. If it does not or this is a second run, click on Workflow | Download Workflows from Server. A good reason to do this is that you will get all predefined workflows in YouTrack which serve as great examples for defining new ones.

If all goes well, you should end up with your Workflow explorer having some entries:

image

2. Define a new workflow

The next step is to define a new Workflow. Every workflow we define is imported in to YouTrack as its own package. As such, a workflow allows us to group several specific rules together. We’ll get into what rules are in a moment.

To create a new Worfklow click on the Create Workflow icon on the toolbar

image

Give it a name. I’ve followed the convention to use server_name-project_name-description_of_workflow:

image

Next step is to decide what type of workflow this is:

image

In this scenario, we’re going to create a Stateless Rule (we’ll cover the other two options in a future blog post). A Stateless Rule means it doesn’t hold any state. In our case, we want to make sure every time a field holds a specific value (Paused) a comment is required. We’re not interested at this point, what the previous value of the field was, so we won’t need to hold state.

Here’s where it gets interesting. When you create the rule, a new editor is opened up. This is the rules editor. It’s a complete IDE (the power of MPS at work) that provides us with all the goodies such as syntax highlighting, code analysis and other things. First thing it prompts us for is a name.

image

We’re going to call this rule Changing to pause requires comments. Note that for the rule name, spaces are allowed:

image

The next step is to define the actual rule. Now as a newbie, it would kind of hard to know what can be done here. Fortunately, when we downloaded all the workflows, these all serve as examples. Added to that, we have Intellisense available too. Placing our cursor on the <issue…> and hitting Ctrl+Space, we get:

image

This has been filtered down to everything starting with ‘S’ because we’re interested in dealing with a State change. We can see that we have the State entry available. If you’re wondering where these values come from, much like YouTrack Search Facility, it provides us with information not only on fields, but also on values of these fields. Entering State now displays:

image

and we can select the becomes entry, which as the hint (albeit incorrectly) says, is an event that occurs when the value changes to a specific value. Unsurprisingly, becomes takes a value:

image

which is the new value of the field. In our case this would be ‘Paused’. A couple of powerful things to notice before we continue. If we enter ‘Paused’ prior to creating that as a value on the server, the workflow editor will warn us that this value does not exist. It will even provide us with an Intention (in ReSharper known as QuickFix) to create this value for all projects:

image

image

The next part is to define the actual action we want to take place when this condition is met. Here we can use the assert statement

image

filling in the condition and the message appropriately. In our case it would be

image

With that, we’re pretty much done defining our rule. The only thing left to do is push it to the server to make it available and then use it in the project.

3. To upload the workflow with the server, we can select the Workflow | Upload Workflows to Server menu entry

image

waiting for the upload to finish

image

4. Once that is complete, we then go back to YouTrack and attach the newly created workflow to the project. We select again the Workflow tab on the corresponding project and click on Attach Workflow

image

If the uploading in Step 3 succeeded, we should now see our new Workflow in the Dialog box.

image

We’re done. Now when we change the state of an issue to Paused, it should display a message prompting for a comment

image

Summary

In this post I gave you an introduction to the YouTrack Workflow editor and we saw how to create a simple rule, upload it to YouTrack and put it in action. What’s more, the editor is based on MPS and hopefully you have seen the power that MPS can offer us. In the next posts I’ll show you how to create more complex workflows that involve scheduling and state machines.

YouTrack Screen-Cast—A Practical Hands-On Guide On Issue Juggling

Thursday, February 9th, 2012

Building on the knowledge gained in the first part of the Tracking YouTrack series, in this episode Vaclav Pech and me will go through the many aspects of issue management in YouTrack. We’ll learn how to create new issues quickly, attach files and screen-shots, organize issues, tag them, assign them and a lot more. Watch this screen-cast to get a good grip on YouTrack.

YouTrack Screen-Cast—A Practical Hands-On Guide On Searches

Thursday, February 9th, 2012

Watch this screen-cast and join Vaclav Pech on his journey to learn YouTrack search queries. The idea came from a short phone call, where I’ve tried to provide Vaclav with some YouTrack’s tips and tricks, so this screen-cast is made in a form of dialog. We’ll try different ways to use YouTrack effectively, build queries, save search results, filter displayed issues and tag them. Enjoy our show!



Note: You may also like the second part covering issue creation and management.