Bug tracking integration

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

kkchan
Posts: 54
Joined: Wed Jun 30, 2010 12:45 am

Bug tracking integration

Post by kkchan » Fri Apr 20, 2012 1:32 am

Hi
I haven been trying to implement bug tracking integration with app Gemini. May I know how to tell VaultService.aspx where is the cvsSubmit.asp file located? I am using Vault 4.1.

Thank you

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: Bug tracking integration

Post by lbauer » Fri Apr 20, 2012 9:35 am

Vault has its own work item tracking integration in Vault Pro. Also Vault Standard supports integration with FogBugz. We haven't tested integration with other systems, so aren't able to support them.

However, some users have been able to get third-party bug tracking integration to work by using FogBugz-style integration.

Information here:

http://support.sourcegear.com/viewtopic.php?t=581
Linda Bauer
SourceGear
Technical Support Manager

kkchan
Posts: 54
Joined: Wed Jun 30, 2010 12:45 am

Re: Bug tracking integration

Post by kkchan » Fri Apr 20, 2012 6:42 pm

Hi
Actually I already code the plugin that your developer previously shared. I need to know, what to put under BugTrackingPath in web.config? Full url of my csvSubmit.asp?

http://server/myPlugIn/ ?
or
http://server/myPlugIn/cvsSubmit.asp ?
or ...?

thank you

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: Bug tracking integration

Post by lbauer » Tue Apr 24, 2012 1:46 pm

Since we haven't tried integration with Gemini, we're not sure which would work best. You could try each option.

Or, take a look at this sample code on Gemini's website from a user who was able to integrate Vault with Gemini:
http://gemini.countersoft.com/issue/Vie ... 0&PROJID=2
Linda Bauer
SourceGear
Technical Support Manager

kkchan
Posts: 54
Joined: Wed Jun 30, 2010 12:45 am

Re: Bug tracking integration

Post by kkchan » Tue Apr 24, 2012 7:08 pm

Hi
Thank you for reference.
I understand that Vault doesn't support gemini integration, and thank for the link. But my question is, how to let Vault know the url of my cvsSubmit.asp? Should I configure "BugTrackingPath" that exist in web.config? Does it require FULL url (i.e. http://server/myVirtualDir) or ...? Does Vault require any specific VirtualDir Name to be used?

Thank you

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: Bug tracking integration

Post by lbauer » Wed Apr 25, 2012 3:52 pm

In our FogBugz integration we use this URL:


http://<fogbugzserver>/fogbugz
Details here:
http://download.sourcegear.com/misc/vau ... ation.html

We would suggest using this path:

http://server/myPlugIn/

Rather than this one, because Vault adds the cvs Submit.asp already.
http://server/myPlugIn/cvsSubmit.asp
Linda Bauer
SourceGear
Technical Support Manager

kkchan
Posts: 54
Joined: Wed Jun 30, 2010 12:45 am

Re: Bug tracking integration

Post by kkchan » Wed May 09, 2012 2:00 am

Hi
I have created a simple vcsSubmit.asp. When I test by check-in, nothing is logged. I checked IIS log file, the cvsSubmit.asp is not called as well. I tried to test by typing URL at address bar, and the log file somefile.txt is created.

I have specified the URL at VaultService/admin, myRepository | Bug Tracking Integration URL, but still no luck.

How could I know if the cvsSubmit.asp is really called by VaultService.asmx?

I checked sgvault log file, it logged an error

Exception in plugin thread : Unable to connect to the remote server

But my URL setting is correct http://localhost:nnnn/VaultToGemini/.

Code: Select all

<%
Dim ixBug, sFile, sPrev, sNew, sRepo
Response.Write("abc")
ixBug = Request.QueryString("ixBug")
sFile = Request.QueryString("sFile")
sPrev = Request.QueryString("sPrev")
sNew = Request.QueryString("sNew")
sRepo = Request.QueryString("sRepo")

dim fs,tfile
set fs=Server.CreateObject("Scripting.FileSystemObject")
set tfile=fs.CreateTextFile("C:\Windows\Temp\somefile.txt")

url = "http://localhost:1804/rndbug/cvsSubmit.aspx?ixBug=" & ixBug & "&sFile=" & sFile & "&sPrev=" & sPrev & "&sNew=" & sNew & "&sRepo=" & sRepo


