This is an automated email from the ASF dual-hosted git repository. likyh pushed a commit to branch likyh/trello-teambition in repository https://gitbox.apache.org/repos/asf/incubator-devlake-website.git
commit 023f00f516b2a28cc0b56e9221a42ffb4e0fee07 Author: linyh <[email protected]> AuthorDate: Tue Apr 4 22:01:12 2023 +0800 feat: add doc for teambition and trello --- docs/Configuration/AdvancedMode.md | 23 +++++++++ docs/Configuration/Teambition.md | 56 ++++++++++++++++++++ docs/Plugins/teambition.md | 25 +++++++++ docs/Plugins/trello.md | 103 +++++++++++++++++++++++++++++++++++++ 4 files changed, 207 insertions(+) diff --git a/docs/Configuration/AdvancedMode.md b/docs/Configuration/AdvancedMode.md index aaf51ceb74..acd2672fdc 100644 --- a/docs/Configuration/AdvancedMode.md +++ b/docs/Configuration/AdvancedMode.md @@ -352,6 +352,29 @@ Below is an example for collecting a SonarQube project. - 4. In the top menu bar of the project homepage, select "Project Information". - 5. On the "Project Information" page, you will see the project key. + +### 11. Teambition + +Below is an example for collecting a Teambition project. Since users can configure multiple Teambition connection, it's required to pass in a `connectionId` for Teambition task to specify which connection to use. + +```json +[ + [ + { + "plugin": "teambition", + "options": { + "createdDateAfter": "2006-01-02T15:04:05Z", + "projectId": "5e5****376", + "connectionId": 1 + } + } + ] +] +``` + +- `connectionId`: The ID of your TAPD connection at page http://localhost:4000/connections/tapd. +- `projectId`: Teambition project id, you can get it from url:  + ## Editing a Blueprint (Advanced Mode) This section is for editing a Blueprint in the Advanced Mode. To edit in the Normal mode, please refer to [this guide](Tutorial.md#editing-a-blueprint-normal-mode). diff --git a/docs/Configuration/Teambition.md b/docs/Configuration/Teambition.md new file mode 100644 index 0000000000..791a74596a --- /dev/null +++ b/docs/Configuration/Teambition.md @@ -0,0 +1,56 @@ +--- +title: "Teambition(Beta)" +sidebar_position: 6 +description: Config UI instruction for Tapd +--- + +Visit config-ui: `http://localhost:4000` and go to `Connections` page. + +### Step 1 - Add Data Connections + + +#### Connection Name +Name your connection. + +#### Endpoint URL +This should be a valid REST API endpoint + - `https://open.teambition.com/api/` +The endpoint url should end with `/`. + +#### App Id / Secret Key +Input the app id and secret key of your Teambition account, you can follow the steps as below. + + +You should ensure that you have added all the necessary "get" and "list" authentication methods. + + + +#### Tenant Type / Tenant Id + +It is important to add your app before finding the Tenant Id. + + + + + + + +#### Proxy URL (Optional) + +If you are behind a corporate firewall or VPN you may need to utilize a proxy server. Enter a valid proxy server address on your network, e.g. `http://your-proxy-server.com:1080` + +#### Ralte Limit (Optional) +For Teambition, we suggest you setting the rate limit to 5000 + +#### Test and Save Connection +Click `Test Connection`, if the connection is successful, click `Save Connection` to add the connection. + +### Step 2 - Configure Blueprint + +Similar to other beta plugins, Teambition does not support `project`, which means, you can only collect Teambition data via blueprint's advanced mode. + +Please go to the `Blueprints` page and switch to advanced mode. See how to use advanced mode and JSON [examples](AdvancedMode.md#11-Teambition). + +### Troubleshooting + +If you run into any problem, please check the [Troubleshooting](/Troubleshooting/Configuration.md) or [create an issue](https://github.com/apache/incubator-devlake/issues) diff --git a/docs/Plugins/teambition.md b/docs/Plugins/teambition.md new file mode 100644 index 0000000000..6560964c31 --- /dev/null +++ b/docs/Plugins/teambition.md @@ -0,0 +1,25 @@ +--- + +title: "Teambition(Beta)" +description: > + Teambition Plugin +--- + +## Summary + +This plugin collects Teambition data through its REST APIs. Teambition is an issue-tracking tool similar to Trello. + +## Metrics + +Metrics that can be calculated based on the data collected from Tapd: + +- [Requirement Count](/Metrics/RequirementCount.md) +- [Requirement Lead Time](/Metrics/RequirementLeadTime.md) +- [Requirement Delivery Rate](/Metrics/RequirementDeliveryRate.md) +- [Bug Age](/Metrics/BugAge.md) +- [Incident Age](/Metrics/IncidentAge.md) + +## Configuration + +- Configuring Teambition via [config-ui](/Configuration/Teambition.md). +- Configuring Teambition via Config UI's [advanced mode](/Configuration/AdvancedMode.md#11-Teambition). diff --git a/docs/Plugins/trello.md b/docs/Plugins/trello.md new file mode 100644 index 0000000000..19a568ba0a --- /dev/null +++ b/docs/Plugins/trello.md @@ -0,0 +1,103 @@ +--- +title: "Trello(WIP)" +description: > + Trello Plugin +--- + +## Summary + +This plugin collects `Trello` data through [Trello's rest api](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/). + +## Configuration + +In order to fully use this plugin, you will need to get `apikey` and `token` on the [Trello website](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/). + +A connection should be created before you can collect any data. Currently, this plugin supports creating connection by requesting `connections` API: + +``` +curl 'http://localhost:8080/plugins/trello/connections' \ +--header 'Content-Type: application/json' \ +--data-raw ' +{ + "name": "trello", + "endpoint": "https://api.trello.com/", + "rateLimitPerHour": 20000, + "appId": "<YOUR_APIKEY>", + "secretKey": "<YOUR_TOKEN>" +} +' +``` + +## Collect data from Trello + + + +You can make the following request to get all the boards. + +``` +curl 'http://localhost:8080/plugins/trello/connections/<CONNECTION_ID>/proxy/rest/1/members/me/boards?fields=name,id' +``` + + +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 +[ + [ + { + "plugin": "trello", + "options": { + "connectionId": <CONNECTION_ID>, + "boardId": "<BOARD_ID>" + } + } + ] +] +``` +and if you want to perform certain subtasks. +```json +[ + [ + { + "plugin": "trello", + "subtasks": ["collectXXX", "extractXXX", "convertXXX"], + "options": { + "connectionId": <CONNECTION_ID>, + "boardId": "<BOARD_ID>" + } + } + ] +] +``` + +2. Curl Mode: + +In order to collect data, you have to make a POST request to `/pipelines`. + +``` +curl 'http://localhost:8080/pipelines' \ +--header 'Content-Type: application/json' \ +--data-raw ' +{ + "name":"MY PIPELINE", + "plan":[ + [ + { + "plugin":"trello", + "options":{ + "connectionId":<CONNECTION_ID>, + "boardId":"<BOARD_ID>" + } + } + ] + ] +} +' +``` + +You can make the following request to get all the boards. + +``` +curl 'http://localhost:8080/plugins/trello/connections/<CONNECTION_ID>/proxy/rest/1/members/me/boards?fields=name,id' +```
