1 Introduction
1.1  About ZenTao
1.2  How to get support
2 How to Install ZenTao
2.1  Choose the best installation
2.2  ZenTao Cloud
2.3  One-click Installation Package for Windows (Recommended)
2.4  One-click Installation Package for Linux
2.5  Source Code Installation Package (for all Systems)
2.6  Set up Virtualbox for ZenTao
2.7  Softaculous service
3 Upgrade ZenTao
3.1  Choose Upgrade
3.2  Upgrade by source codes (General for all systems)
3.3  Upgrade for one-click installation package for windows users (xampp)
3.4  Upgrade for one-click installation package for Linux
4 Users and Groups
5 Simple Application
6 Basic Application
6.1  Basic Workflow
6.2  Agile and Scrum
6.3  ZenTao and Scrum
6.4  ZenTao Tutorial for Rookies
6.5  Create a Product
6.6  Create a Story
6.7  Create a Project
6.8  Confirm Stories
6.9  Decompose Tasks
6.10  Report a Bug
6.11  Manage Contacts
6.12  Customization
7 Advanced Application
7.1 Workflow
7.1.1  ZenTao Workflow
7.2 Personal management
7.2.1  My To-dos
7.2.2  My Task, Story and Bug
7.2.3  My Profile
7.3 Product Manager
7.3.1  Manage a Product
7.3.2  Create and Review a Story
7.3.3  Change and Review a Story
7.3.4  Story Status
7.3.5  Notes for Writing a Story
7.3.6  Product Module
7.3.7  Release Plan
7.3.8  Create a Release
7.3.9  Roadmap
7.3.10  Manage Documents
7.3.11  Product Meetings
7.3.12  Project Management, Presentation and Summary
7.3.13  Story Reports
7.4 Project Manager
7.5 Development Team
7.5.1  Project planning meeting and decompose tasks
7.5.2  Claim and update Tasks
7.5.3  Create a Build
7.5.4  Test Task
7.5.5  Resolve a Bug
7.5.6  Manage Documents
7.5.7  Confirm Bugs
7.6 Testing Team
7.6.1  Bug Management
7.6.2  Submit a Bug
7.6.3  Confim and Close a Bug
7.6.4  Activate a Bug
7.6.5  Find a Bug
7.6.6  Test Case
7.6.7  Create a Test Case
7.6.8  Manage a Test Task
7.6.9  Execute Cases and Report Bugs
7.6.10  Reports
8 Configuration
8.1 Maintain ZenTao
8.1.1  Initialize scripts
8.1.2  Back up ZenTao
8.1.3  Recover the deleted
8.1.4  Update Burndown charts
8.2 Deploy ZenTao
8.2.1  Guest Login
8.2.2  Cnfigure Email
8.2.3  Set Super Admin
8.2.4  Configure Static Access
8.2.5  Delete "zentao" from your address
8.2.6  Integrate ZenTao with SVN
8.2.7  Integrate ZenTao with Git
9 Custom Development
9.1  ZenTao Mechanism of Developing
9.2  ZenTao Directory
9.3  Modify files
9.4  ZenTao Database
9.5  Common Modules
9.6  Add features to navigation bar
9.7  Examples: Modify Language Prompt
9.8  Examples: set priority when creating bugs
9.9  Web Editor
9.10  Packaging Standards of ZenTao 1.1
10 Other Relevant Issues
10.1  About third-party code
10.2  ZenTao FAQ
10.3  How to Help ZenTao
10.4  ZenTao Business Service
10.5  Acknowledgement

Integrate ZenTao with SVN

2015-09-14 11:29:35
azalea
7910
Last edited by xiying guan on 2018-12-06 10:10:29

Notes

It is complicated to configure SVN. We will try to help you configure it in our manual. If it cannot be configured, think about charged service of technical support:)


SVN integration has been built in ZenTao 2.2+, associating ZenTao and user code so to be convenient for users to view. The followings will introduce how to integrate svn in ZenTao. 

1. Subversion integration mechanism

The basic mechanism for Subversion integration is to analyze comments of code submission =>get related stories, tasks and bug IDs => write it to the database of ZenTao.


There are two ways todo what have been mentioned above. One is the hook built in SVN. When the code is submitted, the hook scripts will be triggered. Then it will analyze comments and obtain bugs, stories or task IDs. Then write revelant records into the database by calling API in ZenTao. The other way is log commands on SVN client. With the commands, you can get all the submitted records and then generate IDs through analysis. Finally, write them into the database.


The two ways have their pros and cons. We choose the second one, because it is easier to debug and more convenient to deploy. Besides, it can also analyze all the previous records with more flexibility.

2. Deploy SVN command-line client on machines installed ZenTao

SVN command-line client refers to svn built-incommand. It is svn.exe in Windows and svn in Linux. The client installed with ZenTao can be separated from that with subversion. They don’t have to be installed in the same machine.
2.1 Install svn for Linux machines. Subversion can be installed for rhel and centos via yum, and apt-get install for debian.
2.2 The latest Wndow one-click installation package has built-in svn.exe in the directory of  \xampp\silksvn. 

2.3 If you install SVN in Windows, download slilksvn and then install it.

3. Configure subversion parameters in ZenTao

3.1 Code
The Configuration file of SVN is saved in zentao/module/svn/config.php. You can modify it and save the modified to svn/ext/config/svn.php. So later update will not overide the configuration file.


3.2 Configuration

As for setting subversion parameters, there are some concepts involved as follows.
  • Position of the SVN command 
  • repo: multiple repos can be set.
  • User names and parameters of repos
Now let’s explain this with specific examples


3.2.1 Find the location labeled with a red box in the image below


3.2.2 modify the code

Write codes as the examples show:

$config->svn->client   the path to save svn.exe, the client executable files

$config->svn->repos[$i]['path']  the path to save svn code
$config->svn->repos[$i]['username']  the path to save svn login user name; Leave it blank if you don’t need to log in.
$config->svn->repos[$i]['password']  the path to save svn login password


3.3 Set multiple repos
3.3.1 Find the following code in the same file.


3.3.2 Modify Codes

  • Delete “/*”and”*/“from the code and modify it as mentionedabove. Notes: $i ++ cannot be changed.
  • For any svn repos, copy the code section and configure it in the same way.

4. Format of code comment submission

When submitting svn, they need to specify modification relavant stories, tasks or bug IDs  in the notes in the following format.

bug#123,234, 1234 or bug: 123,234 1234; comma or space can be used as pace holders among IDs; 

story#123; task#123.

Bugs, stories and tasks must be labeled.

5. Execute command to synchronize SVN

5.1 Refer to 8.1.1 Intialize Scripts to initialize all the scripts of the command line.
5.2 Enter the directory of zentao/bin/ and execute syncsvn.bat or syncsvn.sh.

5.3 The screenshot of executing the programs is as below.


5.4 Check related bugs.

6. Deploy scheduled tasks

When all the commands are deployed, add the commands to the scheduled tasks. For example, execute the tasks every 5 minutes.

7. Notes

It is recommend https protocol or ssh protocol  is not used, because it involves verification and integration for https and ssh certificates, which can be quite complicated.
Write a Comment
Comment will be posted after it is reviewed.