Live Webinar: Introduction to JavaScript Workflows in YouTrack 2017.3

YouTrack 2017.3 is just around the corner! In this version we are introducing a brand new JavaScript Workflows along with a built-in editor.

Join us for a free live webinar on Wednesday, August 16th 16:00 – 17:00 CEST (10:00 AM – 11:00 AM EDT) to see the power of new workflows in action. The session will be powered by YouTrack team members, the best experts in this topic.

yt1-r

This live session introduces you to two major changes for workflows in YouTrack:

  • Working with the built-in workflow editor
  • Writing workflows in JavaScript

Scott and Mariya will walk you through the new editor, show you how to work with action rules and scripts, and share real-life use cases. We’ll also call out key changes to the workflow API and show you how to use webhooks to build your own integrations.

Book your seat now, space is limited!

Posted in webinar | Tagged , , | Leave a comment

YouTrack InCloud Discontinues HTTP Support

We at JetBrains care about the security of our customers’ data. It is extremely important that we keep it safe for you.
As you might know, YouTrack InCloud instances use the HTTPS protocol by default, but this wasn’t always the case. We also give you the option to disable HTTPS for your instance. To make YouTrack more secure, we have decided to discontinue support for HTTP connections.

Who is affected?
This change affects YouTrack InCloud instances where:

  • The instance was registered before December 2015 and is not configured to use HTTPS. Instances created after this date use HTTPS by default.
  • The HTTPS only setting has been manually disabled, allowing unsecured connections over HTTP. To verify this setting, check the Domain Settings page.
  • The instance uses a custom domain name and does not have a valid SSL certificate for the custom domain.
  • The instance accepts HTTP requests from external integrations that use the REST API.

What does it mean?
If you interact with YouTrack in your browser, you basically don’t have to do anything. You will be redirected to use an HTTPS connection automatically.

All of the instances that are hosted on the *.myjetbrains.com domain will switch to HTTPS.

If you have a custom domain set up for your instance, we will automatically generate a certificate signed by Let’s Encrypt for you. You will still be able to set up your own certificates, so no changes will be applied to certificates that were installed previously.

The only situation that requires action on your part is when you have external integrations that access data in YouTrack using the REST API over an unsecured connection. In this case, you need to update these integrations to use HTTPS. Otherwise, the connections are refused and the integration is broken.

When will it happen?
We plan to disable HTTP access in approximately one month. To ensure that your integrations work properly, make sure that all of your applications that use the YouTrack REST API are updated to use HTTPS before then.

Thank you for using YouTrack.
If you have any questions, please contact our support team.

Posted in news, newsletter, tips | 5 Comments

Optimize Development and Testing with the YouTrack Plugin for EasyQA

YouTrack + EasyQA

Quality Assurance teams often use dedicated tools for testing. Your developers either don’t have access to these tools or are focused on the tasks in their issue tracker. As a result, your testing process can become disconnected from your development efforts.

The best way to solve this problem is to bring these two worlds together. Integrate your test management tool with your issue tracker to synchronize testing activity with your development process.

Why Integrate EasyQA and YouTrack?

EasyQA is a test management tool, which lets you create test plans, execute test cases, generate QA test reports, and track the activity of your QA team. EasyQA also has a built-in Kanban board for reporting and tracking bugs.

By integrating with YouTrack in EasyQA, your testers can easily report bugs that are discovered during testing while your developers can work to resolve these problems in the tool they use to track other types of issues.

When you install the YouTrack plugin that was developed by the EasyQA team, you can:

  • Associate the cards that are created in EasyQA with a single YouTrack project.
  • Create an issue in YouTrack when you add a card to the Kanban board in EasyQA.
  • Update issues in YouTrack when you edit a card in EasyQA. Updates are applied to changes for the issue summary, description, type, priority, and state.
  • If you update these issues in YouTrack, you can manually run reverse synchronization with EasyQA. The automatic synchronization process only works in one direction.

To install and configure the YouTrack plugin in EasyQA, follow these instructions.
We hope that using YouTrack and EasyQA brings your development and testing teams closer together. Each team can enjoy working with an application that best supports their process while maintaining a singular overview of the work in progress.

