Click here to Skip to main content
15,851,335 members
Articles / Desktop Programming / Windows Forms

Atlassian Jira - TortoiseSVN Plugin for Issue Tracking and Easy Linking of Subversion Project with Jira Issue

Rate me:
Please Sign up or sign in to vote.
4.57/5 (5 votes)
30 Mar 2009CPOL 112.7K   3.3K   22   17
Atlassian Jira - TortoiseSVN Plugin for Issue Tracking and Easy Linking of Subversion Project with Jira Issue

Introduction

This application is a plugin for TortoiseSVN. It integrates into your TortoiseSVN application.

If you use Atlassian Jira for issue tracking and TortoiseSVN for subversion repository management, you may want to manage the issue when working towards copy committing. This plugin helps you at this time.

Using the Code

JiraBrowserPlg DLL is the main plugin DLL. This is the source code:

C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Interop.BugTraqProvider;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using JiraTortoBrowser;

namespace JiraTorto
{
    [ComVisible(true)]
    [ClassInterface(ClassInterfaceType.None)]
    [Guid("7C054A52-725F-4053-BFCF-44988D9BA5DE")]

    public class JiraTortoPlugin : IBugTraqProvider2, IBugTraqProvider
    {
        
        #region IBugTraqProvider2 Members

        public string GetCommitMessage(IntPtr hParentWnd, string parameters, 
		string commonRoot, string[] pathList, string originalMessage)
        {
            return GetCommitMessage2(hParentWnd, parameters, "", commonRoot, 
						pathList, originalMessage);
        }

        public string GetCommitMessage2(IntPtr hParentWnd, string parameters, 
	string commonURL, string commonRoot, string[] pathList, string originalMessage)
        {
            try
            {
                MainWindow window = new MainWindow();
                window.Activate();
                if (window.ShowDialog() == DialogResult.OK)
                {                                        
                    return (originalMessage + "\r\n" + window.SelectedIssue());
                }
                return originalMessage;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                throw;
            }            
        }

        public string GetLinkText(IntPtr hParentWnd, string parameters)
        {
            return "Show Issues...";
        }

        public bool HasOptions()
        {
            return true;
        }

        public string OnCommitFinished(IntPtr hParentWnd, string commonRoot, 
			string[] pathList, string logMessage, int revision)
        {            
            MainWindow form = new MainWindow();
            form.Show();
            
            return "an error happened while closing the issue";
        }

        public string ShowOptionsDialog(IntPtr hParentWnd, string parameters)
        {
            frmAccountSettings settings = new frmAccountSettings();
            if (settings.ShowDialog() != DialogResult.OK)
                return "";

            string options = settings.Text;
            return options;
        }

        public bool ValidateParameters(IntPtr hParentWnd, string parameters)
        {
            return true;
        }

        #endregion
    }
}

History

  • 30th March, 2009: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer Istanbul Bilgi University
Turkey Turkey
- Software developer from İstanbul/Turkey
- Programmed with C#.NET, ASP.NET, ASP, PHP, T-SQL
- SQL Server Administration
- Experiencing about NHibernate

Comments and Discussions

 
QuestionInstallation and configuration Pin
Member 1309756431-Mar-17 9:52
Member 1309756431-Mar-17 9:52 
QuestionRedirects are failing with Access Denied Pin
Member 1205940414-Oct-15 23:17
Member 1205940414-Oct-15 23:17 
QuestionHow do I enter username when it is my emailadress Pin
erikbrannlund17-Jun-15 1:35
professionalerikbrannlund17-Jun-15 1:35 
QuestionUnable to see the SVN commit info in Jira Pin
Snehal Masne26-Aug-14 0:31
Snehal Masne26-Aug-14 0:31 
QuestionI can not get data from Atlassian Jira with path "/rpc/soap/jirasoapservice-v2?wsdl" Pin
H.K Vietnam Ltd.2-May-13 22:16
H.K Vietnam Ltd.2-May-13 22:16 
GeneralAn alternative implementation on csharptest.net Pin
dmreference dot com24-Aug-09 8:42
dmreference dot com24-Aug-09 8:42 
GeneralSome bugfixes [modified] Pin
Linne7424-Jun-09 11:07
Linne7424-Jun-09 11:07 
GeneralRe: Some bugfixes Pin
Ahmet Göktaş30-Jun-09 8:35
Ahmet Göktaş30-Jun-09 8:35 
GeneralRe: Some bugfixes Pin
Vlad Volkov24-Nov-09 5:09
Vlad Volkov24-Nov-09 5:09 
GeneralRe: Some bugfixes Pin
Ahmet Göktaş24-Nov-09 7:16
Ahmet Göktaş24-Nov-09 7:16 
GeneralRe: Some bugfixes Pin
Ahmet Göktaş24-Nov-09 7:20
Ahmet Göktaş24-Nov-09 7:20 
GeneralCombining multiple BugTraqProvider into a single project Pin
Linne Jan16-Jun-09 11:14
Linne Jan16-Jun-09 11:14 
GeneralTSVN Version Pin
ledz27-Apr-09 12:06
ledz27-Apr-09 12:06 
GeneralRe: TSVN Version Pin
Ahmet Göktaş27-Apr-09 13:04
Ahmet Göktaş27-Apr-09 13:04 
GeneralJira with NTLM authentication Pin
Rolf Kristensen7-Apr-09 0:08
Rolf Kristensen7-Apr-09 0:08 
GeneralRe: Jira with NTLM authentication Pin
Ahmet Göktaş7-Apr-09 0:22
Ahmet Göktaş7-Apr-09 0:22 
GeneralRe: Jira with NTLM authentication Pin
Rolf Kristensen7-Apr-09 0:23
Rolf Kristensen7-Apr-09 0:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.