- 1 Introduction
- 2 Installation
- 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 Installation with Lampp
- 2.6 Source Code Installation for macOS
- 2.7 XAMPP-VM Installation for macOS
- 2.8 XAMPP Installation for macOS
- 2.9 Source Code Installation (for all systems)
- 2.10 Set up Virtualbox for ZenTao
- 2.11 Softaculous Service
- 2.12 Integrate Zdoo
- 2.13 Install Ioncube
- 3 Update
- 3.1 Update ZenTao
- 3.2 Update by Source Code (for all systems)
- 3.3 Update for One-Click Installation for Windows (xampp)
- 3.4 Update for One-Click Installation for Linux
- 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 Operation Mode
- 6.16 Points
- 6.17 Required Field
- 6.18 How to check privilege settings in ZenTao
- 7 Advanced Application
- 7.1 Workflow
- 7.1.1 ZenTao Workflow
- 7.2 Individual management
- 7.3 For 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 For Project Manager
- 7.4.1 Create a Project
- 7.4.2 Set up a Team
- 7.4.3 Confirm a Story
- 7.4.4 Story Breakdown
- 7.4.5 Daily Standup Meetings
- 7.4.6 Check Project Progress via Burndown Chart
- 7.4.7 Check Project Progress via Lists
- 7.4.8 Review and Retrospective Meetings
- 7.4.9 Basic reports on tasks
- 7.5 For Development Team
- 7.5.1 Project planning meeting and task breakdown
- 7.5.2 Claim tasks and update efforts
- 7.5.3 Kanban and Tree Diagram
- 7.5.4 Build
- 7.5.5 Test Request
- 7.5.6 Resolve a Bug
- 7.5.7 Documents
- 7.5.8 Confirm Bugs
- 7.6 For QA Team
- 8 Configuration
- 8.1 Maintain ZenTao
- 8.1.1 Initialize scripts
- 8.1.2 Data Backup
- 8.1.3 Recover the Deleted
- 8.1.4 Update Burndown Charts
- 8.1.5 ZenTao Remote Host
- 8.2 Deploy ZenTao
- 9 Customization
- 9.1 ZenTao Customization
- 9.2 ZenTao Directory
- 9.3 Locate and Change Files
- 9.4 ZenTao 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 Editor
- 9.11 ZenTao Packaging Standards 1.1
- 9.12 Feature Limitation
- 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 stories, tasks and bug => Write IDs to ZenTao database.
There are 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/story/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.
The two ways have their own 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.
3.2.1 Find the location of the code in a red box as shown below.
3.2.2 Modify the code
Write codes as shown below
$config->git->client // the address of Git client
$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.
4. The format of comment
When committing to GIT, a comment on changes in relevant stories, tasks 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.
- story#123 task#123.
Bugs, stories, and tasks must be labeled.
5. Execute Git synchronizing command
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. Deploy a 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.