This is an automated email from the ASF dual-hosted git repository.

yumeng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 4ab99f2945 update doc for tapd and zentao (#486)
4ab99f2945 is described below

commit 4ab99f294503ee0cabec94bcd08cb7394e253f19
Author: Likyh <[email protected]>
AuthorDate: Sun Apr 23 17:01:13 2023 +0800

    update doc for tapd and zentao (#486)
    
    * update doc for tapd and zentao
    
    * fix: update some typo
---
 docs/Configuration/Tapd.md                  | 47 +++++++++++++++++---
 docs/Configuration/Zentao.md                | 30 +++++++++----
 docs/DataModels/DevLakeDomainLayerSchema.md | 36 +++++++--------
 docs/Overview/SupportedDataSources.md       | 69 ++++++++++++++++++++++-------
 4 files changed, 134 insertions(+), 48 deletions(-)

diff --git a/docs/Configuration/Tapd.md b/docs/Configuration/Tapd.md
index cf62019b0f..eeb605e121 100644
--- a/docs/Configuration/Tapd.md
+++ b/docs/Configuration/Tapd.md
@@ -1,7 +1,7 @@
 ---
-title: "TAPD(Beta)"
+title: "TAPD"
 sidebar_position: 6
-description: Config UI instruction for Tapd
+description: Config UI instruction for TAPD
 ---
 
 Visit config-ui: `http://localhost:4000` and go to `Connections` page.
@@ -30,12 +30,47 @@ For TAPD, we suggest you setting the rate limit to 3500
 #### Test and Save Connection
 Click `Test Connection`, if the connection is successful, click `Save 
Connection` to add the connection.
 
-### Step 2 - Configure Blueprint
+### Step 2 - Setting Data Scope
 
-Similar to other beta plugins, TAPD does not support `project`, which means, 
you can only collect TAPD data via blueprint's advanced mode.
+![image-20230410224100853](https://user-images.githubusercontent.com/3294100/230924072-433451e5-97a3-4d99-9ca7-0a43d0bacd01.png)
 
-Please go to the `Blueprints` page and switch to advanced mode. See how to use 
advanced mode and JSON [examples](AdvancedMode.md#6-tapd).
+You can find the campany id in your Tapd company dashboard.
 
-### Troubleshooting
+![image-20230410223926964](https://user-images.githubusercontent.com/3294100/230923942-4dd5bbd7-a391-4abc-ab99-ff7543d919ac.png)
+
+#### Workspaces
+
+Choose the Tapd workspaces to collect.
+
+#### Data Entities
+
+Usually, you don't have to modify this part. However, if you don't want to 
collect certain Tapd entities, you can unselect some entities to accerlerate 
the collection speed.
+
+- Issue Tracking: Tapd issues, issue comments, issue labels, etc.
+- Cross Domain: Tapd accounts, etc.
+
+### Step 3 - Adding Transformation Rules (Optional)
+
+![image](https://user-images.githubusercontent.com/3294100/230924606-bf6ef00c-73fa-4a60-be8f-1f27fe4ef6ae.png)
+
+Without adding transformation rules, you can not view all charts in 
"Engineering Throughput and Cycle Time" dashboards.<br/>
+
+Each Tapd workspace can be configured with different transformation rules.
+
+#### Issue Tracking
+
+- Requirement: choose the issue types to be transformed to "REQUIREMENT".
+- Bug: choose the issue types to be transformed to "BUG".
+- Incident: choose the issue types to be transformed to "INCIDENT".
+- TODO: The issues that are planned but have not been worked on yet 
+- IN-PROGRESS: The issues that are work-in-progress
+- DONE: The issues that are completed
+
+### Step 4 - Setting Sync Frequency
+
+You can choose how often you would like to sync your data in this step by 
selecting a sync frequency option or enter a cron code to specify your prefered 
schedule.
+
+## Troubleshooting
 
 If you run into any problem, please check the 
[Troubleshooting](/Troubleshooting/Configuration.md) or [create an 
issue](https://github.com/apache/incubator-devlake/issues)
+
diff --git a/docs/Configuration/Zentao.md b/docs/Configuration/Zentao.md
index 654ffa8f25..5ce72876c9 100644
--- a/docs/Configuration/Zentao.md
+++ b/docs/Configuration/Zentao.md
@@ -1,7 +1,7 @@
 ---
-title: "Zentao(Beta)"
+title: "Zentao"
 sidebar_position: 6
-description: Config UI instruction for Zentao
+description: Config UI instruction for Zentao(禅道)
 ---
 
 Visit config-ui: `http://localhost:4000` and go to `Connections` page.
@@ -16,10 +16,9 @@ Name your connection.
 
 #### Endpoint URL
 
-This should be a valid REST API endpoint
+Please ensure that the REST API endpoint URL is valid. It should be in the 
format of either `http://<host>:<port>/api.php/v1/` or 
`http://<host>:<port>/zentao/api.php/v1/`.
 
-- `http://<host>:<port>/api.php/v1/`
-  The endpoint url should end with `/`.
+If the initial test fails, please try another endpoint URL as the URL depends 
on where Zentao is deployed. Additionally, please ensure that the endpoint URL 
ends with a forward slash `/`.
 
 #### Username/Password
 
@@ -33,12 +32,25 @@ If you are behind a corporate firewall or VPN you may need 
to utilize a proxy se
 
 Click `Test Connection`, if the connection is successful, click `Save 
Connection` to add the connection.
 
-### Step 2 - Configure Blueprint
+### Step 2 - Setting Data Scope
 
-Similar to other beta plugins, Zentao does not support `project`, which means, 
you can only collect Zentao data via blueprint's advanced mode.
+![image](https://user-images.githubusercontent.com/3294100/230921313-d43821c2-0c41-4bb4-b1ef-d87e4afb1fa4.png)
 
-Please go to the `Blueprints` page and switch to advanced mode. See how to use 
advanced mode and JSON [examples](AdvancedMode.md#8-zentao).
+#### Projects and Products
 
-### Troubleshooting
+Please select the Zentao products for collecting stories/bugs and the Zentao 
projects for collecting executions. Both will also collect information on 
accounts/departments.
+
+#### Data Entities
+
+Usually, you don't have to modify this part. However, if you don't want to 
collect certain Lento entities, you can unselect some entities to accerlerate 
the collection speed.
+
+- Issue Tracking: Lento issues, issue comments, issue labels, etc.
+
+### Step 3 - Setting Sync Frequency
+
+You can choose how often you would like to sync your data in this step by 
selecting a sync frequency option or enter a cron code to specify your prefered 
schedule.
+
+## Troubleshooting
 
 If you run into any problem, please check the 
[Troubleshooting](/Troubleshooting/Configuration.md) or [create an 
issue](https://github.com/apache/incubator-devlake/issues)
+
diff --git a/docs/DataModels/DevLakeDomainLayerSchema.md 
b/docs/DataModels/DevLakeDomainLayerSchema.md
index 63edfc29e2..4996fd81ad 100644
--- a/docs/DataModels/DevLakeDomainLayerSchema.md
+++ b/docs/DataModels/DevLakeDomainLayerSchema.md
@@ -1,4 +1,4 @@
----
+---
 title: "Domain Layer Schema"
 description: >
   The data tables to query engineering metrics
@@ -153,14 +153,14 @@ This table shows the work logged under issues. Only Jira 
issue worklogs are coll
 
 A `board` is an issue list or a collection of issues. It's the abstraction of 
a Jira board, a Jira or TAPD project, a [GitHub repo's issue 
list](https://github.com/apache/incubator-devlake/issues) or a GitLab repo's 
issue list. This table can be used to filter issues by the boards they belong 
to.
 
-| **field**      | **type** | **length** | **description**                     
                                                                                
                                                                                
                                                                                
                                                                                
                                                     | **key** |
-| :------------- | :------- | :--------- | 
:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 | :------ |
+| **field**      | **type** | **length** | **description**                     
                         | **key** |
+| :------------- | :------- | :--------- | 
:----------------------------------------------------------- | :------ |
 | `id`           | varchar  | 255        | A board's `id` is composed of "< 
plugin >:< Entity >:< PK0 >[:PK1]..." <ul><li>For a Github repo's issue list, 
the board id is like "< github >:< GithubRepos >:< ConnectionId >:< 
GithubRepoId >".<br/>E.g. "github:GithubRepo:384111310"</li> <li>For a Jira 
Board, the id is like "< jira >:< JiraSourceId >< JiraBoards >:< ConnectionId 
>:< JiraBoardsId >".<br/>E.g. "jira:1:JiraBoards:1:12"</li></ul> | PK      |
-| `name`         | varchar  | 255        | The name of the board. Note: the 
board name of a Github repo 'apache/incubator-devlake' is 
'apache/incubator-devlake', representing the [default issue 
list](https://github.com/apache/incubator-devlake/issues).                      
                                                                                
                                                                                
               |         |
-| `description`  | varchar  | 255        | The description of the board.       
                                                                                
                                                                                
                                                                                
                                                                                
                                                     |         |
-| `url`          | varchar  | 255        | The url of the board. E.g. 
https://github.com/apache/incubator-devlake                                     
                                                                                
                                                                                
                                                                                
                                                               |         |
-| `created_date` | datetime | 3          | Board creation time                 
                                                                                
                                                                                
                                                                                
                                                                                
                                                     |         |
-| `type`         | varchar  | 255        | Identify scrum and non-scrum board  
                                                                                
                                                                                
                                                                                
                                                                                
                                                     |         |
+| `name`         | varchar  | 255        | The name of the board. Note: the 
board name of a Github repo 'apache/incubator-devlake' is 
'apache/incubator-devlake', representing the [default issue 
list](https://github.com/apache/incubator-devlake/issues). |         |
+| `description`  | varchar  | 255        | The description of the board.       
                         |         |
+| `url`          | varchar  | 255        | The url of the board. E.g. 
https://github.com/apache/incubator-devlake |         |
+| `created_date` | datetime | 3          | Board creation time                 
                         |         |
+| `type`         | varchar  | 255        | Identify scrum and non-scrum board  
                         |         |
 
 #### board_issues
 
@@ -175,16 +175,16 @@ This table shows the relation between boards and issues. 
This table can be used
 
 A `sprint` is the abstraction of Jira sprints, TAPD iterations and GitHub 
milestones. A sprint contains a list of issues.
 
-| **field**           | **type** | **length** | **description**                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
-| :------------------ | :------- | :--------- | 
:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 [...]
-| `id`                | varchar  | 255        | A sprint's `id` is composed of 
"< plugin >:< Entity >:< PK0 >[:PK1]..."<ul><li>A sprint in a Github repo is a 
milestone, the sprint id is like "< github >:< GithubRepos >:< GithubRepoId >:< 
milestoneNumber >".<br/>E.g. The id for this 
[sprint](https://github.com/apache/incubator-devlake/milestone/5) is 
"github:GithubRepo:384111310:5"</li><li>For a Jira Board, the id is like "< 
jira >:< JiraSourceId >< JiraBoards >:< JiraBoardsId >".<br/>E.g [...]
-| `name`              | varchar  | 255        | The name of sprint.<br/>For 
Github projects, the sprint name is the milestone name. For instance, 'v0.10.0 
- Introduce Temporal to DevLake' is the name of this 
[sprint](https://github.com/apache/incubator-devlake/milestone/5).              
                                                                                
                                                                                
                                             [...]
-| `url`               | varchar  | 255        | The url of sprint.             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
-| `status`            | varchar  | 255        | There're 3 statuses of a 
sprint:<ul><li>CLOSED: a completed sprint</li><li>ACTIVE: a sprint started but 
not completed</li><li>FUTURE: a sprint that has not started</li></ul>           
                                                                                
                                                                                
                                                                                
                     [...]
-| `started_date`      | datetime | 3          | The start time of a sprint     
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
-| `ended_date`        | datetime | 3          | The planned/estimated end time 
of a sprint. It's usually set when planning a sprint.                           
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
-| `completed_date`    | datetime | 3          | The actual time to complete a 
sprint.                                                                         
                                                                                
                                                                                
                                                                                
                                                                                
               [...]
-| `original_board_id` | datetime | 3          | The id of board where the 
sprint first created. This field is not null only when this entity is 
transformed from Jira sprints.<br/>In Jira, sprint and board entities have 2 
types of relation:<ul><li>A sprint is created based on a specific board. In 
this case, board(1):(n)sprint. This field `original_board_id` is used to show 
the relation.</li><li>A sprint can be mapped to multiple boards, a board can 
also show multiple sprints. In this case [...]
+| **field**           | **type** | **length** | **description**                
                              | **key**      |
+| :------------------ | :------- | :--------- | 
:----------------------------------------------------------- | :----------- |
+| `id`                | varchar  | 255        | A sprint's `id` is composed of 
"< plugin >:< Entity >:< PK0 >[:PK1]..."<ul><li>A sprint in a Github repo is a 
milestone, the sprint id is like "< github >:< GithubRepos >:< GithubRepoId >:< 
milestoneNumber >".<br/>Eg. The id for this 
[sprint](https://github.com/apache/incubator-devlake/milestone/5) is 
"github:GithubRepo:384111310:5"</li><li>For a Jira Board, the id is like "< 
jira >:< JiraSourceId >< JiraBoards >:< JiraBoardsId >".<br/>Eg.  [...]
+| `name`              | varchar  | 255        | The name of sprint.<br/>For 
Github projects, the sprint name is the milestone name. For instance, 'v0.10.0 
- Introduce Temporal to DevLake' is the name of this 
[sprint](https://github.com/apache/incubator-devlake/milestone/5). |            
  |
+| `url`               | varchar  | 255        | The url of sprint.             
                              |              |
+| `status`            | varchar  | 255        | There're 3 statuses of a 
sprint:<ul><li>CLOSED: a completed sprint</li><li>ACTIVE: a sprint started but 
not completed</li><li>FUTURE: a sprint that has not started</li><li>SUSPENDED: 
a sprint that has been suspended</li></ul> |              |
+| `started_date`      | datetime | 3          | The start time of a sprint     
                              |              |
+| `ended_date`        | datetime | 3          | The planned/estimated end time 
of a sprint. It's usually set when planning a sprint. |              |
+| `completed_date`    | datetime | 3          | The actual time to complete a 
sprint.                        |              |
+| `original_board_id` | datetime | 3          | The id of board where the 
sprint first created. This field is not null only when this entity is 
transformed from Jira sprints.<br/>In Jira, sprint and board entities have 2 
types of relation:<ul><li>A sprint is created based on a specific board. In 
this case, board(1):(n)sprint. This field `original_board_id` is used to show 
the relation.</li><li>A sprint can be mapped to multiple boards, a board can 
also show multiple sprints. In this case [...]
 
 #### sprint_issues
 
diff --git a/docs/Overview/SupportedDataSources.md 
b/docs/Overview/SupportedDataSources.md
index a026eccf4b..27ea6d7a29 100644
--- a/docs/Overview/SupportedDataSources.md
+++ b/docs/Overview/SupportedDataSources.md
@@ -9,21 +9,21 @@ sidebar_position: 5
 
 Apache DevLake(incubating) supports the following data sources. The data from 
each data source is collected with one or more plugins. Detailed plugin docs 
can be found [here](/docs/Plugins).
 
-| Data Source      | Domain(s)                                                 
                  | Supported Versions                   | Config UI 
Availability  | Triggered Plugins           | Collection Mode                   
                             |
-| ---------------- | 
--------------------------------------------------------------------------- | 
------------------------------------ | ----------------------- | 
--------------------------- | 
-------------------------------------------------------------- |
-| GitHub           | Source Code Management, Code Review, Issue Tracking, 
CI/CD (GitHub Actions) | Cloud                                | Available       
        | `github`, `gitextractor`    | Incremental Sync                        
                           |
-| GitLab           | Source Code Management, Code Review, Issue Tracking, 
CI/CD (GitLab CI)      | Cloud, Community Edition 11+       | Available         
      | `gitlab`, `gitextractor`    | Full Refresh, Incremental Sync(for 
`issues`,`MRs`)             |
-| Jira             | Issue Tracking                                            
                  | Cloud, Server/Data Center 7.x, 8.x | Available              
 | `jira`                      | Full Refresh, Incremental Sync(for `issues` 
and related)       |
-| Jenkins          | CI/CD                                                     
                  | 2.263.x+                             | Available            
   | `jenkins`                   | Incremental Sync                             
                      |
-| BitBucket (Beta) | Source Code Management, Code Review                       
                  | Cloud                                | Advanced Mode 
Available | `bitbucket`, `gitextractor` | Full Refresh                          
                         |
-| TAPD (Beta)      | Issue Tracking                                            
                  | Cloud                                | Advanced Mode 
Available | `tapd`                      | Full Refresh, Incremental Sync(for 
`stories`, `bugs`, `tasks`) |
-| Zentao (Beta)    | Issue Tracking                                            
                  | v17.x, v18.x                                | Advanced Mode 
Available | `zentao`                    | Full Refresh                          
                         |
-| Gitee (WIP)      | Source Code Management, Code Review, Issue Tracking       
                  | Cloud                                | Not Available        
   | `gitee`, `gitextractor`     | Full Refresh, Incremental Sync(for 
`issues`,`MRs`)             |
-| PagerDuty (WIP)  | Issue Tracking                                            
                  | Cloud                                | Not Available        
   | `pagerduty`                 | Full Refresh                                 
                  |
-| Feishu (WIP)     | Calendar                                                  
                  | Cloud                                | Not Available        
   | `feishu`                    | Full Refresh                                 
                  |
-| AE               | Source Code Management                                    
                  | On-prem                              | Not Available        
   | `ae`                        | Full Refresh                                 
                  |
-| Sonarqube        | CODE QUALITY                                              
                  | SonarQube v8.x, v9.x                    | Available         
      | `sonarqube`                 | Full Refresh                              
                     |
-| Bamboo CI(WIP)   | CI/CD                                                     
                  | v6.8.1                                | Not Available       
    | `bamboo`                    | Full Refresh                                
                   |
+| Data Source      | Domain(s)                                                 
   | Supported Versions                 | Config UI Availability  | Triggered 
Plugins           | Collection Mode                                             
 |
+| ---------------- | 
------------------------------------------------------------ | 
---------------------------------- | ----------------------- | 
--------------------------- | 
------------------------------------------------------------ |
+| GitHub           | Source Code Management, Code Review, Issue Tracking, 
CI/CD (GitHub Actions) | Cloud                              | Available         
      | `github`, `gitextractor`    | Incremental Sync                          
                   |
+| GitLab           | Source Code Management, Code Review, Issue Tracking, 
CI/CD (GitLab CI) | Cloud, Community Edition 11+       | Available              
 | `gitlab`, `gitextractor`    | Full Refresh, Incremental Sync(for 
`issues`,`MRs`)           |
+| Jira             | Issue Tracking                                            
   | Cloud, Server/Data Center 7.x, 8.x | Available               | `jira`      
                | Full Refresh, Incremental Sync(for `issues` and related)     |
+| Jenkins          | CI/CD                                                     
   | 2.263.x+                           | Available               | `jenkins`   
                | Incremental Sync                                             |
+| BitBucket (Beta) | Source Code Management, Code Review                       
   | Cloud                              | Advanced Mode Available | 
`bitbucket`, `gitextractor` | Full Refresh                                      
           |
+| TAPD (Beta)      | Issue Tracking                                            
   | Cloud                              | Advanced Mode Available | `tapd`      
                | Full Refresh, Incremental Sync(for `stories`, `bugs`, 
`tasks`) |
+| Zentao (Beta)    | Issue Tracking                                            
   | v17.x, v18.x                       | Advanced Mode Available | `zentao`    
                | Full Refresh                                                 |
+| Gitee (WIP)      | Source Code Management, Code Review, Issue Tracking       
   | Cloud                              | Not Available           | `gitee`, 
`gitextractor`     | Full Refresh, Incremental Sync(for `issues`,`MRs`)         
  |
+| PagerDuty (WIP)  | Issue Tracking                                            
   | Cloud                              | Not Available           | `pagerduty` 
                | Full Refresh                                                 |
+| Feishu (WIP)     | Calendar                                                  
   | Cloud                              | Not Available           | `feishu`    
                | Full Refresh                                                 |
+| AE               | Source Code Management                                    
   | On-prem                            | Not Available           | `ae`        
                | Full Refresh                                                 |
+| Sonarqube        | CODE QUALITY                                              
   | SonarQube v8.x, v9.x               | Available               | `sonarqube` 
                | Full Refresh                                                 |
+| Bamboo CI(WIP)   | CI/CD                                                     
   | v6.8.1                             | Not Available           | `bamboo`    
                | Full Refresh                                                 |
 
 ## Data Collection Scope By Each Plugin
 
@@ -200,3 +200,42 @@ This table shows the entities collected by each plugin. 
Domain layer entities in
 | CollectPlanBuildMeta | <10^6                           | ❌                   
                   | ❌                           |
 | CollectJobBuildMeta  | <10^6                           | ❌                   
                   | ❌                           |
 | CollectDeployMeta    | 1                               | ❌                   
                   | ❌                           |
+
+### Zentao
+
+| Subtask Name          | Estimated Max Number of Request | Does It support 
Incremental Collection? | Does It Support Time Filter? |
+| --------------------- | ------------------------------- | 
--------------------------------------- | ---------------------------- |
+| CollectExecutionMeta  | <10^3                           | ❌                  
                     | ❌                            |
+| CollectStoryMeta      | <10^4                           | ❌                  
                     | ❌                            |
+| CollectBugMeta        | <10^4                           | ❌                  
                     | ❌                            |
+| CollectTaskMeta       | <10^4                           | ❌                  
                     | ❌                            |
+| CollectAccountMeta    | ≈10^2                           | ❌                  
                     | ❌                            |
+| CollectDepartmentMeta | ≈10^2                           | ❌                  
                     | ❌                            |
+
+### Tapd
+
+
+| Subtask Name                   | Estimated Max Number of Request | Does It 
support Incremental Collection? | Does It Support Time Filter? |
+| ------------------------------ | ------------------------------- | 
--------------------------------------- | ---------------------------- |
+| CollectWorkitemTypesMeta       | ≈10                             | -         
                              | -                            |
+| CollectStoryCustomFieldsMeta   | ≈10                             | -         
                              | -                            |
+| CollectTaskCustomFieldsMeta    | ≈10                             | -         
                              | -                            |
+| CollectBugCustomFieldsMeta     | ≈10                             | -         
                              | -                            |
+| CollectStoryCategoriesMeta     | ≈10                             | -         
                              | -                            |
+| CollectStoryStatusMeta         | ≈10                             | -         
                              | -                            |
+| CollectStoryStatusLastStepMeta | ≈10                             | -         
                              | -                            |
+| CollectBugStatusMeta           | ≈10                             | -         
                              | -                            |
+| CollectBugStatusLastStepMeta   | ≈10                             | -         
                              | -                            |
+| CollectAccountsMeta            | ≈10^3                           | ❌         
                              | ❌                            |
+| CollectIterationMeta           | ≈10^4                           | ✅         
                              | ✅                            |
+| CollectStoryMeta               | ≈10^4                           | ✅         
                              | ✅                            |
+| CollectBugMeta                 | ≈10^4                           | ✅         
                              | ✅                            |
+| CollectTaskMeta                | ≈10^4                           | ✅         
                              | ✅                            |
+| CollectBugChangelogMeta        | ≈10^6                           | ✅         
                              | ✅                            |
+| CollectStoryChangelogMeta      | ≈10^6                           | ✅         
                              | ✅                            |
+| CollectTaskChangelogMeta       | ≈10^6                           | ✅         
                              | ✅                            |
+| CollectWorklogMeta             | ≈10^6                           | ✅         
                              | ✅                            |
+| CollectBugCommitMeta           | ≈10^6                           | ✅         
                              | ✅                            |
+| CollectStoryCommitMeta         | ≈10^6                           | ✅         
                              | ✅                            |
+| CollectTaskCommitMeta          | ≈10^6                           | ✅         
                              | ✅                            |
+| CollectStoryBugMeta            | ≈10^6                           | ✅         
                              | ✅                            |

Reply via email to