Posted in how-to, news | Tagged , | 2 Comments

Important Security Problem concerning Issue Visibility

Bug description
On Friday June 30th at 9:45 am CEST we were notified of a potential security problem in YouTrack that affects issue visibility in certain cases. Specifically, when the visibility of the issue was set by a workflow, it was possible that certain users that were not part of the group could access the issue during a search request. This issue only affected YouTrack version 2017.2.33634 and later.
We have already resolved the issue and a new download is available. All InCloud instances have been applied with the hotfix.

What actions you should take
If you are running YouTrack Standalone and have YouTrack version 2017.2.33634 or later Installed, please upgrade by downloading the latest version.

If for some reason you cannot upgrade to the latest version, there is a workaround that can be performed:
1. Locate all the workflows that set groups.
2. Find any line that sets the group in the following way:

issue.permittedGroup = someGroup

3. Replace the line with:

issue.applyCommand(“visible to “ + someGroup.name)

where someGroup is the name of your group.

4. Fix any existing issues by applying the command:

visible to someGroup
to them (you can do this by selecting them and doing a batch update).

If you need any further assistance, please contact our Support Engineers or simply respond to this email.

We sincerely apologise for the incident and rest assured we’re already putting in additional steps to prevent this in the future.

Posted in news, newsletter | Leave a comment

Updated Storage Limits

Great news!
We have extended the storage limits for specific commercial plans.

banner_storage_05
YouTrack InCloud commercial plans have been around for awhile. We thought this would be a good time to update some of them. The main idea behind subscription plans has not changed. Each plan supports a set number of users and is allocated a fixed amount of storage. However, we have decided to extend the storage for some of the plans.

Which plans are affected?

The 25 users plan with 10 GB is extended to 15 GB.
The 50 users plan with 15 GB is extended to 20 GB.
The 100 users plan with 20 GB is extended to 25 GB.

If you use any of these plans, your current storage limits have already been automatically updated.

Please visit the YouTrack Pricing page for more details. We hope that the extended storage will improve your issue tracking experience and will help you to share more files with your team.

Sincerely yours,
The YouTrack team

Posted in news, newsletter | Tagged , | 1 Comment

Baking Boards — Episode 7: Version-based Boards

In this episode of Baking Boards, we show you how two very different teams at JetBrains use agile boards that synchronize sprints with the fix version of the product in development.

Continue reading

Posted in how-to, newsletter, tips | Tagged , , | 1 Comment

Baking Boards – Episode 6: A Product Marketing Manager’s Personal Board

In this episode of Baking Boards, Andrey Cheptsov, the Product Marketing Manager for IntelliJ IDEA, shows you the personal board he uses to track all of the activity that is related to the promotion of this IDE.

Preparation

1. Create your board.
For easy configuration, use the Custom board template.
1-create
When you create the board:
– Select the projects that you want to manage on the board. You can track issues in any project that you have the permission to view issues.
1b-projects
-For the Backlog option, choose Create new. You won’t use it, but you need a backlog to create the board.

2. Define columns.
With the custom board template, you have to define your columns first.
2a-columns
Switch to the Columns and Rows tab to set them up.
Andrey’s board uses values from the State field. He added all of the values in each project that that are not considered resolved. Basically, any state that isn’t Fixed or Done.
With this setup, issues are removed from the board as soon as they are resolved.
First, use the Add column drop-down to add each unresolved state to the board.
2b-columns-before
Then, use the Merge with drop-down to merge all of these values into a single column.
2c-columns-after

3. Define swimlanes.
As shown in the demo, Andrey defines swimlanes using a special value for the Type field his project. He assigns issues the Meta Issue type and only uses this type for swimlane issues.
First, you need to add a special value like this to the Type field in one of the projects that you manage on the board.
Then, configure your board to identify swimlanes by Issues from the Type field, then use the Add value drop-down to add the special value to the board configuration.
3-swimlanes

