Sprint Options
YouTrack 7.0 changes how you work with sprints on an agile board.
In the old agile board, new issues that matched a column and swimlane were added to the current sprint automatically. The new board gives you complete control over which issues are assigned to sprints.
Sprints are no longer linked to fix versions by default. This change lets you manage sprints and fix versions independently.
The Sprint options settings support backward compatibility with features that were built into the previous version of the agile board. You can also use these settings to automate how issues are added to boards with a single, unscheduled sprint. This page explains how each option affects the behavior of your board.
Manually Assign Issues to Sprints
This is the default option for new boards. To add an issue to the board, you must explicitly assign it to a sprint. You can either apply a command (Board <board name> <sprint name>
), drag an existing issue from the backlog to the sprint, or add an issue directly on the board.
This option gives you the most control over which issues are assigned to each sprint.
The two remaining options let you add issues to sprints automatically under certain conditions, however, you can still add issues manually to any sprint no matter which option you choose.
Add New Issues to Sprint
This option was added to support the default behavior of the previous version of the board.
When enabled, new issues are added to the selected sprint automatically. Issues are added automatically when:
The issue is assigned to a project that is managed on the board.
The value that is set in the custom field that identifies columns matches a column that is visible on the board.
Every time you schedule a new sprint, the option to update this setting is visible in the New Sprint dialog.
Teams that follow the Scrum development framework usually commit to the issues that they want to finish at the beginning of each sprint. Adding issues to the sprint automatically can add work that is outside the scope of the current sprint and defeats the purpose of sprint planning.
You can enable this setting on a Kanban board or any other board that doesn't use sprints. All of the issues that are created in your projects are then visible on the board without having to check the backlog.
Link Sprints to Custom Field
This option was added to let teams that synchronize their fix versions with sprints continue to use the board without changing their working process. You can also use this option to link sprints to custom fields that store any enumerated type, including fields that store a build
, state
, version
, ownedField
, or enum
.
With this option enabled, the board mimics the behavior of the previous version where sprints were linked to fix versions. The sprint name is linked to the set of values in the selected custom field.
When you enable this option, YouTrack performs the following operation:
- A new sprint is created for every value in the set for the selected custom field. If the linked field stores a
version
type, the following settings are applied to each sprint:Sprints are assigned a schedule that coincides with the Release date that is assigned to each value. Sprints for values that are not assigned a Release date are scheduled for two weeks starting with the current week.
Sprints are not created for linked values that are marked as Released or Archived.
If the custom field can be empty, an unscheduled sprint is created for the empty value. If you have multiple projects that do not use the same empty value for the linked field, an unscheduled sprint is created for each empty value.
Existing sprints that do not match a value in the linked sets of values are archived.
Once this option is enabled, actions that you perform on the board affect the value of the linked custom field, and vice versa. Users who update issues on the board don't require any special permissions. To add, rename, or remove sprints, the owner of the board must have permission to edit the set of values (Update Project) in all of the projects that use this custom field.
Here's what happens to the value in the linked custom field when you update sprints on the board:
Action | Result |
---|---|
Add issue to sprint | The value in the linked custom field is set to the value that is used for the sprint. This applies to issues that are added as cards or swimlanes. |
Remove issue from sprint | The value is removed from the linked custom field in the issue.
|
Add sprint to board | The sprint name is added to the set of values in the linked custom field for all projects that use this custom field. |
Rename sprint | The corresponding value in the linked custom field is also renamed. |
Archive sprint | The corresponding value in the linked custom field is also marked as archived. This action is only applied when the linked custom field stores a |
Delete sprint from board | The sprint is deleted. The value that corresponds to the name of the deleted sprint is removed from the set of values in the linked custom field. |
Here's what happens to sprints on any agile board that is linked to the custom field when you update values in the linked custom field:
Action | Result |
---|---|
Update the value in an issue | The issue is automatically added to the corresponding sprint on any board that is linked to this custom field. If the corresponding sprint does not exist on the board, a sprint with a name that matches the new value in the custom field is created. |
Remove a value from an issue | The issue is removed from the corresponding sprint. |
Add value to the set | A sprint with corresponding name is created in all agile boards that are linked to this custom field. Issues are assigned this value when they are added to the new sprint. |
Edit a value in the set | The corresponding sprints in all agile boards that are linked to this custom field are renamed. The value is updated in all issues that are assigned to the corresponding sprint, assigning them to the renamed sprint. This behavior varies slightly when you manage multiple projects on the board:
|
Mark a value as archived | The corresponding sprints in all agile boards that are linked to this custom field are archived. |
Delete a value from the set | The corresponding sprint is deleted from the agile board. If the custom field can contain an empty value, the following changes are applied to all issues that are assigned the deleted value:
If the custom field cannot be empty, you are asked to replace the deleted value with an existing value in the set. In this case:
|
If you switch to another sprint option at a later date, the issues on the board are updated to match the behavior of the modified board:
The link between sprints and the custom field is removed.
All issues that are currently assigned to sprints on the board are linked explicitly to the sprint no matter what value is set in the custom field.
Search Query
When the Link sprints to custom field option is enabled, you can use a query to filter the cards on the board. The query filters the issues that are shown as cards and swimlanes.
When you set a query for an existing board, issues that don't match the query are not removed from the board. You simply don't see them.
After the query is applied to the board, any issue that you add to the board — whether manually or with a command — is updated to match the attributes in the search parameters.
You can use the filter control at the top of the board to further limit the issues that are returned by the query.
Relative Queries
A query that uses relative parameters can produce strange or unexpected behavior on the board. Values for parameters like Today
, Yesterday
, last week
, and this week
are recalculated every time you open or refresh the board. The value that is displayed in the auto-completion popup is not stored in the query — only the text-based variable.
This means that a query like created: {this month}
shows issues that were created during the current month. As soon as the calendar changes to the next month (in this case, from November to December), any issue that was created the month prior disappears when the board is refreshed.
If you use relative parameters in a query, you may experience strange behavior with:
Live update — cards that match the filter criteria when the board is opened can disappear when the issue no longer matches the criteria after an update is applied.
Workflow support — workflows that react to sprint changes can apply unexpected changes.
Adding issue to a sprint from the backlog — issues in the backlog that do not match the parameters in the query cannot be added to the sprint.
You can use a board with a relative query as an alternative view to the issues list, but we don't recommend that you use this type of board to update issues.
Personal Queries
The value for search queries that include the keyword me
is also recalculated every time the board is opened or refreshed. You can use this parameter to a create one board that gives each user a view of their own issues. For example, a search query like #unresolved for: me
shows only unresolved issues for the currently logged-in user. Each member of the project team can open the board and see only the issues that are assigned to them.