GitExtensions.JiraCommitHintPlugins
1.1.3
dotnet add package GitExtensions.JiraCommitHintPlugins --version 1.1.3
NuGet\Install-Package GitExtensions.JiraCommitHintPlugins -Version 1.1.3
<PackageReference Include="GitExtensions.JiraCommitHintPlugins" Version="1.1.3" />
<PackageVersion Include="GitExtensions.JiraCommitHintPlugins" Version="1.1.3" />
<PackageReference Include="GitExtensions.JiraCommitHintPlugins" />
paket add GitExtensions.JiraCommitHintPlugins --version 1.1.3
#r "nuget: GitExtensions.JiraCommitHintPlugins, 1.1.3"
#:package GitExtensions.JiraCommitHintPlugins@1.1.3
#addin nuget:?package=GitExtensions.JiraCommitHintPlugins&version=1.1.3
#tool nuget:?package=GitExtensions.JiraCommitHintPlugins&version=1.1.3
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.
- Custom runtime resolver ensures all required assemblies (
📦 Installation
Option 1: Manual Installation (DLLs)
- Close Git Extensions if it is currently running.
- Download or build the release output files.
- Place all DLLs and folders in your Git Extensions
UserPluginsdirectory:%LOCALAPPDATA%\GitExtensions\UserPlugins\GitExtensions.JiraCommitHintPlugins\ - 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
- Open the Commit dialog in Git Extensions.
- If desired, type your commit message or subject in the text area (e.g.,
Fix issue in data parser). - Click the Jira Commit Hint icon/menu in the commit message toolbar.
- Select one of your assigned Jira tasks from the dropdown list.
- The commit box is instantly populated according to your configured Message Template.
📄 License
This project is licensed under the Apache-2.0 License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net is compatible. |
-
- Atlassian.SDK (>= 13.0.0)
- GitExtensions.Extensibility (>= 7.0.0 && < 8.0.0)
- Microsoft.VisualStudio.Threading (>= 17.13.61)
- NString (>= 2.1.1)
- System.ComponentModel.Composition (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.