That’s all there is to it! There are a lot of other settings that you can play around with to personalize your personal board, but they’re not used in this setup. Here are a few settings you can safely ignore:

  • Sprints — this board uses a single, unscheduled sprint. Issues are assigned manually to this sprint. Andrey adds cards to the board by linking issues as subtasks to issues that define swimlanes on the board.
  • Backlog — the backlog isn’t used at all, as each team prioritizes their issues differently.
  • Cards — with this setup, you rarely add issues to the board, so you don’t need to set default values for the issue type.
  • Charts — the chart options are not relevant to the board.

Secret Sauce

Andrey uses the YouTrack Tweaks extension for Chrome to enhance the visual appearance of the board. With this extension, he can:

  • Choose which custom fields are displayed on all cards.
  • Display values for custom fields with the card size set to S.
  • Hide the board footer.
  • Collapse swimlane titles to one line.
  • Switch to a color scheme that is similar to the Darcula theme in IntelliJ IDEA.

To achieve this look, he has enabled and configured the default Agile board card fields module and the Agile board layout module.
Here’s how you can do the same:

  1. Access the extension in the chrome web store.
  2. Add the extension to Chrome. For detailed instructions, see the doc.
  3. Enable and configure the modules that you want to apply to the board.

Here are the modules that Andrey enabled on his board, with instructions for configuring each module:

Default cards tweak
This is the Agile board card fields module that is enabled by default when you install the extension in Chrome.
auto-generated-colors

 

 

 

 

 

 

 

 

  1. Set the Prepend issue summary with issue id (S size only) to Yes.
    This shows the issue ID, even with the card size set to S.
  2. Use the Fields settings to add the fields you want to show on each card. Andrey added the Due Date, Start date, State, and Assignee fields.

Agile board layout
This module modifies the look and feel of the board. You can use the default configuration for this module.
color-fix
1. The Darcula mode option is Enabled.
2. The One line swimlane title option is Enabled.
3. The Sticky header is Visible.
4. The Sticky footer is Hidden.

When you’ve finished configuring the extension, your board should look something like this:
darcula

If you look carefully, you’ll see that these teams use different color schemes for the State field in their projects. Don’t worry — there’s a fix for that as well!
1. Open the settings for the Default cards tweak module.
2. Click the Edit button for the State field setting.
3. Change the Use field colors option to Auto-generated colors.
ss-board-layout

4. Click the Save and apply button.

Now, each value in the State field is assigned a unique color, no matter which project the issue belongs to.
ss-card-fields

 

 

 

 

 

 

 

 

Ready to try this board for your tasks? Get YouTrack and bake your board with pleasure!

Posted in how-to, newsletter, tips | Tagged , , | Leave a comment

YouTrack 2017.2 bug fix is here (build 33063)

Please welcome a fresh bug fix for YouTrack 2017.2 (build 33063).

This update brings a number of fixes and improvements for the Agile Board, among those are:

JT-41378 – Board is spontaneously reloaded from time to time.
JT-41387 – Can’t edit a sprint.

The update also brings usability and performance fixes. For more details, please refer to the Release Notes.

Download YouTrack 2017.2.33063 and enjoy the latest version today.

If you use YouTrack 2017.2 InCloud, your instance will be upgraded according to our Maintenance Calendar.

Posted in newsletter | Tagged , | Leave a comment

Baking Boards – Episode 5: CLion & AppCode Kanban Board

In this episode of Baking Boards, two of our Quality Assurance Engineers show you how the CLion and AppCode teams use their agile boards to follow a Kanban-inspired methodology.

Preparation

1. Create your board.
Start with the Kanban board template.
1-create
2. Add your projects.
You can add multiple projects, but on these boards, each team only manages issues that are assigned to one project. The CLion and AppCode teams have separate projects, and each project has its own board.
2-projects
For the Backlog option, choose Create new. You can set this up later.
Just click the Create Board button to continue with the setup.

3. Rename your sprint.
Our teams works in a continuous flow that is represented by a single, unscheduled sprint. To make this more obvious, they renamed the default sprint.
3-sprints

Follow these instructions:

  • Open the sprint drop-down list.
  • Click the Edit icon next to the First sprint.
  • Rename the sprint. We changed the name to Current.
  • Leave the sprint as unscheduled and apply your changes.

4. Set sprint options.
For a Kanban board, you would normally add all new issues to the board when they are submitted in the project. These teams use the backlog to prioritize issues and manually add the issues to the board.

