Archive for December, 2010

Fresh YouTrack Energy EAP Build!

Monday, December 27th, 2010

This holiday season brings you one more surprise - a fresh YouTrack Energy EAP build! We’ve prepared a lot of new and exciting functionality, including:

  • Mailbox (POP3, IMAP) Integration. Submit new issues without even opening the bug tracker! Now you can report issues right from your e-mail client. Read more >>
    Related Issues:

    1. Submit issue via email.
    2. Issue from e-mail: provide setting for fetch period.
  • Customizable sidebar. Previously, your list of shared tags and saved searches could get overloaded and difficult to use. Now you can choose which tags and saved searches are visible (pinned) in your sidebar by pinning/unpinning items from the list. Organize your sidebar to have all the tags and saved searches you need right in front of you!
    Please note: This feature is still in progress and has been included in the EAP build to get your quick feedback while it’s being implemented.

    Related Issues:

    1. Ability to choose tags to show in a sidebar
  • Customizable attributes. State is converted to a customizable attribute, which allows you to specify any bundle of states or simply use the default one. A new custom attribute type version[1] is available. Also, you can now customize the default values for new issues.

    Related Issues:

    1. Convert state to custom field.
    2. Customizable defaults for new issues.
    3. Allow creating a combobox of versions, not only a multibox.
  • Administration Improvements
    Related Issues:

    1. Merge two groups together and more…
    2. Warn admin about license expiration and end of upgrade period.
  • REST API Improvements
    Related Issues:

    1. Ability to specify visibility group when creating an issue via REST.
  • Usability Improvements
    Related Issues:

    1. ‘Unstar’ should remove star for requested user.
    2. New issue html notification should looks like FSI.
    3. Collapsible text feature for description and comments.

    Please check the full issues list included in the new EAP build, and don’t forget to share your feedback with us! You are welcome to:

    1. Submit issues and feature requests in our bug tracker.
    2. Speak out at our community forum.
    3. Submit private feedback using our feedback form.
    4. Rate individual EAP builds right on the YouTrack EAP Builds page.

    Download and enjoy the fresh YouTrack functionality!

    Happy New Year!
    JetBrains YouTrack Team

  • Announcing the brand new JetBrains Apparel Store!

    Thursday, December 23rd, 2010

    From now on, we not only eat our own dog food - we also wear our own T-Shirts. Join in on the fun today!

    We are still tuning and polishing the design of the store, but you can already shop with us and get holiday presents for your favorite developers (yourself included)!

    More T-Shirts and other cool stuff are coming soon.
    Please send us your feedback on our apparel store to jetbrains-at-ptxstore-dot-com or submit an issue in our bug tracker.

    Happy holidays!
    Your JetBrains Team

    YouTrack 2.2 Christmas Edition Is Out!

    Thursday, December 16th, 2010

    YouTrack 2.2 Christmas Edition
    We would like to offer one more Christmas surprise to you - YouTrack 2.2 Christmas Edition! It brings you fresh, useful functionality along with small Christmas tricks. Have a closer look:

  • Prettify — Code Highlighting. Allows you to make the code inserted into issue descriptions or comments readable — by highlighting it.
  • OpenSearch Support. Now you can type your search query right in the address bar (in Google Chrome) or in the search bar (in other browsers) and navigate straight to your search results!
  • Christmas Tricks. We’ve sprinkled your YouTrack installation with small, unobtrusive Christmas ‘tricks’. We won’t say a word more… download YouTrack 2.2 and find them all!
    To get more information about brand new features, visit What’s New.
    By the way, you can still get 50% OFF on any YouTrack edition before January 10, 2011.

    We wish you a merry Christmas!
    JetBrains YouTrack Team

  • Generating Graphs for YouTrack with HTML 5 and jQuery

    Tuesday, December 14th, 2010

    A few days ago, a customer of ours asked me if it would be possible to visualize statistics in graphs in our Bug Tracker YouTrack. Answer is Yes. Since YouTrack offers a “ReSTful” API, you can obtain pretty much any kind of information you want from it and once you have this information, you can then display it however you wish, be it a table or a graph.

     

    Let’s see how.

     

    What we’ll be using…

    One of the great benefits of jQuery is the rich ecosystem it offers. There’s a plug-in for pretty much everything you need, even for displaying graphs. In fact there are quite a few. We’ll be using jQuery Visualize. We’ll also be using jQuery (I’m using 1.4.4 but should work with older version) and jQueryUI, which is needed by jQuery Visualize. Finally we’ll also need jQuery Templates (I’ll explain why later on).

    Don’t worry about downloading each individual file. Everything you’ll need is included in the demo code attached to this post.

    Getting the information from YouTrack

    For this demo, what we want to do is create a chart containing Issue counts for different projects. In particular, we are interested in Open, Fixed and Duplicate issues for ReSharper, dotCover and dotTrace:

    image

    In order to get this information from YouTrack we have to make a request to count the number of issues based on filters, i.e  ReSharper + Open, ReSharper + Fixed, etc.*. The URL for this would be:

    http://youtrack.host.com/rest/issue/count?filter=project:ReSharper%20state:Fixed

    which is nothing other than a URL encoded version of a search expression we can enter directly into YouTrack’s web interface,but to the rest API. We therefore need to send requests from our web page to YouTrack to obtain this information. The way we can do this is with Ajax and JSONP which YouTrack supports. Using jQuery.ajax, our code would look like this:

    image

    Problem is, this wouldn’t work, or at least, not always. When requesting a count of issues by YouTrack, the response is not immediate. YouTrack will free the request and will spin off to calculate the count. Once it’s complete it will then store the information in the cache. Next time a request is made, the value from the cache will be returned. What this means to us is that if we fire off a request, if it’s a cache miss, then we will get back a –1 instead of the actual count. We would therefore need to send a new request, until we get a value greater or equal to 0. This is not complicated to do with JavaScript and in particular with jQuery. It merely consists of polling for a result. But like all things jQuery, before you re-invent the wheel, check to see if there’s already a wheel and it turns to your liking, something which in this case does. This alternative to $.ajax allows us to poll servers and only process the result if a condition is met. As such, our previous code would now look like this:

     image

    (the polling interval can be set for the calls. Here we’re using the default value).

    In terms of requesting information from YouTrack, that’s all there is to it. What we need to do now is repeat the process for each project and status type and store the value.

    [* Currently YouTrack does not support grouping so multiple requests will have to be made. This feature is planned however]

    Representing the information as a table using jQuery Templates

    We want to do two things with the results, represent them as an HTML table and display them as a graph. The data retrieved from the server is given to us as an array of objects (something we did in the code ourselves), where each object has a one property indicating the Project and three additional properties with the values of each status:

    image 

    We would now need to iterate through this array and generate a table from it. Instead of doing this in an ugly way by mixing tags with data, we can take advantage of jQuery templates (if you are not familiar with templates, you can think of them as a view engine for jQuery). What we do is define a template and then make a call to a function that replaces placeholders with our data. If the data we provide this function is an array, it will repeat it for each entry.

    image

    The code first creates the template for the markup we want to generate, which are rows of a table. It then calls the template function to create a compiled version of the template which will then be passed in to the tmpl function along with the data (the series variable). The call to appendTo is a jQuery method which adds the contents of the object it’s called on to the item passed in to the selector (in this case #rows). 

    In the body section of our page, we can then define the rest of the table, which includes the header and the tag for the table body:

    image

    Creating the Graph

    So far we have retrieved the information from YouTrack and created an HTML table to display it. Our main objective however was to also display this information graphically. That in fact is the easiest part. One reason we are using jQuery Visualize is because it can easily convert a table into a graph (it supports different types of graphs, including lines, pies, etc.). All we need to do is call visualize on a table.

    image

    That’s all there is to it. Once we put all the pieces together, we will end up with the following page:

    image

    This chart works in all browsers I’ve tested (IE 9, Opera, Firefox and Chrome)

    Summary

    The complete code for requesting information from YouTrack and generating the Graphs is available on my GitHub Blog repository. Once you examine it, you’ll see that it’s very few lines of code, thanks to the rich ecosystem around jQuery. I’m sure it can even be improved further, since I am by far a jQuery expert and can also be made a bit more generic to allow for different statistics to be obtained without change to the source.

    I’m currently working on YouTrackSharp which is a wrapper for YouTrack requests in C#. So if you’re interested in doing the same thing from C#, you will soon be able to do.

    As always, if you have any questions please leave a comment.

    Enjoy!

    Make this Christmas warmer with a personal or team present at 50% OFF!

    Friday, December 3rd, 2010

    Merry Christmas from JetBrains
    Can a software license be a great Christmas present? Why not! JetBrains announces an excellent Christmas offer for personal and team products.
    YouTrack is a team product and a charming Christmas present at the same time. We would like to ease your Christmas gift-giving rush by announcing a 50% OFF offer when purchasing any YouTrack edition before January 10, 2011. This Christmas season is the right time to make your team more productive!
    And what about the personal presents?
    If you use PHP for developing your websites or if you’re looking for the best HTML and JavaScript editor, try WebStorm and/or PhpStorm. Personal licenses are offered at half price (till Jan 10, 2011).
    But that’s not all! WebStorm/PhpStorm 2.0 is due out this coming January. And since your license includes 1 year of free upgrades, this is your chance to upgrade to WebStorm/PhpStorm 2.0 at 50% off, too.
    To see what’s inside 2.0, take a look at our roadmap or try WebStorm/PhpStorm 2.0 EAP in action!

    Have a Merry Christmas and develop with pleasure!
    JetBrains Team

    YouTrack 2.1.4 Is Available!

    Friday, December 3rd, 2010

    This minor release is dedicated to a single bug fix:

    1. Incorrect comments sorting
      This problem has effected 2.1.3 version only. We apologies for the inconvenience it may cause to you. Download YouTrack 2.1.4 and feel free to share your feedback with us.
      We wish you always track with pleasure!
      JetBrains YouTrack Team