YouTrack

You can import tasks from your YouTrack instance using the youtrack service name.

Example Service

Here’s an example of a YouTrack target:

[my_issue_tracker]
service = youtrack
youtrack.host = youtrack.example.com
youtrack.login = turing
youtrack.token = perm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[my_issue_tracker]
service = "youtrack"
host = "youtrack.example.com"
login = "turing"
token = "perm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

The above example is the minimum required to import issues from YouTrack. You can also feel free to use any of the configuration options described in Common Service Configuration Options or described in Service Features below.

Service Features

Token

To access the YouTrack rest api, you need a permanent token.

Unauthenticated

While the login and password fields are still required, bugwarrior will not log in to the service if you set:

youtrack.anonymous = True
anonymous = true

Note

This makes no attempt at IP obfuscation.

Customize the YouTrack Connection

The host field is used to construct a URL for the YouTrack server. It defaults to a secure connection scheme (HTTPS) on the standard port (443).

To connect on a different port, set:

youtrack.port = 8443
port = 8443

If your YouTrack instance is only available over HTTP, set:

youtrack.use_https = False
use_https = false

If you want to ignore verifying the SSL certificate, set:

youtrack.verify_ssl = False
verify_ssl = false

For YouTrack InCloud instances set:

youtrack.incloud_instance = True
incloud_instance = true

Specify the Query to Use for Gathering Issues

The default option selects unresolved issues assigned to the login user:

youtrack.query = for:me #Unresolved
query = "for:me #Unresolved"

Reference the YouTrack Search Query Grammar for additional examples.

Queries are capped at 100 max results by default, but may be adjusted to meet your needs:

youtrack.query_limit = 100
query_limit = 100

Import Issue Tags

The YouTrack issue tracker allows you to tag issues and these tags are applied to tasks by default. To disable this behavior, set:

youtrack.import_tags = False
import_tags = false

If you would like to control how these tags are formatted, you can specify a template used for converting the YouTrack tag into a Taskwarrior tag.

For example, to prefix all incoming tags with the string ‘yt_’ (perhaps to differentiate them from any existing tags you might have), you could add the following configuration option:

youtrack.tag_template = yt_{{tag|lower}}
tag_template = "yt_{{tag|lower}}"

In addition to the context variable {{tag}}, you also have access to all fields on the Taskwarrior task if needed.

Note

See Field Templates for more details regarding how templates are processed.

Provided UDA Fields

Field Name

Description

Type

youtrackissue

YouTrack Issue

Text (string)

youtracknumber

YouTrack Project Issue Number

Text (string)

youtrackproject

YouTrack Project

Text (string)

youtracksummary

YouTrack Summary

Text (string)

youtrackurl

YouTrack URL

Text (string)