Page tree
Skip to end of metadata
Go to start of metadata



Since 14.08.2015 Z-Push is hosted and developed on the Z-Hub community stack, available at As bugtracking system, JIRA is used, available at A Z-Push wiki is available at

The old SVN was migrated to git and is managed using Stash available at

The old SVN is available as read-only at:

Updated locations as of 17.05.2021. Read more at 


Contributions are very welcome!

The basic contribution workflow is:

  1. Create a user in JIRA
  2. Get in contact to get permissions to Stash
  3. Find or create a ticket for your contribution in JIRA
  4. Assign it to yourself
  5. Start progress of the issue in JIRA
  6. On the right side, there is a link called "Create branch"
  7. Select the type, generally "feature" or "bugfix" (see constraints below)
  8. Create branch in the z-push repository (please do not create your own repository) - branch from develop!
  9. Checkout your branch
  10. Develop
  11. Commit & push upstream (see commit message constraints below)
  12. Make a pull request (generally against develop, but might be a different branch for special cases)
  13. Update your ticket

Commit message

Z-Push is licensed under AGPLv3 and so all contributions must be released under the same license. A git hook makes sure that every commit message contains the sentence "Released under the Affero GNU General Public License (AGPL) version 3.".

A valid commit message is:

ZP-123 Awesome new feature. Released under the Affero GNU General Public License (AGPL) version 3.

  • ZP-123

is a JIRA ticket. This ticket must exist before the commit can be done. If you want to fix an issue, search for the issue in JIRA, assign the ticket to yourself or create a new ticket.

  • Awesome new feature. 

Describe you code with a few words or sentences. The extensive description should be available in the ticket.

  • Released under the Affero GNU General Public License (AGPL) version 3. 

The license sentence needs to be appended to your commit message to be allowed in our system.

If your commit message does not contain these three parts, the commit will be rejected by the system.

Branch names

Z-Push uses the Gitflow branching model, described here and here.

JIRA & Stash are compatible with this branching model.

When pushing upstream only bugfix, feature or hotfix branches are accepted, like:


  • No labels


  1. Because I'm already tired of searching for the license message every time...

    Add those lines to the end of your .git/config

           template = .git/message_template

    Create a new file .git/message_template with the following lines:
    ZP-XXX AAA. Released under the Affero GNU General Public License (AGPL) version 3.

    Commit something, replace XXX with your JIRA ticket and AAA with a description.

  2. Cool. This is what I was asking if it was possible to do on the call last Monday.

  3. Just played around in Atlassians Source Tree and got errors when trying to push changes. The first error was that the name and email of my git users was configured incorrectly. Turns out in Sourcetree are author and commiter not neccesarily the same. To fix this I had to run

    git commit --amend --reset-author --no-edit

    in the git shell.


    Afterwards he was still complaining that my user is not named "Sebastian Kummer", turns out that Source Tree wants to push Tags by default, after disabling this I was able to push my commit.