Call Us Today! 877.742.2583

Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Information for developers who wish to create custom applications based on FreeSWITCH or contribute improvements and bug fixes back to the FS community. See also: Contributing Code.



development team uses the Stash repository as part of the single sign-on system in use with JIRA. Convert your FreeSWITCH Source Repos from gitolite to stash using these instructions.




Github Repository







First, create a Github account

Next, create a fork of in Github

Finally, clone the repo:


git clone${YOUR_USERNAME}

 YOUR_USERNAME is the same as your JIRA Github user name. Git will prompt your for you password when required.


git clone ssh://${YOUR_USERNAME}/freeswitch.git


Example ssh_config for those who need it. (Most people do not need this)

Code Block
titleExample ssh_config
host stash
     user git
     hostname stash.freeswitch.orggithub.*
     port 7999
     identityfile IdentityFile ~/.ssh/my_pubkey_file
     IdentitiesOnly yes


For Non-



Execute the following command to point to Stashclone the repository:

git clone

Changes In Commit Hooks

The format of the commit hooks for updating JIRA has changed as of 2 July, 2014.

Stash, Fisheye, and JIRA all work together now and allow us to use Atlassian’s Smart Commit Hook mechanism.

In your commit message please do the following:

  FS-12345 #new_state #comment Comment for the JIRA Ticket

This can appear anywhere in the commit message.

Fisheye Authentication

titleFisheye Authentication

For Smart Commit Hooks to work properly, you MUST allow JIRA to access your Fisheye account. To do this, you must authenticate to JIRA from within Fisheye.

Simple steps to authenticate:

  1. Login to Fisheye using your standard password. (Same as your JIRA login)

  2. Go to the FreeSWITCH Repo change log in Fisheye (

  3. Click on any link to a JIRA ticket (hint: those are the links to FS-#####)

  4. When prompted allow JIRA access.

This is necessary to allow Fisheye to masquerade as you and update the tickets in question.


For more information on Smart Commit Hooks please see:

Self Manage Your SSH Keys

Stash allows you to manage your own SSH Keys for accessing the git repositories.

To add or delete your keys:

  1. Login to Stash using your standard FreeSWITCH Username/password (this is the same one as you use on JIRA)

  2. On the Main User Menu (Click your Avatar upper right corner of the page)

  3. Select “Manage Account”

  4. Select SSH Keys (Left vertical pane menu).

From this point you can add or delete the SSH Public Keys you use to access the repo.


When adding multiple keys, you must add them one at a time. Do not paste multiple Keys.

Additional Stash Features

Many of you have used GitHub and understand the Fork, Patch, and Pull Request mechanism. Stash allows these same operations. You can now fork your own copy of FreeSWITCH, do your dev work, and fire off a Pull Request to the FreeSWITCH Dev Team! Of course we will still accept patches the old fashioned way from JIRA.