- 1. Introduction
- 2.1 Choose the Right Installation
- 2.2 ZenTao Cloud
- 2.3 One-click Installation for Windows
- 2.4 One-click Installation for Linux
- 2.5 Lampp Installation in Linux
- 2.6 Source Code Installation (for all systems)
- 2.7 Source Code Installation for macOS
- 2.8 XAMPP-VM Installation for macOS
- 2.9 XAMPP Installation for macOS
- 2.10 Install ZenTao in Docker
- 2.11 Install httpd, Mariadb, PHP 7.2 in Cent OS 8
- 2.12 Softaculous Service
- 2.13 Install Ioncube
- 3. Update
- 4. Users and Groups
- 5. Quick Start
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 a Story
- 6.9 Decompose Stories into Tasks
- 6.10 Report a Bug
- 6.11 Manage Contacts
- 6.12 Customization
- 6.13 Import Excel, CSV Files
- 6.14 Document Management
- 6.15 Work Mode
- 6.16 Points
- 6.17 Required Field
- 6.18 Privileges
- 6.19 Annual Work Summary
7. Advanced Application
- 7.1.1 ZenTao Workflow
- 7.2. Individual management
7.3. Product Owner
- 7.3.1 Manage a Product
- 7.3.2 Manage a Product Line
- 7.3.3 Create and Review a Story
- 7.3.4 Change and Review a Story
- 7.3.5 Status and Phase
- 7.3.6 Story Writing
- 7.3.7 Product Module
- 7.3.8 Release Plan
- 7.3.9 Create a Release
- 7.3.10 Roadmap
- 7.3.11 Documents
- 7.3.12 Planning Meetings
- 7.3.13 Daily Scrum, Review and Retrospective Meetings
- 7.3.14 Story Reports
- 7.4. Scrum Master
- 7.5. Development Team
- 7.6. Test Team
- 7.1. Workflow
- 8.1. Maintain ZenTao
8.2. Deploy ZenTao
- 8.2.1 Guest Login
- 8.2.2 Email Notification
- 8.2.3 Set Super Admin
- 8.2.4 Static Access
- 8.2.5 Remove "zentao" from URL
- 8.2.6 Integrate SVN
- 8.2.7 Integrate Git
- 8.2.8 Integrate Webhook
- 8.2.9 Integrate Xuan.im
- 8.2.10 Integrate Zdoo
- 8.2.11 Integrate Third-Party Apps
- 8.2.12 Password-Free Login
- 8.2.13 Translation Add-on
- 8.2.14 Integrate Jenkins
- 8.2.15 Extension
- 8.2.16 Fix Weak Password
- 9.1 Introduction
- 9.2 Directory
- 9.3 Find Codes
- 9.4 Database Structure
- 9.5 Common Modules
- 9.6 Add Features to Menu
- 9.7 Set Privileges to Modules
- 9.8 Examples: modify language prompt
- 9.9 Examples: set priority when creating bugs
- 9.10 Extension Editor
- 9.11 Feature Limitation
- 9.12 ZenTao Packaging Standards 1.1
- 10. Misc
Git has been integrated into ZenTao 5.0+, tasks, bugs and code can be linked, so it is convenient for users to check that. The followings are about how to integrate Git in ZenTao.
1. Git integration mechanism
The basic mechanism of Git integration is to
Analyze code comments committed => Get IDs of linked tasks and bug => Write IDs to ZenTao database.
Users have two ways to do what has been mentioned above. One is to use the hook built in SVN. When the code is committed, a hook is triggered. Then its comments will be analyzed, and the IDs of a bug/task will be obtained. Then ZenTao API is revoked, and enter the data to the database. The other way is to use the log command via Git. The command will get the committed data, then analyze it to get the IDs, and then write it in the database.
Each way has its pros and cons. The second one is used in ZenTao, because it is easier to debug and more convenient to deploy. It is also more flexible and can be used to analyze all the previous records.
2. Deploy GIT client on the machine installed ZenTao
GIT client refers to command lines built in Git. It is git.exe in Windows and git in Linux. Currently, ZenTao can only integrate Git repos store on the same machine which installs ZenTao. If it is a remote repo that you want to use, you have to clone that repo and update it regularly.
You have to install Git for machines of Linux system. Install Git via yum for rhel and Centos and apt-get install for Debian.
3. Configure Git in ZenTao
3.1 CodesThe configuration file of Git is saved in zentao/module/git/config.php. You can modify it and save it in git/ext/config/git.php as recommended, so the configuration file will not be overridden once updated.
3.2 ConfigurationBefore setting GIT parameters, there are some concepts involved as follows.
- Git client location
- Repo: multiple repos can be set.
Now let’s see an example below.
3.2.1 Find the code in a red box as shown below.
3.2.2 Modify the code
Modify codes as shown below.
$config->git->client // the Git client path
$config->git->repos[$i]['path'] // the path to Git repo
3.3 Set multiple repos
3.3.1 Find the code in the red box in the same file.
3.3.2 Modify the code
- Delete “/*” and ”*/“ from the code and other modifications are the same as shown above. Notes: $i ++ should not be modified.
- For other Git repos, copy the code and configure in the same way.
When committing to GIT, a comment on changes in relevant task or bug IDs is required. Please follow the format below.
- bug#123,234, 1234, or bug: 123,234 1234. Either a comma or space is used as space holders among IDs.
Bugs and tasks must be labeled.
5. Git sync
5.1 Refer to Chapter 8.1.1 Initialize Scripts to initialize all the scripts of the command line.
5.2 Enter the directory of zentao/bin/ and execute syncgit.bat or syncgit.sh.
5.3 The screenshot of executing the scripts.
5.4 Check linked bugs.
6. Activate Cron
6.1 When all the command lines are deployed, add the commands to the cron.
- Solution 1: Login ZenTao, and go to Admin->Cron. Switch it on and then activate Sync Git scripts.
- Solution 2: Use the cron in Control Panel of Windows and crontab in Linux.
6.2 The repository configured has to be synchronized via the cron. Use Git PULL to update every 5 minutes.