GitExtensions.JiraCommitHintPlugins 1.1.3

dotnet add package GitExtensions.JiraCommitHintPlugins --version 1.1.3
                    
NuGet\Install-Package GitExtensions.JiraCommitHintPlugins -Version 1.1.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GitExtensions.JiraCommitHintPlugins" Version="1.1.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GitExtensions.JiraCommitHintPlugins" Version="1.1.3" />
                    
Directory.Packages.props
<PackageReference Include="GitExtensions.JiraCommitHintPlugins" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GitExtensions.JiraCommitHintPlugins --version 1.1.3
                    
#r "nuget: GitExtensions.JiraCommitHintPlugins, 1.1.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package GitExtensions.JiraCommitHintPlugins@1.1.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=GitExtensions.JiraCommitHintPlugins&version=1.1.3
                    
Install as a Cake Addin
#tool nuget:?package=GitExtensions.JiraCommitHintPlugins&version=1.1.3
                    
Install as a Cake Tool

Jira Commit Hint Plugin for Git Extensions

Note: This repository is an enhanced fork of the original ierof/gitextensions.jiracommithintplugin modernized for Git Extensions 7.x and .NET 10.

Provides hints and template-based auto-completion for Atlassian Jira issues directly inside the Git Extensions commit dialog. Effortlessly insert active task keys, summaries, and custom-formatted metadata into your commit messages.


🚀 Key Features & Improvements

  • Git Extensions 7.x & .NET 10 (net10.0-windows) Support: Fully compatible with modern Git Extensions builds and latest extensibility APIs.
  • Flexible Authentication Options:
    • Jira Cloud: Authenticate using your Atlassian Email and API Token.
    • Jira Server / Data Center (Username & Password): Standard credentials authentication.
    • Jira Server / Data Center (Personal Access Token - PAT): Direct Bearer token authentication.
  • Dynamic {CommitMessage} Placeholder:
    • Automatically captures the current text typed in the Git Extensions commit message box when selecting a template.
    • Allows wrapping, prepending, or appending Jira metadata around what you just typed.
  • Full Multiline & Whitespace Preservation:
    • Preserves exact formatting, indentation, and blank lines (e.g., separating commit title from issue references with two empty lines) without any auto-trimming or Git config collapsing.
  • Safe & Case-Insensitive Template Engine:
    • Access any standard Jira field (case-insensitive) with graceful fallback if a field is empty or missing.
  • Reliable Self-Contained Dependency Resolution:
    • Custom runtime resolver ensures all required assemblies (Atlassian.Jira, RestSharp, Newtonsoft.Json, NString) load cleanly inside Git Extensions.

📦 Installation

Option 1: Manual Installation (DLLs)

  1. Close Git Extensions if it is currently running.
  2. Download or build the release output files.
  3. Place all DLLs and folders in your Git Extensions UserPlugins directory:
    %LOCALAPPDATA%\GitExtensions\UserPlugins\GitExtensions.JiraCommitHintPlugins\
    
  4. Re-open Git Extensions.

Option 2: Building from Source

Ensure you have the .NET 10 SDK installed.

# Clone the repository
git clone https://github.com/ierof/gitextensions.jiracommithintplugin.git
cd gitextensions.jiracommithintplugin

# Build in Release mode
dotnet build -c Release

# Pack NuGet / Plugin package
dotnet pack -c Release -o ./artifacts

Copy the build output from GitExtensions.JiraCommitHintPlugins\bin\Release\net10.0-windows\ into:

%LOCALAPPDATA%\GitExtensions\UserPlugins\GitExtensions.JiraCommitHintPlugins\

⚙️ Configuration

In Git Extensions, go to Tools $\rightarrow$ Settings $\rightarrow$ Plugins $\rightarrow$ Jira Commit Hint:

Setting Description Example / Notes
Jira hint plugin enabled Enables/disables the plugin Check to enable
Jira URL Base URL of your Jira instance https://your-company.atlassian.net or https://jira.example.com
Jira User Name Jira username or email Email for Jira Cloud, username for Jira Server
Jira Password Password or API token Atlassian API Token for Cloud, password for Server
Jira PAT Personal Access Token Enter your Bearer token if using PAT on Jira Data Center/Server
JQL Query JQL used to query your active tasks assignee = currentUser() and resolution is EMPTY ORDER BY updatedDate DESC
Message Template Multiline template for commit messages Supports {CommitMessage}, {Key}, {Summary}, and all Jira fields

Use the Preview button inside the settings dialog to verify your connection and preview template output before saving.


📝 Template Formatting & Variables

Available Placeholders

Variable Description Example Output
{CommitMessage} Dynamic input: Text currently typed in the commit message box Fix authentication timeout
{Key} Jira Issue Key PROJ-1234
{Summary} Jira Issue Summary / Title Fix login screen crash on iOS
{Description} Issue full description Detailed description of the issue...
{Status} Current issue status In Progress, Open
{Assignee} Assignee username / display name john.doe
{Reporter} Reporter username / display name jane.smith
{Priority} Priority level High, Critical
{Type} Issue type Bug, Task, Story
{Created} Creation timestamp 2026-08-28 10:00:00
{DueDate} Due date (if set) 2026-09-01
{Resolution} Resolution status Fixed, Done

(Any valid property on the Jira Issue model can also be referenced).


Template Examples

1. Prepend Issue Key to User Typed Message
[{Key}] {CommitMessage}
  • Typed in Commit Box: Fix broken navigation button
  • Selected Task: PROJ-42
  • Result: [PROJ-42] Fix broken navigation button

2. Keep Typed Message with Trailing Empty Lines & Jira Reference
{CommitMessage}


Issue: {Key} - {Summary}
  • Typed in Commit Box: Refactor database connection pool
  • Selected Task: BACK-802: Connection leak in connection pooling
  • Result:
    Refactor database connection pool
    
    
    Issue: BACK-802 - Connection leak in connection pooling
    

3. Standard Title & Summary
{Key}: {Summary}
  • Result: FRONT-101: Add dark mode toggle to navigation bar

4. Conventional Commits Style
feat({Key}): {CommitMessage}

{Summary}
  • Typed in Commit Box: support personal access tokens
  • Result:
    feat(AUTH-55): support personal access tokens
    
    Add personal access token support for Jira Data Center
    

💡 How It Works in Git Extensions

  1. Open the Commit dialog in Git Extensions.
  2. If desired, type your commit message or subject in the text area (e.g., Fix issue in data parser).
  3. Click the Jira Commit Hint icon/menu in the commit message toolbar.
  4. Select one of your assigned Jira tasks from the dropdown list.
  5. The commit box is instantly populated according to your configured Message Template.

📄 License

This project is licensed under the Apache-2.0 License.

Product Compatible and additional computed target framework versions.
.NET Framework net is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.3 89 9/10/2026
1.1.2 114 8/28/2026
1.1.1 106 8/21/2026
1.1.0 100 8/21/2026