Using FogBugz On Demand? We've recently rolled out a new sidebar as part of taking FogBugz forward. Please see this article for details on what's new, what's changed, and where you can find all your favorite things.

Using Git with Kiln

Kiln, our best-in-class DVCS hosting solution, supports Git as well as Mercurial! Just go into your existing Kiln On Demand account, navigate to a repository, and change your view between Mercurial and Git. If you don’t have a Kiln On Demand account, you can sign up for a 7 day free trial and check it out.


Integrating GitHub with FogBugz On Demand

GitHub is great. FogBugz is great. What could be even better? How about integrating them! FogBugz can be notified by GitHub Web Hooks whenever an incoming changeset comment mentions a case. Let’s get an integration set up:

Setting up an integration

  1. In FogBugz, go to the Gear icon > Source Control
    Source Control
  2. On the Source Control page, create a new repository by clicking “Look no further” within the GitHub bannerGitHub Integration Banner
  3. On the GitHub Repositories page, click Add New RepositoryGitHub Repositories
  4. Authorize FogBugz to have access to your GitHub repositories. This will take you to a GitHub page to complete the authorization process. Once this is complete, you will be returned to the next step in FogBugz. Make sure you are logged in with the correct GitHub Account or you will not see the repositories you want to add.
    GitHub Add Repositories
  5. Select the checkboxes for the repositories you wish to integrate
    GitHub Select Repositories
  6. Your selections will be confirmed. Success!
    GitHub Success
    GitHub Show Repositories
  7. Now you can refer to your FogBugz cases in your GitHub commits (just add “case <number>” in the commit message)
  8. And your cases will now show your commits:New GitHub Integration with Cases

Integrating GitHub Enterprise with FogBugz On Demand

For self-service integration between GitHub Enterprise and FogBugz On Demand, follow the instructions for how to integrate GitHub with FogBugz For Your Server, below, substituting your GitHub Enterprise URLs as appropriate. It is technically possible to get the fancy in-line integration up and running with a little bit of work “under the hood”… you’ll transplant the GitHub configuration to your Enterprise installation and we’ll help clean up and loose ends on the FogBugz side. Let us know if you are interested and we’ll get you hooked up!

Integrating Generic Git with FogBugz On Demand

Integrating Git with FogBugz On Demand is easier than ever before. To begin configuring Git integration, navigate to  -> Source Control. Choose Create New Repository, select Git, and give your repository reference a Name. Click Next to proceed.

New repository dialog

Click on the Generic Git tab. Download both scripts and place them in the .git/hooks directory of your master repository. Make sure these scripts are executable by the git daemon. Optionally, you can configure the path to git-instaweb  to enable links to logs and diffs using git-instaweb. Otherwise, you can disable this feature by unchecking Enable links to logs and diffs using git-instaweb.

Generic Git integration dialog

Using the Integration

When you commit changes to Git, just include the keywords “BugzID: XYZ” where XYZ is a case number in your commit message and the configuration you just set up will link the case to the changeset in Git.

git_integration_checkin

FAQs

  1. Are the commit message keywords case sensitive?
    1. No. You can use mixed case in your commit messages.
  1. What are the differences between GitHub Issues and FogBugz?
    1. Here are some details about the differences between FogBugz and GitHub Issues.

Integrating Git with FogBugz for Your Server

Looking for instructions for FogBugz On Site? Find them here.

GitHub Integration

First, go to your repository in Github. Click “Settings” in the right sidebar, then click “Webhooks & Services”. From there, click “Add Service” and select FogBugz from the list. Here are the instructions as posted there:

Notes

  1. Requires FogBugz version 6.1 or above, and your FogBugz installation
    must be accessible from the internet
  2. “cvssubmit_url” is the url to the cvsSubmit.[php|asp] file on your
    FogBugz server.
    Example: https://server.com/fogbugz/cvsSubmit.php or https://yoursite.fogbugz.com/cvsSubmit.asp
  3. The “sRepo” field (in FogBugz 6.1) will be automatically set to the name of
    this GitHub repository.
  4. The “ixRepository” field (in FogBugz 7.0 and later) will be set to the fb_repoid set in the
    hooks configuration page
  5. The commit message keywords are case insensitive

FogBugz 7.x-8.x Configuration

FogBugz 7 and FogBugz 8 have a configuration page for multiple repositories. Each repository
is given an ID that will be used by the cvsSubmit.asp page.

  1. From the FogBugz Admin menu, select Source Control.
  2. Click ‘Create New Repository’.
  3. An option pane will pop up. Select ‘Other (custom)’. Enter a name for
    the repository. The name does not have to be the same as the github repo
    name. Click Next.
  4. Set the ‘Diff URL’ field to be:
    https://github.com/[github_username]/[github_reponame]/commit/^R2
  5. Set the ‘Log URL’ field to be:
    https://github.com/[github_username]/[github_reponame]/commits/^FILE
  6. There’s a URL printed at the top of the configuration screen. Make
    note of the number following ixRepository= That is the ID that needs
    to be filled in for the fb_repoid field.

In GitHub -> Admin -> Service Hook after selecting “FogBugz” from the list:

  1. Set your Cvssubmit Url. Example: https://server.com/fogbugz/cvsSubmit.asp
  2. Set “Fb Version” to the version you are running. This does not have to be the full version as the major version number is sufficient. For example. “8” for the current version of FogBugz On Demand 8.8.41, or “6” if you’re still running version 6 of FogBugz For Your Server. To find your FogBugz version, go to your FogBugz URL, for example https://server.com/fogbugz, and look at the page footer, or going to FogBugz > Help > About FogBugz and in either case you’ll see, for example, “FogBugz Version 8.8.41 (DB 797, Build 0)”.
  3. Set “Fb Repoid” to the number following “ixRepository=” from step 6 above.

Once the integration is complete and you push some new changes to your GitHub repository referencing FogBugz Cases, you will see Checkins on the Case page. For example:
GitHub Integration Example

FogBugz 6.1 Configuration

If you want to use GitHub as your sole source control system, configuration within FogBugz is relatively easy.

In your site configuration:

  1. Set “the Source Control URL for logs” field to be:
    https://github.com/[github_username]/^REPO/commits/^FILE
  2. Set “the Source Control URL for diffs” field to be:
    https://github.com/[github_username]/^REPO/commit/^R2

If you have commits in FogBugz from a previous source control system, or if you want to use multiple GitHub accounts, please read:

In the service hook here:

  1. Set your Cvssubmit Url.
  2. Set “Fb Version” to “6” (without quotes).
  3. Leave “Fb Repoid” blank.

http://www.fogcreek.com/FogBugz/KB/howto/MultipleRepositories-Mult.html

Using the Integration

When you commit changes to Git, just include the keywords “BugzID: XYZ” where XYZ is a case number in your commit message and the configuration you just set up will link the case to the changeset in GitHub.

Generic Git Integration

For non-GitHub git, we do not currently include hook scripts, but you can try this integration created by another FogBugz user: http://www.fogcreek.com/FogBugz/blog/post/Git-Integration.aspx