You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by kl...@apache.org on 2022/08/09 08:01:04 UTC

[incubator-devlake-website] 01/01: fix: add missing connection_id to all plugin docs

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

klesh pushed a commit to branch kw-devlake-2706-apidoc
in repository https://gitbox.apache.org/repos/asf/incubator-devlake-website.git

commit 6e1a2ee52daa8b5714708d4a11cccf88f6f0c428
Author: Klesh Wong <zh...@merico.dev>
AuthorDate: Tue Aug 9 16:00:29 2022 +0800

    fix: add missing connection_id to all plugin docs
---
 docs/Plugins/feishu.md                          |  33 +++---
 docs/Plugins/gitee.md                           |  56 +++++-----
 docs/Plugins/github.md                          |   7 +-
 docs/Plugins/jenkins.md                         |   5 +-
 docs/Plugins/refdiff.md                         |  26 +++++
 versioned_docs/version-v0.12/Plugins/feishu.md  |  33 +++---
 versioned_docs/version-v0.12/Plugins/gitee.md   |  56 +++++-----
 versioned_docs/version-v0.12/Plugins/github.md  |   7 +-
 versioned_docs/version-v0.12/Plugins/gitlab.md  |   5 +-
 versioned_docs/version-v0.12/Plugins/jenkins.md |   5 +-
 versioned_docs/version-v0.12/Plugins/jira.md    | 139 ------------------------
 versioned_docs/version-v0.12/Plugins/refdiff.md |  26 +++++
 12 files changed, 157 insertions(+), 241 deletions(-)

