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:03 UTC

[incubator-devlake-website] branch kw-devlake-2706-apidoc created (now 6e1a2ee5)

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

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


      at 6e1a2ee5 fix: add missing connection_id to all plugin docs

This branch includes the following new commits:

     new 6e1a2ee5 fix: add missing connection_id to all plugin docs

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



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

Posted by kl...@apache.org.
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