Best Practices How-To's Tips & Tricks

5 Tips for Tracking Issues in YouTrack

Issue trackers are designed to help you manage issues faster and make your work more productive. But sometimes, you spend more time looking for important issues than actually working on them.
Today I will tell you about the most productive ways to track your issues in YouTrack.

1 — Build a Personal Board

If you find it hard to track your issues on an Agile Board that you use together with your team, you can create a personal board with your own settings to track only the tasks that are assigned to you.
To create such a board, use a personal board template that recognizes all of the projects where you are a team member and has a query to filter cards on the board and show only issues that are assigned to you.

templates

You always have the option to modify settings based on your own requirements. For example, to separate important and less important issues, you can use swimlanes based on the value in the Priority field. This helps you see the prioritization of the tasks and not miss anything important.

Agile_board_priorities

If you work on several projects, the most convenient way to track your issues is to enable the option to identify swimlanes by project.

agile_board_perproject

2 — Set up Notifications with Tags

Notifications are an important part of managing your issues. Getting the right notification at the right time helps you stay up to date and know exactly when you need to jump in and take action.
The default notification scheme sends updates for several triggers: when you are an assignee, a watcher, you are mentioned in a comment, or you’ve added a comment to or voted for an issue. Basically, you get notified for major issue changes. But what about the cases when you want to get notified for specific events?

First of all, you can subscribe to tags. For example, you want to track issues that are related to the 2017.3 release. Create a tag 2017.3 release, apply a custom notification scheme and tag the issues you want to include in 2017.3 release. If you only want to get notified when issues are fixed, simply select the Resolved event.

Tags

Now you won’t miss anything!

3 — Get Updates for Saved Searches

Ever want to get notified about the issues that match specific criteria? You can do it in YouTrack! Simply create a search query, save it, and subscribe to it. Here is an example.
At JetBrains we usually attend conferences all over the world. As a PMM of YouTrack, I don’t want to miss any conferences that are related to my product. I’ve created a query project: show #unresolved related project: youtrack and subscribed to it, so now I get notified when any issue that matches the query is created or updated.

subscribe_to_query

Thanks to a variety of notification settings, you won’t miss what’s important — even if the issue is not assigned to you.

4 — Track Deadlines

Deadlines are usually much closer than they appear. It’s really important that you don’t forget about major issues, especially when someone depends on them being fixed.

By default, YouTrack comes with a Due Date workflow. When it’s attached to your project, the assignee (or in case the issue doesn’t have an assignee, the team lead) gets notified when the issue is overdue.

If you want to get notified in advance, you can either create a new workflow or add a new rule to the current workflow. For example, I want to get an email two days before the deadline.
Here are some steps on how to do it:
1. Open the Due Date workflow in the workflows list.
2. Add a new on-scheduled rule.
3. The right way is to write the rule from scratch. But there is a trick. You can copy and paste the notify-assignee-on-overdue rule and change return ctx.issue.fields.DueDate < Date.now(); to return ctx.issue.fields.DueDate < Date.now() + 2 * 24 * 60 * 60 * 1000;
While you’re editing the workflow rule, update the subject line of the email message as well. Here is how the new rule looks like.

var entities = require('@jetbrains/youtrack-scripting-api/entities');
var workflow = require('@jetbrains/youtrack-scripting-api/workflow');
var dateTime = require('@jetbrains/youtrack-scripting-api/date-time');

exports.rule = entities.Issue.onSchedule({
  title: workflow.i18n('Notify assignee about overdue issues'),
  search: '#Unresolved has: {Due Date}',
  cron: '0 30 15 * * ?',
  guard: function(ctx) {
    return ctx.issue.fields.DueDate < Date.now() + 2 * 24 * 60 * 60 * 1000;
  },
  action: function(ctx) {
    var issue = ctx.issue;
    var userToNotify = issue.fields.Assignee;
    if (!userToNotify) {
      userToNotify = issue.project.leader;
    }
    var formattedDate = dateTime.format(issue.fields.DueDate);
    var notificationText = 'Deadline is on ' + formattedDate + ': ' + issue.id + ' ' + issue.summary;
    userToNotify.notify(workflow.i18n('[YouTrack, deadline is coming]'), notificationText); 
   },
  requirements: {
    DueDate: {
      type: entities.Field.dateType,
      name: "Due Date"
    },
    Assignee: {
      type: entities.User.fieldType
    }
  }
});

4. Attach the new rule to your project and you are good to go.
Please note that you need project administrator permissions to manage workflows.

5 — Pin Tags and Saved Searches

Another way to easily filter your issues is to pin tags and saved searches to the sidebar. Let’s say you always want to track the list of unresolved issues that are assigned to you sorted by due date. Simply create a search query #me sort by: due date #unresolved, save it, and pin to the sidebar. Now you have an easy way to get to your issues!

pinned

We hope that these tips improve your issue tracking experience. Do you have your own tricks for managing issues? Share your tips and feedback in the comment section below!

Sincerely yours,
the JetBrains YouTrack team

image description