FogBugz Technical Support

A forum for technical support discussion related to Fogbugz.
The current FogBugz Knowledge Base can be found at http://help.fogcreek.com/fogbugz.

Posts by Fog Creek Employees are marked:

Documentation
Release Notes
Network Status

Get release notes from FogBugz 4.0 with FinalBuilder 3?

Hi,

I did originally post on the newsgroups for FinalBuilder regarding this, but Vincent Parrett, at VSoft Technologies, suggested I try here, since he mentioned you use FinalBuilder.

Basically what I would like to do is get FinalBuilder ( http://www.finalbuilder.com/ ) to communicate with FogBugz and import its release notes automatically without user intervention.

Is there anyway of talking to FogBugz so that it can dump this information out? Currently the process consists of having to login, go to the release notes section, select a build from a drop down, then save it out manually.

It would be great if I could get FinalBuilder to use a particular URL with the correct build numbers in to get FogBugz to dump the release notes to disk, and then FinalBuilder can import them.

Would this be possible?

Thanks in advance,
Paul Healey
Paul Healey Send private email
Wednesday, March 30, 2005
 
 
Paul,

I did this with a small app I wrote, the key was that you had to be logged in through IE, so that you can use IE's stored cookies. Note, this is in C# and accesses the XML data directly.

CookieContainer container1 = frmMain.GetCookieContainerForUrl(new Uri(this.tbLocation.Text));
HttpWebRequest request1 = (HttpWebRequest) WebRequest.Create(this.tbLocation.Text);
request1.CookieContainer = container1;
HttpWebResponse response1 = (HttpWebResponse) request1.GetResponse();
reader1 = new StreamReader(response1.GetResponseStream());
document1.LoadXml(reader1.ReadToEnd());
return document1;

public static CookieContainer GetCookieContainerForUrl(Uri url)
{
CookieContainer container1 = new CookieContainer();
string text1 = RetrieveIECookiesForUrl(url.AbsoluteUri);
if (text1.Length > 0)
{
container1.SetCookies(url, text1.Replace("; ", ", "));
}
return container1;
}

private static string RetrieveIECookiesForUrl(string url)
{
StringBuilder builder1 = new StringBuilder(new string(' ', 0x100), 0x100);
int num1 = builder1.Length;
if (!frmMain.InternetGetCookie(url, null, builder1, ref num1))
{
if (num1 < 0)
{
return string.Empty;
}
builder1 = new StringBuilder(num1);
InternetGetCookie(url, null, builder1, ref num1);
}
return builder1.ToString();
}

[DllImport("wininet.dll", CharSet=CharSet.Auto, SetLastError=true)]
public static extern bool InternetGetCookie(string url, string name, StringBuilder data, ref int dataSize);
Matt Hawley Send private email
Wednesday, March 30, 2005
 
 
Sure.. you can pull the release notes out in XML or HTML.  In your case you may want them to come out as XML.

Just use the following URL:

http://your.fogbugz.server/download.asp?pg=pgReleaseNotesExport&ixFixFor=74

The ixFixFor is the identity for the release you want it to dump.
Michael H. Pryor Send private email
Wednesday, March 30, 2005
 
 
Matt, thanks for your reply. Unfortunately I work in crusty old Delphi 5 so won't be able to use what you posted, but thank you anyway.

Michael, is there any way to export it as HTML instead? Also, is there a list of what can be downloaded with download.asp? Thanks.
Paul Healey Send private email
Thursday, March 31, 2005
 
 
Paul, if you can grab XML source from the web as well as use the Win32 DLLs, you can do this. The key was that you have to get the cookies and send those along with the web request.
Matt Hawley Send private email
Thursday, March 31, 2005
 
 
Yes, to grab HTML just change the pgReleaseNotesExport in the above link to pgReleaseNotesHTML

You'll probably still run into the problem Matt is talking about is that, you have to be logged in to FogBugz to get that url.  So whatever method you use to extract it is going to need to send the cookies.

OR

You can just tell it to log on in the url.  In addition to the pg=pgReleaseNotesHTML&ixFixFor=x args, just add these three

pre=preLogon
sPerson=you@company.com
sPassword=yourpass

So the final url is

http://your.fogbugz.server/default.asp?pre=preLogon&sPerson=youremail@company.com&sPassword=pass&pg=pgReleaseNotesHTML&ixFixFor=x
Michael H. Pryor Send private email
Thursday, March 31, 2005
 
 
Michael, that was another alternative, but unsecure. If anyone's monitoring the log files, they'll see your username/password in plain text...not to mention if they're sniffing.
Matt Hawley Send private email
Thursday, March 31, 2005
 
 
I'm using FinalBuilder also.  It would good if you could pull the release notes by the name of the project and release. Unless I'm missing something to get the integer key you need to go into FogBugz and look it up manually.  At that point I might as well cut and paste the release notes.  I was considering accessing the DB directly, but since you thought to expose it in XML it would make more sense to take advantage of that if practical.  Of course, I would need to fixup the date and mark the release as non-assignable which I would still need to go to the database for.
Jamie da Silva
Thursday, March 31, 2005
 
 
Regarding Delphi 5: Just use the Indy HTTP client component & any XML parser component (like the free one on http://destructor.de), and it should be a breeze...
H Send private email
Friday, April 1, 2005
 
 
Cheers H, thanks for the suggestions. I should be able to knock something up.
Paul Healey Send private email
Friday, April 1, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz Bug Tracking and Evidence-Based Scheduling.