tfile.WriteLine(url)
tfile.close
set tfile=nothing
set fs=nothing

%>

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: Bug tracking integration

Post by lbauer » Wed May 09, 2012 7:12 am

I'll consult with our developers to see if they have suggestions.
Linda Bauer
SourceGear
Technical Support Manager

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: Bug tracking integration

Post by lbauer » Wed May 09, 2012 12:48 pm

The Vault server log wouldn't be useful, as the Vault Server does not call cvsSubmit.asp. It is actually the Vault client which makes that call.

In order to get more information, you can enable client side logging and we can look at your client side logs to get a better picture of what is happening when you try to call your own bug tracking system.

To enable logging for all events in the GUI Client, open the Vault GUI Client and hold down the following keys on your keyboard: Control-Alt Shift F12.

The log is called VaultGUIClient.txt and would be in your user's temp directory on the client machine.
Linda Bauer
SourceGear
Technical Support Manager

kkchan
Posts: 54
Joined: Wed Jun 30, 2010 12:45 am

Re: Bug tracking integration

Post by kkchan » Wed May 09, 2012 7:34 pm

Hi
I have tried your suggestion. But I couldn't get the VaultGUIClient.txt. When I hold the keys, VaultGUIClient shown "Logging enabled for all classes in file c:\program files\source gear\Vault Client". But I didn't see any file created here. I also checked "C:\Users\<user>\AppData\Local\Temp", but still no luck. I only see VaultIDEClient.txt, but the content doesn't contain any log for today.

BTW, both folder is given full control permission to myself

Updated:
I found the setting under VaultGUIClient.config. I turned on all logging, all classes, but still the same. BTW I am using Vault 4.1

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<defaultProxy>
	<!-- 
            The following entry enables reading of the per user (LAN) Internet settings.
            Adding additional proxy settings, without first setting to "false",
            will individually override. Note that "Automatic configuration" and 
            "automatic configuration scripts" cannot be read.
            
            <proxy> settings:
                usesystemdefault="[true|false]" - Read settings from Internet Options (see above)
                proxyaddress="[string]" - A Uri string of the proxy server to use.
                bypassonlocal="[true|false]" - Enables bypassing of the proxy for local resources.
             -->
			<proxy usesystemdefault="true"/>
			<!--<proxy usesystemdefault="false" proxyaddress="http://proxyhost:proxyport" 

bypassonlocal="false"/> -->
		<!-- use this section to disable proxy use for matching servers
            example:
        <bypasslist>
            <add address="bypassRegexString" />
        </bypasslist> 
        -->
</defaultProxy>
</system.net>
<appSettings>
	<!--
			enableLogging turns on client-side logging to a file in the path specified in logFilePath.
			If you think you have this file configured properly, but no log file appears, 
			check the system event log (messages are written there if the log file cannot be opened).

			<enableLogging> settings:
				value="[true|false]" - When true logging is enabled, when false no messages will be 

logged.
	-->
	<add key="enableLogging" value="true" />
	<!--
				logFilePath is the fully qualified path to the name of the file which will be used
				for logging.  If this value is unspecified, the default will be the user process' 
				%TEMP% directory.
				
				<logFilePath> settings:
					value="DRIVE:\PATH\FILENAME" - When true logging is enabled, when false no 

messages will be logged.
	-->
	<add key="logFilePath" value="C:\Program Files (x86)\SourceGear\Vault Client" />
	<!--
			classesToLog lets you filter some log messages by class name.  SourceGear support will be
			able to suggest the appropriate class names to use for specific problems.  "all" will
			result in lots and lots (really) of messages.
			
			<classesToLog> settings:
				value="class1,class2,class3,..." - Log these classes; separate with commas.
				value="all" - Log all messages from all classes.
	-->
	<add key="classesToLog" value="all" />
	<!--
			includeLoggingStackTraces includes stack traces with each log message in the client-side log.
			enableLogging must be set to "true" for this to have any effect.
			
			<includeLoggingStackTraces> settings:
				value="[true|false]" - When true stack traces are included, when false they are not.
	-->
	<add key="includeLoggingStackTraces" value="true" />
	<!--
			includeThreadInfo includes thread names and IDs with each log message in the client-side log.
			enableLogging must be set to "true" for this to have any effect.
			
			<includeThreadInfo> settings:
				value="[true|false]" - When true thread info is included, when false it is not.
	-->
	<add key="includeThreadInfo" value="true" />
	<!--
			numUploadThreads tells Vault client how many upload threads to use
			when sending files to the server.  A setting of zero tells Vault
			to simply use its default.  The maximum allowable value is five.
			
			<numUploadThreads> settings:
				value="(integer)" - How many upload threads to use
	-->
	<add key="numUploadThreads" value="0" />
