Skip to content

forketyfork/obsidian-youtrack-fetcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

373 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YouTrack Fetcher

Build status Latest Release MIT License TypeScript

This Obsidian plugin allows you to quickly fetch YouTrack issues and create notes from them in your Obsidian vault.

Features

  • Fetch YouTrack issues by ID or URL and create structured notes
  • Easy access via keyboard shortcut
  • API token authentication support
  • Configurable folder for storing issue notes
  • Configurable note template
  • Use ${field} placeholders in templates to insert values from fetched fields
  • Fields to fetch are parsed from your template automatically
  • You can specify arbitrarily nested fields, e.g., ${project.team.name}
  • Search for issues using YouTrack query language and import them from a paginated list

Installation

From Obsidian Community Plugins

  1. Open Obsidian
  2. Go to Settings > Community plugins
  3. Disable Safe mode if necessary
  4. Click Browse and search for "YouTrack Fetcher"
  5. Install the plugin
  6. Enable the plugin after installation

Manual Installation

  1. Download the latest release from the GitHub repository
  2. Extract the ZIP file into your Obsidian vault's .obsidian/plugins/ folder
  3. Enable the plugin in Obsidian settings

Usage

  1. Set up your YouTrack instance URL in plugin settings
  2. Configure API token if required for your YouTrack instance plugin settings
  3. Use the keyboard shortcut or click the clipboard icon in the ribbon fetch issue window
  4. Enter the issue ID or paste the full issue URL
  5. Click "Fetch Issue" to create a note based on the issue data fetched issue

Alternatively, you can use the "Search YouTrack issues" command to open a search modal. Here you can enter a YouTrack query to search for issues. The results are paginated, and you can import any issue from the list.

search

Note Format

The plugin creates notes with the following format. As an alternative, specify your own template in the plugin settings. You can use arbitrarily nested fields, e.g., ${project.team.name}.

# ${id}: ${title}

URL: ${url}

## Description

${description}

Any field referenced in the template can be used as a placeholder with ${field}. You can also use arbitrarily nested fields, e.g., ${project.team.name}.

The issue summary can also be used as a ${title} placeholder.

See the YouTrack API Issue entity documentation for a list of available fields.

Requirements

  • Obsidian v0.15.0 or higher
  • Access to a YouTrack instance (cloud or self-hosted)

Troubleshooting

If you have trouble fetching issues, check the following. If you're on macOS or Linux, you can use the provided curl commands in your terminal, replacing the example host, port, and token with your values.

  1. URL + network reachability: verify that YouTrack is accessible from your machine.

    Use the exact base URL you open in a browser, including port and any additional path like /youtrack.

    curl -s -o /dev/null -w "%{http_code}\n" https://youtrack.company.local:8080/youtrack
    • 200/302/401/403 = reachable
    • 000 = can't connect (VPN/DNS/firewall/port issue)
  2. API token (if your instance requires authentication).

    To get a token:

    • go to your profile: /users/me
    • click on "Update personal information and manage logins"
    • select "Account security"
    • scroll down to "Tokens" and click "New token"
    • set name and add "YouTrack" to token scope
    • click "Create" and copy the token

    Then enable "Use API token authentication" in the plugin settings and paste the generated token into "API token".

    How to check that the token works:

    curl -s -o /dev/null -w "%{http_code}\n" -H "Authorization: Bearer <your token here>" <base URL>/api/users/me
    • 200 = token works
    • 401/403 = token invalid or permissions issue
  3. Permissions / project access

    Ensure you have access to the project. Replace in the request below with the one you expect to have access to:

    curl -s -o /dev/null -w "%{http_code}\n" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer <your token here>" \
      -G --data-urlencode "query=project: <project code>" \
      --data-urlencode "fields=idReadable,summary" \
      --data-urlencode "\$top=1" \
      <base URL>/api/issues
    • 200 = access ok
    • 403 = no permission

If you still face problems, create an issue. Also: in Obsidian, open View -> Toggle Developer Tools, check the Console for errors, and attach those logs to the ticket if possible.

Development

Using Nix and Just (Recommended)

This project includes a Nix flake and direnv configuration for reproducible development environments, along with Just commands for common tasks.

Prerequisites

  • Nix with flakes enabled
  • direnv (optional but recommended)

Setup

  1. Clone the repository and enter the directory
  2. If using direnv, run direnv allow to automatically load the development environment
  3. If not using direnv, run nix develop to enter the development shell

Available Commands

# List all available commands
just

# Clean build artifacts
just clean

# Install dependencies
just install

# Full production build (includes tests, type checking, and formatting)
just build

# Development build with watch mode
just watch

# Run tests
just test

# Run linter
just lint

Using Yarn Directly

Run the development build with change watch:

yarn dev:watch

Run the TypeScript type check:

yarn typecheck

Run the linter:

yarn lint

Run the tests:

yarn test

Run the tests in watch mode:

yarn test:watch

Generate a coverage report:

yarn coverage

Run the production build (includes tests, type checking, and formatting):

yarn build

Bump the version in package.json and manifest.json, push the main branch, and publish a new tag:

yarn release -- <strategy|version>

My other plugins

  • Food Tracker: Track calories, macros, and nutrition totals with database and inline entries.
  • Grazie Plugin: Grammar and spell checking powered by JetBrains AI Platform (in development).
  • Speech Bubbles: Render transcript notes as chat-style speech bubbles.

License

This plugin is licensed under the MIT License.

About

Obsidian plugin for creating notes out of YouTrack issues

Topics

Resources

License

Stars

Watchers

Forks

Contributors 7