- 1 Introduction
- 2 How to Install ZenTao
- 2.1 Choose the best 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 all Systems)
- 2.7 Set up Virtualbox for ZenTao
- 2.8 Softaculous service
- 3 Upgrade ZenTao
- 3.1 Upgrade ZenTao
- 3.2 Upgrade by source code (for all systems)
- 3.3 Upgrade for one-click installation for Windows (xampp)
- 3.4 Upgrade for one-click installation package for Linux
- 4 Users and Groups
- 5 Simple Application
- 5.1 Project and Task Management
- 5.2 Bug Management
- 5.3 Product Management
- 5.4 Individual Task Management
- 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 Story Breakdown
- 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.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 Story Status
- 7.3.6 Notes for Writing a Story
- 7.3.7 Product Modules
- 7.3.8 Release Plan
- 7.3.9 Create a Release
- 7.3.10 Roadmap
- 7.3.11 Manage Documents
- 7.3.12 Product 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 Stories
- 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
- 7.5.3 Kanban and Tree Diagram
- 7.5.4 Create a Build
- 7.5.5 Test Task
- 7.5.6 Resolve a Bug
- 7.5.7 Manage Documents
- 7.5.8 Confirm Bugs
- 7.6 For QA Team
- 7.6.1 Bug Management
- 7.6.2 Report a Bug
- 7.6.3 Confim and Close a Bug
- 7.6.4 Activate a Bug
- 7.6.5 Locate a Bug
- 7.6.6 Test Cases
- 7.6.7 Create and Review Test Cases
- 7.6.8 Manage Test Tasks
- 7.6.9 Test Suites, Public Case Libs and Reports
- 7.6.10 Manage Test Tasks
- 7.6.11 Execute Cases and Report Bugs
- 7.6.12 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.1.5 ZenTao remote host
- 8.2 Deploy ZenTao
- 9 Custom Development
- 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 Web Editor
- 9.11 Packaging Standards of ZenTao 1.1
- 10 Other Relevant Issues
GIT has been integrated in ZenTao 5.0+, tasks, bugs and code can be linked, so it is convenient for users to check that. The followings is about how to integrate Git in ZenTao.
1. Git integration mechanism
The basic mechanism of Git integration is to
analyze comments of code submitted =>get related stories, tasks and bugIDs => write it to ZenTao database.
There are two ways to do what have been mentioned above. One is to use 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 relevant records into the database by calling API in ZenTao. The other way is to 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 own 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 GIT command-line client on the machine installed ZenTaoGIT command-line client refers to command lines built in Git. It is git.exe in Windows and git in Linux.
The machine installed ZenTao can be separated from that of subversion. They don’t have to be installed in the same machine.
You have to install Git for machines of linux system; Git for rhel and centos with yum 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. In this way, the configuration file will not be overriden after updating.
3.2 ConfigurationBefore setting GIT parameters, there are some concepts involved as follows.
- Position of the Git commands
- 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 the image 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 Locate 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 any other Git repos, copy the code and configure in the same way.
4. Format of code comment
When submitting to GIT, developers need to specify relevant stories, tasks or bug IDs of changes in the comments. Please follow the format below.
bug#123,234, 1234 or bug: 123,234 1234; comma or space can be used as space holders among IDs;
Bugs, stories and tasks must be labeled.
5. Execute Git synchronizing command
5.1 Refer to Chapter 8.1.1 Intialize 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 related bugs.
6. Deploy a cron
6.1 When all the commands are deployed, add the commands to the cron. For example, execute the task every 5 minutes. Use the scheduled task in Windows and crontab in Linux.
6.2 The repository configured has to be synchronized via the scheduled tasks. Use Git PULL to update every 5 minutes.