</appSettings>
</configuration>
Please advice. Thank you

kkchan
Posts: 54
Joined: Wed Jun 30, 2010 12:45 am

Re: Bug tracking integration

Post by kkchan » Wed May 09, 2012 9:52 pm

Hi
Finally I managed to make the client logging work. I have emptified the LogFilePath setting so that VaultClient will use default %TEMP% folder for logging.

Please find the attached log file. thank you
Attachments
VaultGUIClient.txt
(1.15 MiB) Downloaded 464 times

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: Bug tracking integration

Post by lbauer » Thu May 10, 2012 8:49 am

The client log file contains no "fogbugz" info, even though you are logging all classes. See the list here:
http://support.sourcegear.com/viewtopic.php?t=2146

Are you using Vault Standard or Vault Pro? Vault Pro would not have a way to integrate with another bug tracking system.

If you're using Vault Standard, you would use Fogbugz settings to enable the integration with your own app.

For instance, in the Vault Admin Web Client under Source Control Repositories->(Repository name)->Bug Tracking Application, select FogBugz from the dropdown. Also make sure the URL to your app is correct in the Bug Tracking Integration URL text box.

Upon committing a tx, in the client log you should see:

"FogBugz Server: <YourBugAppServerURL_fromVault Admin Web Client>"

For each client instance's comma separated list of bug IDs entered in the bug ID list, the following log entry would be found:

"FogBugz url: <The entire CVSSubmit URL for that particular bug id>"

If you were to code this in the API, it looks like the following may need to be set for the "Client Connection" (ServerOperations.client) :

client.bugIDs, client.markBugFixed, client.addBugComment, and client.Comment

BTW, Another way to enable client logging is by modifying this section of the VaultGUIClient.exe.config file:

Code: Select all

                        
    <enableLogging> settings:
      value="[true|false]" - When true logging is enabled, when false no messages will be logged.
  -->
  <add key="enableLogging" value="false" />
  <!--
    classesToLog lets you filter some log messages by class name.  SourceGear support will be
    able to suggest the appropriate class names to use for specific problems.  "all" will
    result in lots and lots (really) of messages.
                        
    <classesToLog> settings:
      value="class1,class2,class3,..." - Log these classes; separate with commas.
      value="all" - Log all messages from all classes.
  -->
  <add key="classesToLog" value="" />
.
Linda Bauer
SourceGear
Technical Support Manager

kkchan
Posts: 54
Joined: Wed Jun 30, 2010 12:45 am

Re: Bug tracking integration

Post by kkchan » Thu May 10, 2012 7:48 pm

Hi
Actually I have set the Integration setting as image file attached. Just the thing not is, I didn't tick "Require bug ID for checkins" checkbox. I tried to tick this option, restart client, and check in again. But the "Update Bug" portion is still disabled.
Attachments
checkin.png
checkin.png (36.34 KiB) Viewed 14193 times
fogbugz.png
fogbugz.png (20.48 KiB) Viewed 14193 times

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: Bug tracking integration

Post by lbauer » Thu May 10, 2012 9:14 pm

Is there any additional information in the client log?
Linda Bauer
SourceGear
Technical Support Manager

kkchan
Posts: 54
Joined: Wed Jun 30, 2010 12:45 am

Re: Bug tracking integration

Post by kkchan » Thu May 10, 2012 9:22 pm

Hi
I have deleted the log, and re-enable logging.
The attached the log file, which contains the logging from VaultClient started, login, show working explorer, check-in dialog launched, VaultClient closed.

thank you
Attachments
VaultGUIClient.txt
(351.53 KiB) Downloaded 422 times

Post Reply