However, they use the Automatically add new issues to Current sprints option in order to transfer the issues between the CLion and AppCode boards. When an issue moves between the CLion and AppCode projects (which happens quite often), unresolved issues are assigned to the current sprint in the new project automatically. This ensures that the issue appears in the same stage of development on the Kanban board for the new project.

5. Define columns.
Each team identifies columns with the values that are stored in the CIDR Kanban State field.

5-columns
This field is attached to the CLion project and the AppCode project, so they use it to define the columns for both boards.
The values in this field represent the stages in their development process. They use the stages Analyse, Develop, Review, Ready to test, Test, Merge, and Done.
Merge is a special stage where a task is ready but not yet published in the release branch. When the task is merged to the release branch, it moves to the Done column.

6. Set WIP limits.
These teams limit the work in progress for every column except Done.
6-wip
The WIP limits are tuned according to the number of team members who work on each stage and the number of tasks they are comfortable working on in parallel. When cards in a column exceed the WIP limit, this indicates that there is a bottleneck in this stage of development.

7. Define swimlanes.
Here, the teams also use a dedicated custom field, CIDR Kanban track, to separate tasks into different streams. This field stores two values: Priority and General.
Priority tasks go on the top, and should be taken first.
7-swimlanes

8. Configure cards.
The teams use the swimlanes to indicate which issues need the most attention, but they also use the values in the Severity field to highlight cards on the board. This helps us see if there are any issues in the General swimlane that need to be moved to the Priority track.
8-cards
9. Pick a chart.
They don’t work with the chart on these agile boards – the WIP limits help them to identify bottlenecks. The default chart option for a Kanban board is Cumulative flow, so it’s already set up if you want to use it.

10. Build the backlog.
Each of these projects use a saved search that represents the incoming queue of issues.
Each saved search sorts issues in a custom order. They use the custom order in the issues list to prioritize the queue.
This search query simply shows any issue that is unresolved in either project.
10-backlog

Serving Suggestion

Prioritizing issues in the queue is an important part of the process for both teams. The teams organize the queue during planning sessions and revisit the priority on a regular basis. Planning sessions occur after every major release. The teams makes a preliminary agreement on the priority for each task and who will take it.

The queue is updated when new critical issues or regressions appear, or whenever the teams just feel that the order needs to change.

Developers also have their own lists of things to do. The queue is simply a guideline. When developers choose their next task, they either look into the backlog for an issue in the queue or check their personal list.

On any Kanban board, tasks eventually start to pile up in the Done column. When these teams publish an EAP or release version of their product, they remove all of the issues that are included in the release from the board. The fastest way to clean up the Done column is to search for all of the resolved issues that were included in the latest release, for example, in: CPP version: {CLion 2017.1.1} State: Fixed and update them with a command. For example, the command to remove issues from the CLion board is remove Board CLion Kanban.

Secret Sauce

The CLion and AppCode teams use several workflow rules that automatically update values in issues that are managed on the board. The following workflows are triggered by events on the board:

1. When a user moves an issue to the board, the card is assigned to the current user. This workflow also assigns a card to the QA Engineer who moves it to the Test column. The assignee is not updated when cards move between other columns — these assignments are set manually.

2. When an issue is added to the board, the value in the CIDR Kanban Track field is set to General (if the field was empty). This workflow fires when a developer adds an issue to the board with a command or by setting a value of the CIDR Kanban State field in the issue itself.
This ensures that the issue is added to the correct swimlane. If the value in the CIDR Kanban Track field is empty, the card appears in the swimlane for uncategorized cards, which is not where it belongs.

3. When a card is moved from one column to another, changes are synchronized with the value that is stored in the State field. The CIDR Kanban State field stores values as enumerated types, not states. If the value for the State field is not synchronized with changes on the board, the issues are never moved to a state that is considered to be resolved.
This workflow sets the value for the State when the following changes are applied to an issue:

  • When a card moves to the Done column, the state is set to Fixed. The issue is then considered to be resolved. If the card is currently assigned to the Priority swimlane, it moves to General.
  • When a card is added to the board (meaning the CIDR Kanban State field is set to any value other than Done), the state is set to In Progress.
  • If an issue is removed from the board (meaning the CIDR Kanban State field is set to an empty value) and an issue has the In Progress state, the state is set to Open. In this case, the workflow also removes the issue from the current sprint and sets the CIDR Kanban Track field to an empty value.