diff --git a/docs/Plugins/feishu.md b/docs/Plugins/feishu.md
index c3e0eb64..6cd596f6 100644
--- a/docs/Plugins/feishu.md
+++ b/docs/Plugins/feishu.md
@@ -10,16 +10,23 @@ This plugin collects Feishu meeting data through [Feishu Openapi](https://open.f
 
 ## Configuration
 
-In order to fully use this plugin, you will need to get app_id and app_secret from a Feishu administrator (for help on App info, please see [official Feishu Docs](https://open.feishu.cn/document/ukTMukTMukTM/ukDNz4SO0MjL5QzM/auth-v3/auth/tenant_access_token_internal)),
-then set these two parameters via Dev Lake's `.env`.
+In order to fully use this plugin, you will need to get `app_id` and `app_secret` from a Feishu administrator (for help on App info, please see [official Feishu Docs](https://open.feishu.cn/document/ukTMukTMukTM/ukDNz4SO0MjL5QzM/auth-v3/auth/tenant_access_token_internal)),
 
-### By `.env`
-
-The connection aspect of the configuration screen requires the following key fields to connect to the Feishu API. As Feishu is a single-source data provider at the moment, the connection name is read-only as there is only one instance to manage. As we continue our development roadmap we may enable multi-source connections for Feishu in the future.
+A connection should be created before you can collection any data. Currently, this plugin supports creating connection by requesting `connections` API:
 
 ```
-FEISHU_APPID=app_id
-FEISHU_APPSCRECT=app_secret
+curl 'http://localhost:8080/plugins/feishu/connections' \
+--header 'Content-Type: application/json' \
+--data-raw '
+{
+    "name": "feishu",
+    "endpoint": "https://open.feishu.cn/open-apis/vc/v1/",
+    "proxy": "http://localhost:1080",
+    "rateLimitPerHour": 20000,
+    "appId": "<YOUR_APP_ID>",
+    "appSecret": "<YOUR_APP_SECRET>"
+}
+'
 ```
 
 ## Collect data from Feishu
@@ -33,8 +40,8 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
     {
       "plugin": "feishu",
       "options": {
-        "numOfDaysToCollect" : 80,
-        "rateLimitPerSecond" : 5
+        "connectionId": 1,
+        "numOfDaysToCollect" : 80
       }
     }
   ]
@@ -47,7 +54,7 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
 
 You can also trigger data collection by making a POST request to `/pipelines`.
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -55,10 +62,10 @@ curl --location --request POST 'localhost:8080/pipelines' \
     "tasks": [[{
       "plugin": "feishu",
       "options": {
-        "numOfDaysToCollect" : 80,
-        "rateLimitPerSecond" : 5
+        "connectionId": 1,
+        "numOfDaysToCollect" : 80
       }
     }]]
 }
 '
-```
\ No newline at end of file
+```
diff --git a/docs/Plugins/gitee.md b/docs/Plugins/gitee.md
index 6066fd2e..ffed3f53 100644
--- a/docs/Plugins/gitee.md
+++ b/docs/Plugins/gitee.md
@@ -6,44 +6,34 @@ description: >
 
 ## Summary
 
-## Configuration
-
-### Provider (Datasource) Connection
-The connection aspect of the configuration screen requires the following key fields to connect to the **Gitee API**. As gitee is a _single-source data provider_ at the moment, the connection name is read-only as there is only one instance to manage. As we continue our development roadmap we may enable _multi-source_ connections for gitee in the future.
-
-- **Connection Name** [`READONLY`]
-    - ⚠️ Defaults to "**Gitee**" and may not be changed.
-- **Endpoint URL** (REST URL, starts with `https://` or `http://`)
-    - This should be a valid REST API Endpoint eg. `https://gitee.com/api/v5/`
-    - ⚠️ URL should end with`/`
-- **Auth Token(s)** (Personal Access Token)
-    - For help on **Creating a personal access token**
-    - Provide at least one token for Authentication with the . This field accepts a comma-separated list of values for multiple tokens. The data collection will take longer for gitee since they have a **rate limit of 2k requests per hour**. You can accelerate the process by configuring _multiple_ personal access tokens.
-
-"For API requests using `Basic Authentication` or `OAuth`
+This plugin collects `Gitee` data through [Gitee Openapi](https://gitee.com/api/v5/swagger).
 
+## Configuration
 
-If you have a need for more api rate limits, you can set many tokens in the config file and we will use all of your tokens.
-
-For an overview of the **gitee REST API**, please see official [gitee Docs on REST](https://gitee.com/api/v5/swagger)
-
-Click **Save Connection** to update connection settings.
+In order to fully use this plugin, you will need to get `token` on the Gitee website.
 
+A connection should be created before you can collection any data. Currently, this plugin supports creating connection by requesting `connections` API:
 
-### Provider (Datasource) Settings
-Manage additional settings and options for the gitee Datasource Provider. Currently there is only one **optional** setting, *Proxy URL*. If you are behind a corporate firewall or VPN you may need to utilize a proxy server.
+```
+curl 'http://localhost:8080/plugins/gitee/connections' \
+--header 'Content-Type: application/json' \
+--data-raw '
+{
+    "name": "gitee",
+    "endpoint": "https://gitee.com/api/v5/",
+    "proxy": "http://localhost:1080",
+    "rateLimitPerHour": 20000,
+    "token": "<YOUR_TOKEN>"
+}
+'
+```
 
-**gitee Proxy URL [ `Optional`]**
-Enter a valid proxy server address on your Network, e.g. `http://your-proxy-server.com:1080`
 
-Click **Save Settings** to update additional settings.
 
-### Regular Expression Configuration
-Define regex pattern in .env
-- GITEE_PR_BODY_CLOSE_PATTERN: Define key word to associate issue in pr body, please check the example in .env.example
+## Collect data from Gitee
 
-## Sample Request
 In order to collect data, you have to compose a JSON looks like following one, and send it by selecting `Advanced Mode` on `Create Pipeline Run` page:
+
 1. Configure-UI Mode
 ```json
 [
@@ -51,6 +41,7 @@ In order to collect data, you have to compose a JSON looks like following one, a
     {
       "plugin": "gitee",
       "options": {
+        "connectionId": 1,
         "repo": "lake",
         "owner": "merico-dev"
       }
@@ -66,6 +57,7 @@ and if you want to perform certain subtasks.
       "plugin": "gitee",
       "subtasks": ["collectXXX", "extractXXX", "convertXXX"],
       "options": {
+        "connectionId": 1,
         "repo": "lake",
         "owner": "merico-dev"
       }
@@ -77,7 +69,7 @@ and if you want to perform certain subtasks.
 2. Curl Mode:
    You can also trigger data collection by making a POST request to `/pipelines`.
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -85,6 +77,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
     "tasks": [[{
         "plugin": "gitee",
         "options": {
+            "connectionId": 1,
             "repo": "lake",
             "owner": "merico-dev"
         }
@@ -94,7 +87,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
 ```
 and if you want to perform certain subtasks.
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -103,6 +96,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
         "plugin": "gitee",
         "subtasks": ["collectXXX", "extractXXX", "convertXXX"],
         "options": {
+            "connectionId": 1,
             "repo": "lake",
             "owner": "merico-dev"
         }
diff --git a/docs/Plugins/github.md b/docs/Plugins/github.md
index 815bc145..6f76b2dc 100644
--- a/docs/Plugins/github.md
+++ b/docs/Plugins/github.md
@@ -28,8 +28,6 @@ Here are some examples metrics using `GitHub` data:
 
 ## Configuration
 - Configuring GitHub via [config-ui](/UserManuals/ConfigUI/GitHub.md).
-- Configuring GitHub via `.env`
-   - GITHUB_PR_BODY_CLOSE_PATTERN: Define key word to associate issue in PR body, please check the example in .env.example
 
 ## Sample Request
 To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and paste a JSON config like the following:
@@ -40,6 +38,7 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
     {
       "plugin": "github",
       "options": {
+        "connectionId": 1,
         "repo": "lake",
         "owner": "merico-dev"
       }
@@ -50,7 +49,7 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
 
 You can also trigger data collection by making a POST request to `/pipelines`.
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -58,6 +57,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
     "tasks": [[{
         "plugin": "github",
         "options": {
+            "connectionId": 1,
             "repo": "lake",
             "owner": "merico-dev"
         }
@@ -65,4 +65,3 @@ curl --location --request POST 'localhost:8080/pipelines' \
 }
 '
 ```
-<br/><br/><br/>
diff --git a/docs/Plugins/jenkins.md b/docs/Plugins/jenkins.md
index 0b165acf..9bb0177d 100644
--- a/docs/Plugins/jenkins.md
+++ b/docs/Plugins/jenkins.md
@@ -34,7 +34,9 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
   [
     {
       "plugin": "jenkins",
-      "options": {}
+      "options": {
+        "connectionId": 1
+      }
     }
   ]
 ]
@@ -43,4 +45,3 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
 ## Relationship between job and build
 
 Build is kind of a snapshot of job. Running job each time creates a build.
-<br/><br/><br/>
diff --git a/docs/Plugins/refdiff.md b/docs/Plugins/refdiff.md
index 12950f4f..cc72e774 100644
--- a/docs/Plugins/refdiff.md
+++ b/docs/Plugins/refdiff.md
@@ -63,6 +63,32 @@ curl -v -XPOST http://localhost:8080/pipelines --data @- <<'JSON'
 }
 JSON
 ```
+Or if you prefered calculating latest releases
+```
+curl -v -XPOST http://localhost:8080/pipelines --data @- <<'JSON'
+{
+    "name": "test-refdiff",
+    "tasks": [
+        [
+            {
+                "plugin": "refdiff",
+                "options": {
+                    "repoId": "github:GithubRepo:384111310",
+                    "tagsPattern": "v\d+\.\d+.\d+",
+                    "tagsLimit": 10,
+                    "tagsOrder": "reverse semver",
+                    "tasks": [
+                        "calculateCommitsDiff",
+                        "calculateIssuesDiff",
+                        "calculatePrCherryPick",
+                    ]
+                }
+            }
+        ]
+    ]
+}
+JSON
+```
 
 ## Development
 
diff --git a/versioned_docs/version-v0.12/Plugins/feishu.md b/versioned_docs/version-v0.12/Plugins/feishu.md
index c3e0eb64..6cd596f6 100644
--- a/versioned_docs/version-v0.12/Plugins/feishu.md
+++ b/versioned_docs/version-v0.12/Plugins/feishu.md
@@ -10,16 +10,23 @@ This plugin collects Feishu meeting data through [Feishu Openapi](https://open.f
 
 ## Configuration
 
-In order to fully use this plugin, you will need to get app_id and app_secret from a Feishu administrator (for help on App info, please see [official Feishu Docs](https://open.feishu.cn/document/ukTMukTMukTM/ukDNz4SO0MjL5QzM/auth-v3/auth/tenant_access_token_internal)),
-then set these two parameters via Dev Lake's `.env`.
+In order to fully use this plugin, you will need to get `app_id` and `app_secret` from a Feishu administrator (for help on App info, please see [official Feishu Docs](https://open.feishu.cn/document/ukTMukTMukTM/ukDNz4SO0MjL5QzM/auth-v3/auth/tenant_access_token_internal)),
 
-### By `.env`
-
-The connection aspect of the configuration screen requires the following key fields to connect to the Feishu API. As Feishu is a single-source data provider at the moment, the connection name is read-only as there is only one instance to manage. As we continue our development roadmap we may enable multi-source connections for Feishu in the future.
+A connection should be created before you can collection any data. Currently, this plugin supports creating connection by requesting `connections` API:
 
 ```
-FEISHU_APPID=app_id
-FEISHU_APPSCRECT=app_secret
+curl 'http://localhost:8080/plugins/feishu/connections' \
+--header 'Content-Type: application/json' \
+--data-raw '
+{
+    "name": "feishu",
+    "endpoint": "https://open.feishu.cn/open-apis/vc/v1/",
+    "proxy": "http://localhost:1080",
+    "rateLimitPerHour": 20000,
+    "appId": "<YOUR_APP_ID>",
+    "appSecret": "<YOUR_APP_SECRET>"
+}
+'
 ```
 
 ## Collect data from Feishu
@@ -33,8 +40,8 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
     {
       "plugin": "feishu",
       "options": {
-        "numOfDaysToCollect" : 80,
-        "rateLimitPerSecond" : 5
+        "connectionId": 1,
+        "numOfDaysToCollect" : 80
       }
     }
   ]
@@ -47,7 +54,7 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
 
 You can also trigger data collection by making a POST request to `/pipelines`.
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -55,10 +62,10 @@ curl --location --request POST 'localhost:8080/pipelines' \
     "tasks": [[{
       "plugin": "feishu",
       "options": {
-        "numOfDaysToCollect" : 80,
-        "rateLimitPerSecond" : 5
+        "connectionId": 1,
+        "numOfDaysToCollect" : 80
       }
     }]]
 }
 '
-```
\ No newline at end of file
+```
diff --git a/versioned_docs/version-v0.12/Plugins/gitee.md b/versioned_docs/version-v0.12/Plugins/gitee.md
index 6066fd2e..ffed3f53 100644
--- a/versioned_docs/version-v0.12/Plugins/gitee.md
+++ b/versioned_docs/version-v0.12/Plugins/gitee.md
@@ -6,44 +6,34 @@ description: >
 
 ## Summary
 
-## Configuration
-
-### Provider (Datasource) Connection
-The connection aspect of the configuration screen requires the following key fields to connect to the **Gitee API**. As gitee is a _single-source data provider_ at the moment, the connection name is read-only as there is only one instance to manage. As we continue our development roadmap we may enable _multi-source_ connections for gitee in the future.
-
-- **Connection Name** [`READONLY`]
-    - ⚠️ Defaults to "**Gitee**" and may not be changed.
-- **Endpoint URL** (REST URL, starts with `https://` or `http://`)
-    - This should be a valid REST API Endpoint eg. `https://gitee.com/api/v5/`
-    - ⚠️ URL should end with`/`
-- **Auth Token(s)** (Personal Access Token)
-    - For help on **Creating a personal access token**
-    - Provide at least one token for Authentication with the . This field accepts a comma-separated list of values for multiple tokens. The data collection will take longer for gitee since they have a **rate limit of 2k requests per hour**. You can accelerate the process by configuring _multiple_ personal access tokens.
-
-"For API requests using `Basic Authentication` or `OAuth`
+This plugin collects `Gitee` data through [Gitee Openapi](https://gitee.com/api/v5/swagger).
 
+## Configuration
 
-If you have a need for more api rate limits, you can set many tokens in the config file and we will use all of your tokens.
-
-For an overview of the **gitee REST API**, please see official [gitee Docs on REST](https://gitee.com/api/v5/swagger)
-
-Click **Save Connection** to update connection settings.
+In order to fully use this plugin, you will need to get `token` on the Gitee website.
 
+A connection should be created before you can collection any data. Currently, this plugin supports creating connection by requesting `connections` API:
 
-### Provider (Datasource) Settings
-Manage additional settings and options for the gitee Datasource Provider. Currently there is only one **optional** setting, *Proxy URL*. If you are behind a corporate firewall or VPN you may need to utilize a proxy server.
+```
+curl 'http://localhost:8080/plugins/gitee/connections' \
+--header 'Content-Type: application/json' \
+--data-raw '
+{
+    "name": "gitee",
+    "endpoint": "https://gitee.com/api/v5/",
+    "proxy": "http://localhost:1080",
+    "rateLimitPerHour": 20000,
+    "token": "<YOUR_TOKEN>"
+}
+'
+```
 
-**gitee Proxy URL [ `Optional`]**
-Enter a valid proxy server address on your Network, e.g. `http://your-proxy-server.com:1080`
 
-Click **Save Settings** to update additional settings.
 
-### Regular Expression Configuration
-Define regex pattern in .env
-- GITEE_PR_BODY_CLOSE_PATTERN: Define key word to associate issue in pr body, please check the example in .env.example
+## Collect data from Gitee
 
-## Sample Request
 In order to collect data, you have to compose a JSON looks like following one, and send it by selecting `Advanced Mode` on `Create Pipeline Run` page:
+
 1. Configure-UI Mode
 ```json
 [
@@ -51,6 +41,7 @@ In order to collect data, you have to compose a JSON looks like following one, a
     {
       "plugin": "gitee",
       "options": {
+        "connectionId": 1,
         "repo": "lake",
         "owner": "merico-dev"
       }
@@ -66,6 +57,7 @@ and if you want to perform certain subtasks.
       "plugin": "gitee",
       "subtasks": ["collectXXX", "extractXXX", "convertXXX"],
       "options": {
+        "connectionId": 1,
         "repo": "lake",
         "owner": "merico-dev"
       }
@@ -77,7 +69,7 @@ and if you want to perform certain subtasks.
 2. Curl Mode:
    You can also trigger data collection by making a POST request to `/pipelines`.
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -85,6 +77,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
     "tasks": [[{
         "plugin": "gitee",
         "options": {
+            "connectionId": 1,
             "repo": "lake",
             "owner": "merico-dev"
         }
@@ -94,7 +87,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
 ```
 and if you want to perform certain subtasks.
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -103,6 +96,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
         "plugin": "gitee",
         "subtasks": ["collectXXX", "extractXXX", "convertXXX"],
         "options": {
+            "connectionId": 1,
             "repo": "lake",
             "owner": "merico-dev"
         }
diff --git a/versioned_docs/version-v0.12/Plugins/github.md b/versioned_docs/version-v0.12/Plugins/github.md
index 815bc145..6f76b2dc 100644
--- a/versioned_docs/version-v0.12/Plugins/github.md
+++ b/versioned_docs/version-v0.12/Plugins/github.md
@@ -28,8 +28,6 @@ Here are some examples metrics using `GitHub` data:
 
 ## Configuration
 - Configuring GitHub via [config-ui](/UserManuals/ConfigUI/GitHub.md).
-- Configuring GitHub via `.env`
-   - GITHUB_PR_BODY_CLOSE_PATTERN: Define key word to associate issue in PR body, please check the example in .env.example
 
 ## Sample Request
 To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and paste a JSON config like the following:
@@ -40,6 +38,7 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
     {
       "plugin": "github",
       "options": {
+        "connectionId": 1,
         "repo": "lake",
         "owner": "merico-dev"
       }
@@ -50,7 +49,7 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
 
 You can also trigger data collection by making a POST request to `/pipelines`.
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -58,6 +57,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
     "tasks": [[{
         "plugin": "github",
         "options": {
+            "connectionId": 1,
             "repo": "lake",
             "owner": "merico-dev"
         }
@@ -65,4 +65,3 @@ curl --location --request POST 'localhost:8080/pipelines' \
 }
 '
 ```
-<br/><br/><br/>
diff --git a/versioned_docs/version-v0.12/Plugins/gitlab.md b/versioned_docs/version-v0.12/Plugins/gitlab.md
index be5e1842..6566ed46 100644
--- a/versioned_docs/version-v0.12/Plugins/gitlab.md
+++ b/versioned_docs/version-v0.12/Plugins/gitlab.md
@@ -24,10 +24,10 @@ Configuring GitLab via [config-ui](/UserManuals/ConfigUI/GitLab.md).
 
 ## Gathering Data with GitLab
 
-To collect data, you can make a POST request to `/pipelines`
+To collect data, you can either utilize the `config-ui` or make a POST request to `/pipelines`
 
 ```
-curl --location --request POST 'localhost:8080/pipelines' \
+curl 'http://localhost:8080/pipelines' \
 --header 'Content-Type: application/json' \
 --data-raw '
 {
@@ -35,6 +35,7 @@ curl --location --request POST 'localhost:8080/pipelines' \
     "tasks": [[{
         "plugin": "gitlab",
         "options": {
+            "connectionId": 1,
             "projectId": <Your gitlab project id>
         }
     }]]
diff --git a/versioned_docs/version-v0.12/Plugins/jenkins.md b/versioned_docs/version-v0.12/Plugins/jenkins.md
index 0b165acf..9bb0177d 100644
--- a/versioned_docs/version-v0.12/Plugins/jenkins.md
+++ b/versioned_docs/version-v0.12/Plugins/jenkins.md
@@ -34,7 +34,9 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
   [
     {
       "plugin": "jenkins",
-      "options": {}
+      "options": {
+        "connectionId": 1
+      }
     }
   ]
 ]
@@ -43,4 +45,3 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
 ## Relationship between job and build
 
 Build is kind of a snapshot of job. Running job each time creates a build.
-<br/><br/><br/>
diff --git a/versioned_docs/version-v0.12/Plugins/jira.md b/versioned_docs/version-v0.12/Plugins/jira.md
index 7ac79ad0..77b065d3 100644
--- a/versioned_docs/version-v0.12/Plugins/jira.md
+++ b/versioned_docs/version-v0.12/Plugins/jira.md
@@ -55,142 +55,3 @@ To collect data, select `Advanced Mode` on the `Create Pipeline Run` page and pa
 - `since`: optional, download data since a specified date only.
 
 
-## API
-
-### Data Connections
-
-1. Get all data connection
-
-```GET /plugins/jira/connections
-[
-  {
-    "ID": 14,
-    "CreatedAt": "2021-10-11T11:49:19.029Z",
-    "UpdatedAt": "2021-10-11T11:49:19.029Z",
-    "name": "test-jira-connection",
-    "endpoint": "https://merico.atlassian.net/rest",
-    "basicAuthEncoded": "basicAuth",
-    "epicKeyField": "epicKeyField",
-      "storyPointField": "storyPointField"
-  }
-]
-```
-
-2. Create a new data connection
-
-```POST /plugins/jira/connections
-{
-	"name": "jira data connection name",
-	"endpoint": "jira api endpoint, i.e. https://merico.atlassian.net/rest",
-    "basicAuthEncoded": "generated by `echo -n {jira login email}:{jira token} | base64`",
-	"epicKeyField": "name of customfield of epic key",
-	"storyPointField": "name of customfield of story point",
-	"typeMappings": { // optional, send empty object to delete all typeMappings of the data connection
-		"userType": {
-			"standardType": "devlake standard type"
-		}
-	}
-}
-```
-
-
-3. Update data connection
-
-```PUT /plugins/jira/connections/:connectionId
-{
-	"name": "jira data connection name",
-	"endpoint": "jira api endpoint, i.e. https://merico.atlassian.net/rest",
-    "basicAuthEncoded": "generated by `echo -n {jira login email}:{jira token} | base64`",
-	"epicKeyField": "name of customfield of epic key",
-	"storyPointField": "name of customfield of story point",
-	"typeMappings": { // optional, send empty object to delete all typeMappings of the data connection
-		"userType": {
-			"standardType": "devlake standard type",
-		}
-	}
-}
-```
-
-4. Get data connection detail
-```GET /plugins/jira/connections/:connectionId
-{
-	"name": "jira data connection name",
-	"endpoint": "jira api endpoint, i.e. https://merico.atlassian.net/rest",
-    "basicAuthEncoded": "generated by `echo -n {jira login email}:{jira token} | base64`",
-	"epicKeyField": "name of customfield of epic key",
-	"storyPointField": "name of customfield of story point",
-	"typeMappings": { // optional, send empty object to delete all typeMappings of the data connection
-		"userType": {
-			"standardType": "devlake standard type",
-		}
-	}
-}
-```
-
-5. Delete data connection
-
-```DELETE /plugins/jira/connections/:connectionId
-```
-
-
-### Type mappings
-
-1. Get all type mappings
-```GET /plugins/jira/connections/:connectionId/type-mappings
-[
-  {
-    "jiraConnectionId": 16,
-    "userType": "userType",
-    "standardType": "standardType"
-  }
-]
-```
-
-2. Create a new type mapping
-
-```POST /plugins/jira/connections/:connectionId/type-mappings
-{
-    "userType": "userType",
-    "standardType": "standardType"
-}
-```
-
-3. Update type mapping
-
-```PUT /plugins/jira/connections/:connectionId/type-mapping/:userType
-{
-    "standardType": "standardTypeUpdated"
-}
-```
-
-
-4. Delete type mapping
-
-```DELETE /plugins/jira/connections/:connectionId/type-mapping/:userType
-```
-
-5. API forwarding
-For example:
-Requests to `http://your_devlake_host/plugins/jira/connections/1/proxy/rest/agile/1.0/board/8/sprint`
-would be forwarded to `https://your_jira_host/rest/agile/1.0/board/8/sprint`
-
-```GET /plugins/jira/connections/:connectionId/proxy/rest/*path
-{
-    "maxResults": 1,
-    "startAt": 0,
-    "isLast": false,
-    "values": [
-        {
-            "id": 7,
-            "self": "https://merico.atlassian.net/rest/agile/1.0/sprint/7",
-            "state": "closed",
-            "name": "EE Sprint 7",
-            "startDate": "2020-06-12T00:38:51.882Z",
-            "endDate": "2020-06-26T00:38:00.000Z",
-            "completeDate": "2020-06-22T05:59:58.980Z",
-            "originBoardId": 8,
-            "goal": ""
-        }
-    ]
-}
-```
diff --git a/versioned_docs/version-v0.12/Plugins/refdiff.md b/versioned_docs/version-v0.12/Plugins/refdiff.md
index 12950f4f..cc72e774 100644
--- a/versioned_docs/version-v0.12/Plugins/refdiff.md
+++ b/versioned_docs/version-v0.12/Plugins/refdiff.md
@@ -63,6 +63,32 @@ curl -v -XPOST http://localhost:8080/pipelines --data @- <<'JSON'
 }
 JSON
 ```
+Or if you prefered calculating latest releases
+```
+curl -v -XPOST http://localhost:8080/pipelines --data @- <<'JSON'
+{
+    "name": "test-refdiff",
+    "tasks": [
+        [
+            {
+                "plugin": "refdiff",
+                "options": {
+                    "repoId": "github:GithubRepo:384111310",
+                    "tagsPattern": "v\d+\.\d+.\d+",
+                    "tagsLimit": 10,
+                    "tagsOrder": "reverse semver",
+                    "tasks": [
+                        "calculateCommitsDiff",
+                        "calculateIssuesDiff",
+                        "calculatePrCherryPick",
+                    ]
+                }
+            }
+        ]
+    ]
+}
+JSON
+```
 
 ## Development