Skip to content

Projects Integration

Björn Platte edited this page Jan 16, 2026 · 1 revision

GitHub Projects Integration

Integrate GitHub Projects (v2) with your Obsidian vault. View your project boards as Kanban views and track project-specific metadata like status, priority, and iterations.

Overview

  • Track GitHub Projects across organizations
  • Visual Kanban board in Obsidian
  • Drag-and-drop between columns
  • Custom field support (status, priority, iteration)
  • Project-specific templates

Getting Started

1. Load Projects

  1. Open plugin settings
  2. Navigate to GitHub Projects section
  3. Click Load Projects
  4. Browse the Available Projects tab
  5. Select projects to track
  6. Click Add Selected Projects

Projects are loaded from your tracked repositories and organizations.

2. Configure Storage

For each project, configure where files are stored:

Folder Template Variables:

Variable Description Example
{project} Project title My Project
{owner} Project owner LonoxX
{project_number} Project number 1

Example: GitHub/{project} creates GitHub/My Project/

Kanban View

Open the Kanban board with: Open GitHub Projects Kanban (command palette)

Features

  • Visual board organized by status columns
  • Tab navigation between projects
  • Click cards to open the note

Customize Columns

  1. Open project settings
  2. Find Status Columns section
  3. Drag to reorder columns
  4. Toggle visibility (eye icon) to show/hide
  5. Click Refresh from GitHub to reload options

Options:

  • Show Empty Columns: Display columns with no items
  • Skip Hidden Statuses: Don't sync items with hidden status

Project Template Variables

When using templates with projects, additional variables are available:

Variable Description
{project} Project title
{project_url} Project URL
{project_number} Project number
{project_status} Item's status
{project_priority} Priority value
{project_iteration} Iteration/sprint name
{project_iteration_start} Iteration start date
{project_iteration_duration} Iteration duration
{project_fields} All custom fields as YAML
{project_field:FieldName} Specific custom field

Conditional Content

Show content only when the issue is in a project:

{project:## Project Info
- **Project:** [{project}]({project_url})
- **Status:** {project_status}
{project_priority:- **Priority:** {project_priority}}
{project_iteration:- **Iteration:** {project_iteration}}
}

Example Template

---
title: "{title_yaml}"
project: "{project}"
status: "{project_status}"
priority: "{project_priority}"
---

# {title}

{project:> **Project:** [{project}]({project_url}) | **Status:** {project_status}
}

{body}

Workflow Example

  1. Create a GitHub Project for your sprint
  2. Add issues to the project with status columns
  3. Sync with Obsidian - issues get project metadata
  4. Open Kanban view to see your sprint board
  5. Drag cards to update status (syncs to GitHub)
  6. Link project issues in your daily notes

Related

Clone this wiki locally