4. When a card moves to the Test column, the no testing tag is removed from the issue.
The team uses the no testing tag to flag trivial fixes. The developer and reviewer can agree that an issue doesn’t require testing and add the tag. However, if QA disagrees and decides it should be tested, the tag is removed automatically. When QA agrees to pass the issue without testing, the tag remains as an indicator that the fix was not tested manually.

Here is the workflow code:

Kanban WF_1
Kanban WF_2

5. When an issue moves to the Done column, the user is prompted to set a value for the Fix versions field. This workflow ensures that only tasks that are ready for release are moved to the Done column.
Kanban WF_6
Note that this change isn’t actually triggered when the value for the CIDR Kanban Field changes. Instead, it is triggered by the workflow that synchronizes changes in this field with the value for the State field. This behavior is managed by the third workflow in this list.

Cook’s Note

As you can see, these teams follow a hybrid agile methodology. They call it ‘Kanban-inspired’. However, it works well for them, which again proves the main concept of any agile methodology: there are no strict rules to follow. Being agile means being flexible and ready to continuously tune your process.

If you are new to agile, and want to try a Kanban approach, we recommend that you start with a traditional Kanban practice. You can follow the setup that is described in our Kanban tutorial and tune it as you move forward.

Good luck with your Kanban transformation!

Posted in how-to, newsletter, tips | Tagged , , , , | Leave a comment

Baking Boards – Episode 4: YouTrack Scrum

In this episode of Baking Boards, we show you how to build and use a Scrum board for agile software development. This is the same board that is used by the team who built the agile board in YouTrack!

Preparation

1. Create your board.
We built this board using the Scrum board template.
1a_create board

When you create the board:

  • Select the projects that you want to manage on the board. On this board, we manage issues in the YouTrack and YouTrack Backlog projects.
  • For the Backlog option, choose Create new. We’ll customize the backlog later.

1b_new board
2. Create a sprint.
We assign each sprint a number as the sprint name and set the schedule for two weeks.
Most sprints start on a Monday and end on the following Friday.

2_new sprint
3. Set sprint options.
We pull user stories from the backlog, so we don’t use any options that add issues to the board automatically.

3_sprint options
4. Define columns.
Columns are identified by values from the State field. We have separate columns for Open, In Progress, To be discussed (merged), and Fixed.
There’s an additional state in our projects, but we don’t add it as a column on the board. When an issue moves from Fixed to Verified, it disappears from the board, but is still assigned to the sprint.

4_define columns

5. Define swimlanes.
Most of the swimlanes are identified by issues that are assigned the User story value in the Type field. From time to time, we add a special swimlane for reducing technical debt, so we add issues that are assigned this type as well.
We show the swimlane for uncategorized cards at the top of the board.

5_define swimlanes

6. Configure cards.
When we add a card to the board, the default value for the Type field is Task.
The Color Scheme is based on the set of values for the Priority field.
We also enabled the option to show colors for other custom fields.

6_configure cards

7. Build the backlog.
We create user stories in a dedicated project for backlog issues. The saved search for the backlog uses a custom sort order. We review and prioritize issues in the backlog when we plan each sprint.

7_build backlog

This search query:

  • Shows only issues that belong to our project for backlog issues (YouTrack Backlog, YTB for short)
  • Shows only issues that are unresolved (#Unresolved)
  • Excludes issues that are already assigned to a sprint on the board (has: -{Board YouTrack}

Note: We don’t configure the chart option on this board. Our approach to Scrum includes a few unconventional practices that reduce the effectiveness of the burndown as a reporting tool.
We don’t estimate tasks.
We continuously add new issues to the board during the sprint.
We split issues that were created during the planning into smaller tasks.
Our focus is simply to finish as many user stories as possible before the end of the sprint. To track our progress, all we have to do is look at the number of unresolved swimlanes on the board.

note_no-chart

Posted in how-to, newsletter, tips | Tagged , , , | Leave a comment