hezyin opened a new issue, #3458: URL: https://github.com/apache/incubator-devlake/issues/3458
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/incubator-devlake/issues?q=is%3Aissue) and found no similar feature requirement. ### Description ## Background [ClickUp](clickup.com) is a [fast-growing](https://techcrunch.com/2021/10/27/clickup-raises-400m-at-a-4b-valuation-to-expand-its-all-in-one-workplace-productivity-platform-to-europe/) project management tool and we have community members requesting this plugin. Now that we have the singer-spec framework ready, we could test out the framework by implementing a ClickUp plugin using the new framework. The singer tap for ClickUp is here (its quality needs verification): https://github.com/AutoIDM/tap-clickup ## Goal The goal is to implement a ClickUp plugin that: 1. Covers major entities in the issue-tracking domain and their associations. Major entities include issues, boards, sprints, issue labels, issue changelogs, and issue comments. 2. Support ClickUp as a data source for calculating DORA metrics. Similar to other issue-tracking system, ClickUp can provide incident data for calculating the Change Failure Rate (CFR) and Mean Time to Recover (MTTR) metrics within DORA. 3. Provide a ClickUp dashboard for users to verify and explore data. ## Known Challenges 1. ClickUp's hierarchy ClickUp has a relatively complicated hierarchy for managing tasks, please see the screenshot below: <img width="803" alt="Screen Shot 2022-10-17 at 10 40 48 PM" src="https://user-images.githubusercontent.com/2908155/196345109-11e4f9ca-0cc1-4ab4-99d4-61bd21689b2d.png"> * Space: a team or a department * List: a container for tasks. Users can use lists to organize work for a specific timeframe such as [sprints](https://help.clickup.com/hc/en-us/articles/6311468482455-Getting-Started-Guide/how-to-setup-an-agile-scrum-workflow-in-clickup), by geographic location, or as phases of complex projects. * Task: maps to issues in DevLake's domain layer. A task always has a parent list. * Folder: optional, it's a group of lists. It's obvious that tasks should map to issues in the domain layer, but how to map other entities require some research. For more details, please see [ClickUp's hierarchy doc](https://help.clickup.com/hc/en-us/articles/6311525171223-Hierarchy-structure-in-ClickUp). ### Use case _No response_ ### Related issues _No response_ ### Are you willing to submit a PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
