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
- In FogBugz, go to the Gear icon > Source Control
- On the Source Control page, create a new repository by clicking “Look no further” within the GitHub banner
- On the GitHub Repositories page, click Add New Repository
- 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.
- Select the checkboxes for the repositories you wish to integrate
- Your selections will be confirmed. Success!
- Now you can refer to your FogBugz cases in your GitHub commits (just add “case <number>” in the commit message)
- And your cases will now show your commits:
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.
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.
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.
- Are the commit message keywords case sensitive?
- No. You can use mixed case in your commit messages.
- What are the differences between GitHub Issues and FogBugz?
- 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.
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:
- Requires FogBugz version 6.1 or above, and your FogBugz installation
must be accessible from the internet
- “cvssubmit_url” is the url to the
cvsSubmit.[php|asp]file on your
Example: https://server.com/fogbugz/cvsSubmit.php or https://yoursite.fogbugz.com/cvsSubmit.asp
- The “sRepo” field (in FogBugz 6.1) will be automatically set to the name of
this GitHub repository.
- The “ixRepository” field (in FogBugz 7.0 and later) will be set to the fb_repoid set in the
hooks configuration page
- 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.
- From the FogBugz Admin menu, select Source Control.
- Click ‘Create New Repository’.
- 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.
- Set the ‘Diff URL’ field to be:
- Set the ‘Log URL’ field to be:
- 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:
- Set your Cvssubmit Url. Example: https://server.com/fogbugz/cvsSubmit.asp
- 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)”.
- 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:
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:
- Set “the Source Control URL for logs” field to be:
- Set “the Source Control URL for diffs” field to be:
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:
- Set your Cvssubmit Url.
- Set “Fb Version” to “6” (without quotes).
- Leave “Fb Repoid” blank.
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