diff --git a/docs/en/2509/_toc.yaml b/docs/en/2509/_toc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..475936174639ef1350ae78c9ddbdd0c97adc6a38
--- /dev/null
+++ b/docs/en/2509/_toc.yaml
@@ -0,0 +1,6 @@
+label: patch-tracking
+isManual: true
+description: Package patch management
+sections:
+ - label: patch-tracking
+ href: ./patch_tracking.md
diff --git a/docs/en/2509/images/Maintainer.jpg b/docs/en/2509/images/Maintainer.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..da0d5f1b5d928eca3a0d63795f59c55331136065
Binary files /dev/null and b/docs/en/2509/images/Maintainer.jpg differ
diff --git a/docs/en/2509/images/PatchTracking.jpg b/docs/en/2509/images/PatchTracking.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e12afd6227c18c333f289b9aa71abf608d8058a0
Binary files /dev/null and b/docs/en/2509/images/PatchTracking.jpg differ
diff --git a/docs/en/2509/patch_tracking.md b/docs/en/2509/patch_tracking.md
new file mode 100644
index 0000000000000000000000000000000000000000..5666f8ebf848c153e8c3ac9bf8479081f3cbd281
--- /dev/null
+++ b/docs/en/2509/patch_tracking.md
@@ -0,0 +1,299 @@
+# patch-tracking
+
+## Overview
+
+During the development of the openEuler release, the latest code of each software package in the upstream community needs to be updated in a timely manner to fix function bugs and security issues, preventing the openEuler release from defects and vulnerabilities.
+
+This tool manages the patches for software packages, proactively monitors the patches submitted by the upstream community, automatically generates patches, submits issues to the corresponding Maintainer, and verifies basic patch functions to reduce the verification workload and help the Maintainer make decisions quickly.
+
+## Architecture
+
+### C/S Architecture
+
+patch-tracking uses the C/S architecture.
+
+patch-tracking is located in the server. It executes patch tracking tasks, including maintaining tracking items, identifying branch code changes in the upstream repository and generating patch files, and submitting issues and PRs to Gitee. In addition, patch-tracking provides RESTful APIs for adding, deleting, modifying, and querying tracking items.
+
+patch-tracking-cli is a command line tool located in the client. It invokes the RESTful APIs of patch-tracking to add, delete, modify, and query tracking items.
+
+### Core Procedure
+
+a. Patch tracking service procedure
+
+The procedure for handling the submitted patch is as follows:
+
+1. Add the tracking item using the command line tool.
+2. Automatically obtain patch files from the upstream repository (for example, GitHub) that is configured for the tracking item.
+3. Create a temporary branch and submit the obtained patch file to the temporary branch.
+4. Automatically submit an issue to the corresponding repository and generate the PR associated with the issue.
+
+
+
+b. Procedure for the Maintainer to handle the submitted patch
+
+The procedure for handling the submitted patch is as follows:
+
+1. The Maintainer analyzes the PR.
+2. Execute the continuous integration (CI). After the CI is successfully executed, determine whether to merge the PR.
+
+
+
+### Data structure
+
+- Tracking table
+
+| No. | Name | Description | Type | Key | Is Null Allowed |
+| --- | --------------- | ----------------------------------------------------------------------- | ------- | ------- | --------------- |
+| 1 | id | Sequence number of the tracking item of the self-added patch | int | - | No |
+| 2 | version_control | Version control system type of the upstream SCM | String | - | No |
+| 3 | scm_repo | Upstream SCM repository address | String | - | No |
+| 4 | scm_branch | Upstream SCM tracking branch | String | - | No |
+| 5 | scm_commit | Latest Commit ID processed by the upstream code | String | - | Yes |
+| 6 | repo | Address of the Gitee repository where the package source code is stored | String | Primary | No |
+| 7 | branch | Branch of the Gitee repository where the package source code is stored | String | Primary | No |
+| 8 | enabled | Indicating whether to start tracking | Boolean | - | No |
+
+- Issue table
+
+| No. | Name | Description | Type | Key | Is Null Allowed |
+| --- | ------ | ----------------------------------------------------------------------- | ------ | ------- | --------------- |
+| 1 | issue | Issue No. | String | Primary | No |
+| 2 | repo | Address of the Gitee repository where the package source code is stored | String | - | No |
+| 3 | branch | Branch of the Gitee repository where the package source code is stored | String | - | No |
+
+## Tool Deployment
+
+### Downloading Software
+
+The repo source is officially released at .
+
+The RPM package can be obtained from . Choose the correct version, **everything**, correct architecture, **Packages**, then select the RPM package to download.
+
+### Installing the Tool
+
+Method 1: Install patch-tracking from the repo source.
+
+1. Use DNF to mount the repo source (The repo source of 21.03 or later is required. For details, see the [Application Development Guide](https://openeuler.org/zh/docs/21.03/docs/ApplicationDev/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html)). Run the following command to download and install patch-tracking and its dependencies.
+
+2. Run the following command to install `patch-tracking`:
+
+ ```shell
+ dnf install patch-tracking
+ ```
+
+Method 2: Install patch-tracking using the RPM package.
+
+1. Install the required dependencies.
+
+ ```shell
+ dnf install python3-uWSGI python3-flask python3-Flask-SQLAlchemy python3-Flask-APScheduler python3-Flask-HTTPAuth python3-requests python3-pandas
+ ```
+
+2. `patch-tracking-1.0.0-1.oe1.noarch.rpm` is used as an example. Run the following command to install patch-tracking.
+
+ ```shell
+ rpm -ivh patch-tracking-1.0.0-1.oe1.noarch.rpm
+ ```
+
+### Generating a Certificate
+
+Run the following command to generate a certificate:
+
+```shell
+openssl req -x509 -days 3650 -subj "/CN=self-signed" \
+-nodes -newkey rsa:4096 -keyout self-signed.key -out self-signed.crt
+```
+
+Copy the generated `self-signed.key` and `self-signed.crt` files to the **/etc/patch-tracking** directory.
+
+### Configuring Parameters
+
+Configure the corresponding parameters in the configuration file. The path of the configuration file is `/etc/patch-tracking/settings.conf`.
+
+1. Configure the service listening address.
+
+ ```text
+ LISTEN = "127.0.0.1:5001"
+ ```
+
+2. GitHub Token is used to access the repository information hosted in the upstream open source software repository of GitHub. For details about how to create a GitHub token, see [Creating a personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token).
+
+ ```text
+ GITHUB_ACCESS_TOKEN = ""
+ ```
+
+3. For a repository that is hosted on Gitee and needs to be tracked, configure a Gitee Token with the repository permission to submit patch files, issues, and PRs.
+
+ ```text
+ GITEE_ACCESS_TOKEN = ""
+ ```
+
+4. Scan the database as scheduled to detect whether new or modified tracking items exist and obtain upstream patches for the detected tracking items. Set the interval of scanning and the unit is second.
+
+ ```text
+ SCAN_DB_INTERVAL = 3600
+ ```
+
+5. When the command line tool is running, you need to enter the user name and password hash value for the authentication for the POST interface.
+
+ ```text
+ USER = "admin"
+ PASSWORD = ""
+ ```
+
+ > The default value of `USER` is `admin`.
+
+ Run the following command to obtain the password hash value. **Test@123** is the configured password.
+
+ ```shell
+ generate_password Test@123
+ ```
+
+ > The password hash value must meet the following complexity requirements:
+ >
+ > - The length is more than or equal to 6 bytes.
+ > - The password must contain uppercase letters, lowercase letters, digits, and special characters (**~!@#%\^\*-\_=+**).
+
+ Add the password hash value to the quotation marks of `PASSWORD = ""`.
+
+### Starting the Patch Tracking Service
+
+You can use either of the following methods to start the service:
+
+- Using systemd.
+
+ ```shell
+ systemctl start patch-tracking
+ ```
+
+- Running the executable program.
+
+ ```shell
+ /usr/bin/patch-tracking
+ ```
+
+## Tool Usage
+
+### Adding a Tracking Item
+
+You can associate the software repository and branch to be tracked with the corresponding upstream open source software repository and branch in any of the following ways:
+
+- Using CLI
+
+ Parameter description:
+
+ > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. \
+ > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. \
+ > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. \
+ > `--version_control`: Control tool of the upstream repository version. Only GitHub is supported. \
+ > `--repo`: Name of the repository to be tracked, in the format of organization/repository. \
+ > `--branch`: Branch name of the repository to be tracked. \
+ > `--scm_repo`: Name of the upstream repository to be tracked, in the GitHub format of organization/repository. \
+ > `--scm_branch`: Branch of the upstream repository to be tracked. \
+ > `--scm_commit`: Commit from which the tracking starts. By default, the tracking starts from the latest commit. \
+ > `--enabled`: Indicates whether to automatically track the repository.
+
+ For example:
+
+ ```shell
+ patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --version_control github --repo testPatchTrack/testPatch1 --branch master --scm_repo BJMX/testPatch01 --scm_branch test --enabled true
+ ```
+
+- Using a Specified File
+
+ Parameter description:
+
+ > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. \
+ > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. \
+ > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. \
+ > `--file`: YAML file path.
+
+ Add the information about the repository, branch, version management tool, and whether to enable monitoring to the YAML file (for example, **tracking.yaml**). The file path is used as the command of the `--file` to invoke the input parameters.
+
+ For example:
+
+ ```shell
+ patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --file tracking.yaml
+ ```
+
+ The format of the YAML file is as follows. The content on the left of the colon (\:) cannot be modified, and the content on the right of the colon (\:) needs to be set based on the site requirements.
+
+ ```shell
+ version_control: github
+ scm_repo: xxx/xxx
+ scm_branch: master
+ repo: xxx/xxx
+ branch: master
+ enabled: true
+ ```
+
+ > version\_control: Control tool of the upstream repository version. Only GitHub is supported. \
+ > scm\_repo: Name of the upstream repository to be tracked, in the GitHub format of organization/repository. \
+ > scm\_branch: Branch of the upstream repository to be tracked. \
+ > repo: Name of the repository to be tracked, in the format of organization/repository. \
+ > branch: Branch name of the repository to be tracked. \
+ > enabled: Indicates whether to automatically track the repository.
+
+- Using a Specified Directory
+
+ Place multiple `xxx.yaml` files in a specified directory, such as the `test_yaml`, and run the following command to record the tracking items of all YAML files in the specified directory.
+
+ Parameter description:
+
+ > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. \
+ > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. \
+ > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. \
+ > `--dir`: Path where the YAML file is stored.
+
+ ```shell
+ patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --dir /home/Work/test_yaml/
+ ```
+
+### Querying a Tracking Item
+
+Parameter description:
+
+> `--server`: (Mandatory) URL for starting the patch tracking service, for example, 127.0.0.1:5001. \
+> `--table`: (Mandatory) Table to be queried. \
+> `--repo`: (Optional) repo to be queried. Query all content in the table if this parameter is not configured. \
+> `--branch`: (Optional) Branch to be queried.
+
+```shell
+patch-tracking-cli query --server --table tracking
+```
+
+The website can be accessed properly.
+
+```shell
+patch-tracking-cli query --server 127.0.0.1:5001 --table tracking
+```
+
+### Querying the Generated Issue
+
+```shell
+patch-tracking-cli query --server --table issue
+```
+
+For example:
+
+```shell
+patch-tracking-cli query --server 127.0.0.1:5001 --table issue
+```
+
+### Deleting a Tracking Item
+
+```shell
+patch-tracking-cli delete --server SERVER --user USER --password PWD --repo REPO [--branch BRANCH]
+```
+
+For example:
+
+```shell
+patch-tracking-cli delete --server 127.0.0.1:5001 --user admin --password Test@123 --repo testPatchTrack/testPatch1 --branch master
+```
+
+> You can delete a single piece of data from a specified repo or branch. You can also delete data of all branches in a specified repo.
+
+### Checking Issues and PRs on Gitee
+
+Log in to Gitee and check the software project to be tracked. On the Issues and Pull Requests tab pages of the project, you can see the item named in `[patch tracking] TIME`, for example, the `[patch tracking] 20200713101548`. This item is the issue and PR of the patch file that is just generated.
diff --git a/docs/en/master/_toc.yaml b/docs/en/master/_toc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..475936174639ef1350ae78c9ddbdd0c97adc6a38
--- /dev/null
+++ b/docs/en/master/_toc.yaml
@@ -0,0 +1,6 @@
+label: patch-tracking
+isManual: true
+description: Package patch management
+sections:
+ - label: patch-tracking
+ href: ./patch_tracking.md
diff --git a/docs/en/master/images/Maintainer.jpg b/docs/en/master/images/Maintainer.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..da0d5f1b5d928eca3a0d63795f59c55331136065
Binary files /dev/null and b/docs/en/master/images/Maintainer.jpg differ
diff --git a/docs/en/master/images/PatchTracking.jpg b/docs/en/master/images/PatchTracking.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e12afd6227c18c333f289b9aa71abf608d8058a0
Binary files /dev/null and b/docs/en/master/images/PatchTracking.jpg differ
diff --git a/docs/en/master/patch_tracking.md b/docs/en/master/patch_tracking.md
new file mode 100644
index 0000000000000000000000000000000000000000..5666f8ebf848c153e8c3ac9bf8479081f3cbd281
--- /dev/null
+++ b/docs/en/master/patch_tracking.md
@@ -0,0 +1,299 @@
+# patch-tracking
+
+## Overview
+
+During the development of the openEuler release, the latest code of each software package in the upstream community needs to be updated in a timely manner to fix function bugs and security issues, preventing the openEuler release from defects and vulnerabilities.
+
+This tool manages the patches for software packages, proactively monitors the patches submitted by the upstream community, automatically generates patches, submits issues to the corresponding Maintainer, and verifies basic patch functions to reduce the verification workload and help the Maintainer make decisions quickly.
+
+## Architecture
+
+### C/S Architecture
+
+patch-tracking uses the C/S architecture.
+
+patch-tracking is located in the server. It executes patch tracking tasks, including maintaining tracking items, identifying branch code changes in the upstream repository and generating patch files, and submitting issues and PRs to Gitee. In addition, patch-tracking provides RESTful APIs for adding, deleting, modifying, and querying tracking items.
+
+patch-tracking-cli is a command line tool located in the client. It invokes the RESTful APIs of patch-tracking to add, delete, modify, and query tracking items.
+
+### Core Procedure
+
+a. Patch tracking service procedure
+
+The procedure for handling the submitted patch is as follows:
+
+1. Add the tracking item using the command line tool.
+2. Automatically obtain patch files from the upstream repository (for example, GitHub) that is configured for the tracking item.
+3. Create a temporary branch and submit the obtained patch file to the temporary branch.
+4. Automatically submit an issue to the corresponding repository and generate the PR associated with the issue.
+
+
+
+b. Procedure for the Maintainer to handle the submitted patch
+
+The procedure for handling the submitted patch is as follows:
+
+1. The Maintainer analyzes the PR.
+2. Execute the continuous integration (CI). After the CI is successfully executed, determine whether to merge the PR.
+
+
+
+### Data structure
+
+- Tracking table
+
+| No. | Name | Description | Type | Key | Is Null Allowed |
+| --- | --------------- | ----------------------------------------------------------------------- | ------- | ------- | --------------- |
+| 1 | id | Sequence number of the tracking item of the self-added patch | int | - | No |
+| 2 | version_control | Version control system type of the upstream SCM | String | - | No |
+| 3 | scm_repo | Upstream SCM repository address | String | - | No |
+| 4 | scm_branch | Upstream SCM tracking branch | String | - | No |
+| 5 | scm_commit | Latest Commit ID processed by the upstream code | String | - | Yes |
+| 6 | repo | Address of the Gitee repository where the package source code is stored | String | Primary | No |
+| 7 | branch | Branch of the Gitee repository where the package source code is stored | String | Primary | No |
+| 8 | enabled | Indicating whether to start tracking | Boolean | - | No |
+
+- Issue table
+
+| No. | Name | Description | Type | Key | Is Null Allowed |
+| --- | ------ | ----------------------------------------------------------------------- | ------ | ------- | --------------- |
+| 1 | issue | Issue No. | String | Primary | No |
+| 2 | repo | Address of the Gitee repository where the package source code is stored | String | - | No |
+| 3 | branch | Branch of the Gitee repository where the package source code is stored | String | - | No |
+
+## Tool Deployment
+
+### Downloading Software
+
+The repo source is officially released at .
+
+The RPM package can be obtained from . Choose the correct version, **everything**, correct architecture, **Packages**, then select the RPM package to download.
+
+### Installing the Tool
+
+Method 1: Install patch-tracking from the repo source.
+
+1. Use DNF to mount the repo source (The repo source of 21.03 or later is required. For details, see the [Application Development Guide](https://openeuler.org/zh/docs/21.03/docs/ApplicationDev/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html)). Run the following command to download and install patch-tracking and its dependencies.
+
+2. Run the following command to install `patch-tracking`:
+
+ ```shell
+ dnf install patch-tracking
+ ```
+
+Method 2: Install patch-tracking using the RPM package.
+
+1. Install the required dependencies.
+
+ ```shell
+ dnf install python3-uWSGI python3-flask python3-Flask-SQLAlchemy python3-Flask-APScheduler python3-Flask-HTTPAuth python3-requests python3-pandas
+ ```
+
+2. `patch-tracking-1.0.0-1.oe1.noarch.rpm` is used as an example. Run the following command to install patch-tracking.
+
+ ```shell
+ rpm -ivh patch-tracking-1.0.0-1.oe1.noarch.rpm
+ ```
+
+### Generating a Certificate
+
+Run the following command to generate a certificate:
+
+```shell
+openssl req -x509 -days 3650 -subj "/CN=self-signed" \
+-nodes -newkey rsa:4096 -keyout self-signed.key -out self-signed.crt
+```
+
+Copy the generated `self-signed.key` and `self-signed.crt` files to the **/etc/patch-tracking** directory.
+
+### Configuring Parameters
+
+Configure the corresponding parameters in the configuration file. The path of the configuration file is `/etc/patch-tracking/settings.conf`.
+
+1. Configure the service listening address.
+
+ ```text
+ LISTEN = "127.0.0.1:5001"
+ ```
+
+2. GitHub Token is used to access the repository information hosted in the upstream open source software repository of GitHub. For details about how to create a GitHub token, see [Creating a personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token).
+
+ ```text
+ GITHUB_ACCESS_TOKEN = ""
+ ```
+
+3. For a repository that is hosted on Gitee and needs to be tracked, configure a Gitee Token with the repository permission to submit patch files, issues, and PRs.
+
+ ```text
+ GITEE_ACCESS_TOKEN = ""
+ ```
+
+4. Scan the database as scheduled to detect whether new or modified tracking items exist and obtain upstream patches for the detected tracking items. Set the interval of scanning and the unit is second.
+
+ ```text
+ SCAN_DB_INTERVAL = 3600
+ ```
+
+5. When the command line tool is running, you need to enter the user name and password hash value for the authentication for the POST interface.
+
+ ```text
+ USER = "admin"
+ PASSWORD = ""
+ ```
+
+ > The default value of `USER` is `admin`.
+
+ Run the following command to obtain the password hash value. **Test@123** is the configured password.
+
+ ```shell
+ generate_password Test@123
+ ```
+
+ > The password hash value must meet the following complexity requirements:
+ >
+ > - The length is more than or equal to 6 bytes.
+ > - The password must contain uppercase letters, lowercase letters, digits, and special characters (**~!@#%\^\*-\_=+**).
+
+ Add the password hash value to the quotation marks of `PASSWORD = ""`.
+
+### Starting the Patch Tracking Service
+
+You can use either of the following methods to start the service:
+
+- Using systemd.
+
+ ```shell
+ systemctl start patch-tracking
+ ```
+
+- Running the executable program.
+
+ ```shell
+ /usr/bin/patch-tracking
+ ```
+
+## Tool Usage
+
+### Adding a Tracking Item
+
+You can associate the software repository and branch to be tracked with the corresponding upstream open source software repository and branch in any of the following ways:
+
+- Using CLI
+
+ Parameter description:
+
+ > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. \
+ > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. \
+ > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. \
+ > `--version_control`: Control tool of the upstream repository version. Only GitHub is supported. \
+ > `--repo`: Name of the repository to be tracked, in the format of organization/repository. \
+ > `--branch`: Branch name of the repository to be tracked. \
+ > `--scm_repo`: Name of the upstream repository to be tracked, in the GitHub format of organization/repository. \
+ > `--scm_branch`: Branch of the upstream repository to be tracked. \
+ > `--scm_commit`: Commit from which the tracking starts. By default, the tracking starts from the latest commit. \
+ > `--enabled`: Indicates whether to automatically track the repository.
+
+ For example:
+
+ ```shell
+ patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --version_control github --repo testPatchTrack/testPatch1 --branch master --scm_repo BJMX/testPatch01 --scm_branch test --enabled true
+ ```
+
+- Using a Specified File
+
+ Parameter description:
+
+ > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. \
+ > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. \
+ > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. \
+ > `--file`: YAML file path.
+
+ Add the information about the repository, branch, version management tool, and whether to enable monitoring to the YAML file (for example, **tracking.yaml**). The file path is used as the command of the `--file` to invoke the input parameters.
+
+ For example:
+
+ ```shell
+ patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --file tracking.yaml
+ ```
+
+ The format of the YAML file is as follows. The content on the left of the colon (\:) cannot be modified, and the content on the right of the colon (\:) needs to be set based on the site requirements.
+
+ ```shell
+ version_control: github
+ scm_repo: xxx/xxx
+ scm_branch: master
+ repo: xxx/xxx
+ branch: master
+ enabled: true
+ ```
+
+ > version\_control: Control tool of the upstream repository version. Only GitHub is supported. \
+ > scm\_repo: Name of the upstream repository to be tracked, in the GitHub format of organization/repository. \
+ > scm\_branch: Branch of the upstream repository to be tracked. \
+ > repo: Name of the repository to be tracked, in the format of organization/repository. \
+ > branch: Branch name of the repository to be tracked. \
+ > enabled: Indicates whether to automatically track the repository.
+
+- Using a Specified Directory
+
+ Place multiple `xxx.yaml` files in a specified directory, such as the `test_yaml`, and run the following command to record the tracking items of all YAML files in the specified directory.
+
+ Parameter description:
+
+ > `--user`: User name to be authenticated for the POST interface. It is the same as the USER parameter in the **settings.conf** file. \
+ > `--password`: Password to be authenticated for the POST interface. It is the password string corresponding to the PASSWORD hash value in the **settings.conf** file. \
+ > `--server`: URL for starting the patch tracking service, for example, 127.0.0.1:5001. \
+ > `--dir`: Path where the YAML file is stored.
+
+ ```shell
+ patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --dir /home/Work/test_yaml/
+ ```
+
+### Querying a Tracking Item
+
+Parameter description:
+
+> `--server`: (Mandatory) URL for starting the patch tracking service, for example, 127.0.0.1:5001. \
+> `--table`: (Mandatory) Table to be queried. \
+> `--repo`: (Optional) repo to be queried. Query all content in the table if this parameter is not configured. \
+> `--branch`: (Optional) Branch to be queried.
+
+```shell
+patch-tracking-cli query --server --table tracking
+```
+
+The website can be accessed properly.
+
+```shell
+patch-tracking-cli query --server 127.0.0.1:5001 --table tracking
+```
+
+### Querying the Generated Issue
+
+```shell
+patch-tracking-cli query --server --table issue
+```
+
+For example:
+
+```shell
+patch-tracking-cli query --server 127.0.0.1:5001 --table issue
+```
+
+### Deleting a Tracking Item
+
+```shell
+patch-tracking-cli delete --server SERVER --user USER --password PWD --repo REPO [--branch BRANCH]
+```
+
+For example:
+
+```shell
+patch-tracking-cli delete --server 127.0.0.1:5001 --user admin --password Test@123 --repo testPatchTrack/testPatch1 --branch master
+```
+
+> You can delete a single piece of data from a specified repo or branch. You can also delete data of all branches in a specified repo.
+
+### Checking Issues and PRs on Gitee
+
+Log in to Gitee and check the software project to be tracked. On the Issues and Pull Requests tab pages of the project, you can see the item named in `[patch tracking] TIME`, for example, the `[patch tracking] 20200713101548`. This item is the issue and PR of the patch file that is just generated.
diff --git a/docs/zh/2509/_toc.yaml b/docs/zh/2509/_toc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b53d41a6b44d5a86346c5abaf174b46837d55b54
--- /dev/null
+++ b/docs/zh/2509/_toc.yaml
@@ -0,0 +1,7 @@
+label: patch-tracking
+isManual: true
+description: 对软件包进行补丁管理
+sections:
+ - label: patch-tracking
+ href: ./patch_tracking.md
+
diff --git a/docs/zh/2509/images/Maintainer.jpg b/docs/zh/2509/images/Maintainer.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..da0d5f1b5d928eca3a0d63795f59c55331136065
Binary files /dev/null and b/docs/zh/2509/images/Maintainer.jpg differ
diff --git a/docs/zh/2509/images/PatchTracking.jpg b/docs/zh/2509/images/PatchTracking.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e12afd6227c18c333f289b9aa71abf608d8058a0
Binary files /dev/null and b/docs/zh/2509/images/PatchTracking.jpg differ
diff --git a/docs/zh/2509/patch_tracking.md b/docs/zh/2509/patch_tracking.md
new file mode 100644
index 0000000000000000000000000000000000000000..1f8cca23688c9ad3ae4e411f7700b9b89ede6d42
--- /dev/null
+++ b/docs/zh/2509/patch_tracking.md
@@ -0,0 +1,291 @@
+# patch-tracking
+
+## 简介
+
+在 openEuler 发行版开发过程中,需要及时更新上游社区各个软件包的最新代码,修改功能 bug 及安全问题,确保发布的 openEuler 发行版尽可能避免缺陷和漏洞。
+
+本工具主要功能是对软件包进行补丁管理,主动监控上游社区提交,自动生成补丁,并自动提交 issue 给对应的 maintainer,同时自动验证补丁基础功能,减少验证工作量支持 maintainer 快速决策。
+
+## 架构
+
+### C/S架构
+
+patch-tracking采用 C/S 架构。
+
+服务端(patch-tracking):负责执行补丁跟踪任务,包括:维护跟踪项、识别上游仓库分支代码变更并形成补丁文件、向 Gitee 提交 issue 及 PR。同时 patch-tracking 提供 RESTful 接口,用于对跟踪项进行增删改查操作。
+
+客户端:即命令行工具(patch-tracking-cli),通过调用 patch-tracking 的 RESTful 接口,实现对跟踪项的增删改查操作。
+
+### 核心流程
+
+a. 补丁跟踪服务流程
+
+主要步骤:
+
+1. 通过命令行工具添加跟踪项。
+2. 自动从跟踪项配置的上游仓库(例如GitHub)获取补丁文件。
+3. 创建临时分支,将获取到的补丁文件提交到临时分支。
+4. 自动提交 issue 到对应仓库,并生成关联 issue 的 PR。
+
+
+
+b. Maintainer对提交的补丁处理流程
+
+主要步骤:
+
+1. Maintainer 分析 PR。
+2. 执行 CI,执行成功后判断是否合入 PR。
+
+
+
+### 数据结构
+
+* Tracking表
+
+| 序号 | 名称 | 说明 | 类型 | 键 | 允许空 |
+|:----:| ----| ----| ----| ----| ----|
+| 1 | id | 自增补丁跟踪项序号 | int | - | NO |
+| 2 | version_control | 上游SCM的版本控制系统类型 | String | - | NO |
+| 3 | scm_repo | 上游SCM仓库地址 | String | - | NO |
+| 4 | scm_branch | 上游SCM跟踪分支 | String | - | NO |
+| 5 | scm_commit | 上游代码最新处理过的Commit ID | String | - | YES |
+| 6 | repo | 包源码在Gitee的仓库地址 | String | Primary | NO |
+| 7 | branch | 包源码在Gitee的仓库分支 | String | Primary | NO |
+| 8 | enabled | 是否启动跟踪 | Boolean | -| NO |
+
+* Issue表
+
+| 序号 | 名称 | 说明 | 类型 | 键 | 允许空 |
+|:----:| ----| ----| ----| ----| ----|
+| 1 | issue | issue编号 | String | Primary | NO |
+| 2 | repo | 包源码在Gitee的仓库地址 | String | - | NO |
+| 3 | branch | 包源码在Gitee的仓库分支 | String | - | NO |
+
+## 工具部署
+
+### 软件下载
+
+Repo 源地址:[https://repo.openeuler.org/](https://repo.openeuler.org)。
+
+rpm 包获取地址:[https://repo.openeuler.org/](https://repo.openeuler.org),依次选择正确的版本号、everything、正确的架构、Packages,找到需要的rpm包,点击即可下载。
+
+### 安装工具
+
+方法1:从repo源安装
+
+1. 使用 dnf 挂载 repo源(具体方法参考[《应用开发指南》](https://docs.openeuler.openatom.cn/zh/docs/25.09/server/development/application_dev/preparations-for-development-environment.html))。
+2. 执行以下命令安装`patch-tracking`及其依赖。
+
+ ```shell
+ # dnf install patch-tracking
+ ```
+
+方法2:直接使用rpm安装
+
+1. 首先安装相关依赖。
+
+ ```shell
+ # dnf install python3-uWSGI python3-flask python3-Flask-SQLAlchemy python3-Flask-APScheduler python3-Flask-HTTPAuth python3-requests python3-pandas
+ ```
+
+2. 安装patch-tracking包。
+
+ ```shell
+ # rpm -ivh patch-tracking-xxx.rpm
+ ```
+
+### 生成证书
+
+执行如下命令生成证书。
+
+```shell
+# openssl req -x509 -days 3650 -subj "/CN=self-signed" -nodes -newkey rsa:4096 -keyout self-signed.key -out self-signed.crt
+```
+
+将生成的 `self-signed.key` 和 `self-signed.crt` 文件拷贝到 /etc/patch-tracking 目录。
+
+### 配置参数
+
+在配置文件中对相应参数进行配置,配置文件路径为 `/etc/patch-tracking/settings.conf`。
+
+1. 配置服务监听地址。
+
+ ```text
+ LISTEN = "127.0.0.1:5001"
+ ```
+
+2. GitHub Token,用于访问托管在 GitHub 上游开源软件仓的仓库信息,生成 GitHub Token 的方法参考 [Creating a personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)。
+
+ ```text
+ GITHUB_ACCESS_TOKEN = ""
+ ```
+
+3. 对于托管在gitee上的需要跟踪的仓库,配置一个有该仓库权限的gitee的token,用于提交patch文件,提交issue,提交PR等操作。
+
+ ```text
+ GITEE_ACCESS_TOKEN = ""
+ ```
+
+4. 定时扫描数据库中是否有新增或修改的跟踪项,对扫描到的跟踪项执行获取上游补丁任务,在这里配置扫描的时间间隔,数字单位是秒。
+
+ ```text
+ SCAN_DB_INTERVAL = 3600
+ ```
+
+5. 命令行工具运行过程中,POST接口需要填写进行认证的用户名和口令哈希值。
+
+ ```text
+ USER = "admin"
+ PASSWORD = ""
+ ```
+
+ > `USER`默认值为`admin`。
+
+ 执行如下指令,获取口令的哈希值,其中Test@123为设置的口令。
+
+ ```shell
+ # generate_password Test@123
+ ```
+
+ > `口令值`需要满足如下复杂度要求:
+ >
+ > * 长度大于等于6个字符
+ > * 必须包含大写字母、小写字母、数字、特殊字符(~!@#%^*-_=+)
+
+ 将口令的哈希值复制到`PASSWORD = ""`引号中。
+
+### 启动补丁跟踪服务
+
+* 使用systemd方式。
+
+ ```shell
+ # systemctl start patch-tracking
+ ```
+
+* 直接执行可执行程序。
+
+ ```shell
+ # /usr/bin/patch-tracking
+ ```
+
+## 工具使用
+
+### 添加跟踪项
+
+将需要跟踪的软件仓库和分支与其上游开源软件仓库与分支关联起来,可以通过以下方式实现。
+
+* 命令行直接添加
+
+ 参数含义:
+ > --user:POST接口需要进行认证的用户名,同settings.conf中的USER参数 \
+ > --password:POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 \
+ > --server:启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \
+ > --version_control:上游仓库版本的控制工具,只支持github \
+ > --repo:需要进行跟踪的仓库名称,格式:组织/仓库 \
+ > --branch:需要进行跟踪的仓库的分支名称 \
+ > --scm_repo:被跟踪的上游仓库的仓库名称,github格式:组织/仓库 \
+ > --scm_branch:被跟踪的上游仓库的仓库的分支 \
+ > --scm_commit: 指定跟踪的起始commit,选填,默认从当前最新commit开始跟踪 \
+ > --enabled:是否自动跟踪该仓库
+
+ 例如:
+
+ ```shell
+ # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --version_control github --repo testPatchTrack/testPatch1 --branch master --scm_repo BJMX/testPatch01 --scm_branch test --enabled true
+ ```
+
+* 指定文件添加
+
+ 参数含义:
+ > --server:启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \
+ > --user:POST接口需要进行认证的用户名,同settings.conf中的USER参数 \
+ > --password:POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 \
+ > --file:yaml文件路径
+
+ 将仓库、分支、版本管理工具、是否启动监控等信息写入yaml文件(例如tracking.yaml),文件路径作为`--file`的入参调用命令。
+
+ 例如:
+
+ ```shell
+ # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --file tracking.yaml
+ ```
+
+ yaml文件内容格式如下,冒号左边的内容不可修改,右边内容根据实际情况填写。
+
+ ```text
+ version_control: github
+ scm_repo: xxx/xxx
+ scm_branch: master
+ repo: xxx/xxx
+ branch: master
+ enabled: true
+ ```
+
+ > version_control:上游仓库版本的控制工具,只支持github \
+ > scm_repo:被跟踪的上游仓库的仓库名称,github格式:组织/仓库 \
+ > scm_branch:被跟踪的上游仓库的仓库的分支 \
+ > repo:需要进行跟踪的仓库名称,格式:组织/仓库 \
+ > branch:需要进行跟踪的仓库的分支名称 \
+ > enabled:是否自动跟踪该仓库
+
+* 指定目录添加
+
+ 在指定的目录,例如`test_yaml`下放入多个`xxx.yaml`文件,执行如下命令,记录指定目录下所有yaml文件的跟踪项。
+
+ 参数含义:
+ > --user:POST接口需要进行认证的用户名,同settings.conf中的USER参数 \
+ > --password:POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 \
+ > --server:启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \
+ > --dir:存放yaml文件目录的路径
+
+ ```shell
+ # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --dir /home/Work/test_yaml/
+ ```
+
+### 查询跟踪项
+
+参数含义:
+> --server:必选参数,启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \
+> --table:必选参数,需要查询的表 \
+> --repo:可选参数,需要查询的repo;如果没有该参数查询表中所有内容 \
+> --branch:可选参数,需要查询的branch
+
+```shell
+# patch-tracking-cli query --server SERVER --table tracking
+```
+
+例如:
+
+```shell
+# patch-tracking-cli query --server 127.0.0.1:5001 --table tracking
+```
+
+### 查询生成的 Issue
+
+```shell
+# patch-tracking-cli query --server SERVER --table issue
+```
+
+例如:
+
+```shell
+# patch-tracking-cli query --server 127.0.0.1:5001 --table issue
+```
+
+### 删除跟踪项
+
+```shell
+# patch-tracking-cli delete --server SERVER --user USER --password PWD --repo REPO [--branch BRANCH]
+```
+
+例如:
+
+```shell
+# patch-tracking-cli delete --server 127.0.0.1:5001 --user admin --password Test@123 --repo testPatchTrack/testPatch1 --branch master
+```
+
+> 可以删除指定repo和branch的单条数据;也可直接删除指定repo下所有branch的数据。
+
+### 码云查看 issue 及 PR
+
+登录Gitee上进行跟踪的软件项目,在该项目的Issues和Pull Requests页签下,可以查看到名为`[patch tracking] TIME`,例如`[patch tracking] 20200713101548`的条目,该条目即是刚生成的补丁文件的issue和对应PR。
diff --git a/docs/zh/master/_toc.yaml b/docs/zh/master/_toc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..651f02a51ec97cfd69b6eeeef055f0bbbc24ab07
--- /dev/null
+++ b/docs/zh/master/_toc.yaml
@@ -0,0 +1,6 @@
+label: patch-tracking
+isManual: true
+description: 对软件包进行补丁管理
+sections:
+ - label: patch-tracking
+ href: ./patch_tracking.md
diff --git a/docs/zh/master/images/Maintainer.jpg b/docs/zh/master/images/Maintainer.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..da0d5f1b5d928eca3a0d63795f59c55331136065
Binary files /dev/null and b/docs/zh/master/images/Maintainer.jpg differ
diff --git a/docs/zh/master/images/PatchTracking.jpg b/docs/zh/master/images/PatchTracking.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e12afd6227c18c333f289b9aa71abf608d8058a0
Binary files /dev/null and b/docs/zh/master/images/PatchTracking.jpg differ
diff --git a/docs/zh/master/patch_tracking.md b/docs/zh/master/patch_tracking.md
new file mode 100644
index 0000000000000000000000000000000000000000..1f8cca23688c9ad3ae4e411f7700b9b89ede6d42
--- /dev/null
+++ b/docs/zh/master/patch_tracking.md
@@ -0,0 +1,291 @@
+# patch-tracking
+
+## 简介
+
+在 openEuler 发行版开发过程中,需要及时更新上游社区各个软件包的最新代码,修改功能 bug 及安全问题,确保发布的 openEuler 发行版尽可能避免缺陷和漏洞。
+
+本工具主要功能是对软件包进行补丁管理,主动监控上游社区提交,自动生成补丁,并自动提交 issue 给对应的 maintainer,同时自动验证补丁基础功能,减少验证工作量支持 maintainer 快速决策。
+
+## 架构
+
+### C/S架构
+
+patch-tracking采用 C/S 架构。
+
+服务端(patch-tracking):负责执行补丁跟踪任务,包括:维护跟踪项、识别上游仓库分支代码变更并形成补丁文件、向 Gitee 提交 issue 及 PR。同时 patch-tracking 提供 RESTful 接口,用于对跟踪项进行增删改查操作。
+
+客户端:即命令行工具(patch-tracking-cli),通过调用 patch-tracking 的 RESTful 接口,实现对跟踪项的增删改查操作。
+
+### 核心流程
+
+a. 补丁跟踪服务流程
+
+主要步骤:
+
+1. 通过命令行工具添加跟踪项。
+2. 自动从跟踪项配置的上游仓库(例如GitHub)获取补丁文件。
+3. 创建临时分支,将获取到的补丁文件提交到临时分支。
+4. 自动提交 issue 到对应仓库,并生成关联 issue 的 PR。
+
+
+
+b. Maintainer对提交的补丁处理流程
+
+主要步骤:
+
+1. Maintainer 分析 PR。
+2. 执行 CI,执行成功后判断是否合入 PR。
+
+
+
+### 数据结构
+
+* Tracking表
+
+| 序号 | 名称 | 说明 | 类型 | 键 | 允许空 |
+|:----:| ----| ----| ----| ----| ----|
+| 1 | id | 自增补丁跟踪项序号 | int | - | NO |
+| 2 | version_control | 上游SCM的版本控制系统类型 | String | - | NO |
+| 3 | scm_repo | 上游SCM仓库地址 | String | - | NO |
+| 4 | scm_branch | 上游SCM跟踪分支 | String | - | NO |
+| 5 | scm_commit | 上游代码最新处理过的Commit ID | String | - | YES |
+| 6 | repo | 包源码在Gitee的仓库地址 | String | Primary | NO |
+| 7 | branch | 包源码在Gitee的仓库分支 | String | Primary | NO |
+| 8 | enabled | 是否启动跟踪 | Boolean | -| NO |
+
+* Issue表
+
+| 序号 | 名称 | 说明 | 类型 | 键 | 允许空 |
+|:----:| ----| ----| ----| ----| ----|
+| 1 | issue | issue编号 | String | Primary | NO |
+| 2 | repo | 包源码在Gitee的仓库地址 | String | - | NO |
+| 3 | branch | 包源码在Gitee的仓库分支 | String | - | NO |
+
+## 工具部署
+
+### 软件下载
+
+Repo 源地址:[https://repo.openeuler.org/](https://repo.openeuler.org)。
+
+rpm 包获取地址:[https://repo.openeuler.org/](https://repo.openeuler.org),依次选择正确的版本号、everything、正确的架构、Packages,找到需要的rpm包,点击即可下载。
+
+### 安装工具
+
+方法1:从repo源安装
+
+1. 使用 dnf 挂载 repo源(具体方法参考[《应用开发指南》](https://docs.openeuler.openatom.cn/zh/docs/25.09/server/development/application_dev/preparations-for-development-environment.html))。
+2. 执行以下命令安装`patch-tracking`及其依赖。
+
+ ```shell
+ # dnf install patch-tracking
+ ```
+
+方法2:直接使用rpm安装
+
+1. 首先安装相关依赖。
+
+ ```shell
+ # dnf install python3-uWSGI python3-flask python3-Flask-SQLAlchemy python3-Flask-APScheduler python3-Flask-HTTPAuth python3-requests python3-pandas
+ ```
+
+2. 安装patch-tracking包。
+
+ ```shell
+ # rpm -ivh patch-tracking-xxx.rpm
+ ```
+
+### 生成证书
+
+执行如下命令生成证书。
+
+```shell
+# openssl req -x509 -days 3650 -subj "/CN=self-signed" -nodes -newkey rsa:4096 -keyout self-signed.key -out self-signed.crt
+```
+
+将生成的 `self-signed.key` 和 `self-signed.crt` 文件拷贝到 /etc/patch-tracking 目录。
+
+### 配置参数
+
+在配置文件中对相应参数进行配置,配置文件路径为 `/etc/patch-tracking/settings.conf`。
+
+1. 配置服务监听地址。
+
+ ```text
+ LISTEN = "127.0.0.1:5001"
+ ```
+
+2. GitHub Token,用于访问托管在 GitHub 上游开源软件仓的仓库信息,生成 GitHub Token 的方法参考 [Creating a personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)。
+
+ ```text
+ GITHUB_ACCESS_TOKEN = ""
+ ```
+
+3. 对于托管在gitee上的需要跟踪的仓库,配置一个有该仓库权限的gitee的token,用于提交patch文件,提交issue,提交PR等操作。
+
+ ```text
+ GITEE_ACCESS_TOKEN = ""
+ ```
+
+4. 定时扫描数据库中是否有新增或修改的跟踪项,对扫描到的跟踪项执行获取上游补丁任务,在这里配置扫描的时间间隔,数字单位是秒。
+
+ ```text
+ SCAN_DB_INTERVAL = 3600
+ ```
+
+5. 命令行工具运行过程中,POST接口需要填写进行认证的用户名和口令哈希值。
+
+ ```text
+ USER = "admin"
+ PASSWORD = ""
+ ```
+
+ > `USER`默认值为`admin`。
+
+ 执行如下指令,获取口令的哈希值,其中Test@123为设置的口令。
+
+ ```shell
+ # generate_password Test@123
+ ```
+
+ > `口令值`需要满足如下复杂度要求:
+ >
+ > * 长度大于等于6个字符
+ > * 必须包含大写字母、小写字母、数字、特殊字符(~!@#%^*-_=+)
+
+ 将口令的哈希值复制到`PASSWORD = ""`引号中。
+
+### 启动补丁跟踪服务
+
+* 使用systemd方式。
+
+ ```shell
+ # systemctl start patch-tracking
+ ```
+
+* 直接执行可执行程序。
+
+ ```shell
+ # /usr/bin/patch-tracking
+ ```
+
+## 工具使用
+
+### 添加跟踪项
+
+将需要跟踪的软件仓库和分支与其上游开源软件仓库与分支关联起来,可以通过以下方式实现。
+
+* 命令行直接添加
+
+ 参数含义:
+ > --user:POST接口需要进行认证的用户名,同settings.conf中的USER参数 \
+ > --password:POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 \
+ > --server:启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \
+ > --version_control:上游仓库版本的控制工具,只支持github \
+ > --repo:需要进行跟踪的仓库名称,格式:组织/仓库 \
+ > --branch:需要进行跟踪的仓库的分支名称 \
+ > --scm_repo:被跟踪的上游仓库的仓库名称,github格式:组织/仓库 \
+ > --scm_branch:被跟踪的上游仓库的仓库的分支 \
+ > --scm_commit: 指定跟踪的起始commit,选填,默认从当前最新commit开始跟踪 \
+ > --enabled:是否自动跟踪该仓库
+
+ 例如:
+
+ ```shell
+ # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --version_control github --repo testPatchTrack/testPatch1 --branch master --scm_repo BJMX/testPatch01 --scm_branch test --enabled true
+ ```
+
+* 指定文件添加
+
+ 参数含义:
+ > --server:启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \
+ > --user:POST接口需要进行认证的用户名,同settings.conf中的USER参数 \
+ > --password:POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 \
+ > --file:yaml文件路径
+
+ 将仓库、分支、版本管理工具、是否启动监控等信息写入yaml文件(例如tracking.yaml),文件路径作为`--file`的入参调用命令。
+
+ 例如:
+
+ ```shell
+ # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --file tracking.yaml
+ ```
+
+ yaml文件内容格式如下,冒号左边的内容不可修改,右边内容根据实际情况填写。
+
+ ```text
+ version_control: github
+ scm_repo: xxx/xxx
+ scm_branch: master
+ repo: xxx/xxx
+ branch: master
+ enabled: true
+ ```
+
+ > version_control:上游仓库版本的控制工具,只支持github \
+ > scm_repo:被跟踪的上游仓库的仓库名称,github格式:组织/仓库 \
+ > scm_branch:被跟踪的上游仓库的仓库的分支 \
+ > repo:需要进行跟踪的仓库名称,格式:组织/仓库 \
+ > branch:需要进行跟踪的仓库的分支名称 \
+ > enabled:是否自动跟踪该仓库
+
+* 指定目录添加
+
+ 在指定的目录,例如`test_yaml`下放入多个`xxx.yaml`文件,执行如下命令,记录指定目录下所有yaml文件的跟踪项。
+
+ 参数含义:
+ > --user:POST接口需要进行认证的用户名,同settings.conf中的USER参数 \
+ > --password:POST接口需要进行认证的口令,为settings.conf中的PASSWORD哈希值对应的实际的口令字符串 \
+ > --server:启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \
+ > --dir:存放yaml文件目录的路径
+
+ ```shell
+ # patch-tracking-cli add --server 127.0.0.1:5001 --user admin --password Test@123 --dir /home/Work/test_yaml/
+ ```
+
+### 查询跟踪项
+
+参数含义:
+> --server:必选参数,启动Patch Tracking服务的URL,例如:127.0.0.1:5001 \
+> --table:必选参数,需要查询的表 \
+> --repo:可选参数,需要查询的repo;如果没有该参数查询表中所有内容 \
+> --branch:可选参数,需要查询的branch
+
+```shell
+# patch-tracking-cli query --server SERVER --table tracking
+```
+
+例如:
+
+```shell
+# patch-tracking-cli query --server 127.0.0.1:5001 --table tracking
+```
+
+### 查询生成的 Issue
+
+```shell
+# patch-tracking-cli query --server SERVER --table issue
+```
+
+例如:
+
+```shell
+# patch-tracking-cli query --server 127.0.0.1:5001 --table issue
+```
+
+### 删除跟踪项
+
+```shell
+# patch-tracking-cli delete --server SERVER --user USER --password PWD --repo REPO [--branch BRANCH]
+```
+
+例如:
+
+```shell
+# patch-tracking-cli delete --server 127.0.0.1:5001 --user admin --password Test@123 --repo testPatchTrack/testPatch1 --branch master
+```
+
+> 可以删除指定repo和branch的单条数据;也可直接删除指定repo下所有branch的数据。
+
+### 码云查看 issue 及 PR
+
+登录Gitee上进行跟踪的软件项目,在该项目的Issues和Pull Requests页签下,可以查看到名为`[patch tracking] TIME`,例如`[patch tracking] 20200713101548`的条目,该条目即是刚生成的补丁文件的issue和对应PR。