Code Monkey home page Code Monkey logo

steampipe-plugin-clickup's People

Contributors

bob-bot avatar graza-io avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

steampipe-plugin-clickup's Issues

Initial suggestions for plugin release

Thanks for this amazing plugin @graza-io ๐Ÿ˜„ . I have been playing around the tables and they were very informative ๐Ÿ‘ . The structure looks great. We have a few minor suggestions before we can push the plugin to the hub, please let us know if you have any questions.

  1. Could we use the following query in the README and the docs/index.md files:
select
  id,
  name,
  color
from
  clickup_team;

It is essentially the same as select * from clickup_team but I guess it would look better to have all the columns listed out. We can also use this query in social graphics(Simple yet powerful).

  1. Could we add the contributing section at the end of the README file? Please refer to https://github.com/turbot/steampipe-plugin-pagerduty#contributing for more information

  2. Could we add the following query in the docs/index.md file along with sample output:

select
  id,
  name,
  color
from
  clickup_team;

Could we also update # ClickUp + Turbot Steampipe to # ClickUp + Steampipe?

  1. Could you please add the Credentials section in the docs/index.md file, mentioning the permission scope (if required) to query the tables?

  2. The config/clickup.spc should look something like this:

connection "clickup" {
  plugin = "theapsgroup/clickup"

  # ClickUp API token
  # This can also be set via the `CLICKUP_TOKEN` environment variable.
  # token = "pk_xxxxxxx_xxxxxxxxxxxxx"
}
  1. The formatting in the table docs is slightly different from what we follow across all the documents. Could you please update it as follows:

Existing:

### Get a folder by ID

```sql
select
    id,
    name,
    order_index,
    hidden,
    space_id,
    task_count,
    archived,
from
    clickup_folder
where
    id = '7fsd72'

Updated:

### Get a folder by ID

```sql
select
  id,
  name,
  order_index,
  hidden,
  space_id,
  task_count,
  archived,
from
  clickup_folder
where
  id = '7fsd72';

The semicolons are also missing at the end of query examples, could you please add them at the end of query examples?

  1. The current table examples are great but they still feel a bit light. Could we have 1-2 additional example queries per table?

  2. The table descriptions are missing, could we please add them? Currently, the inspect command returns the following result:

> .inspect clickup
+-------------------------+-------------+
| table                   | description |
+-------------------------+-------------+
| clickup_folder          |             |
| clickup_folderless_list |             |
| clickup_goal            |             |
| clickup_list            |             |
| clickup_list_member     |             |
| clickup_space           |             |
| clickup_task            |             |
| clickup_task_assignee   |             |
| clickup_task_watcher    |             |
| clickup_team            |             |
| clickup_team_member     |             |
+-------------------------+-------------+
  1. I did check the SDK for pagination, but couldn't find any. Does the SDK support pagination, backoff, and retry functionality? Please refer to https://steampipe.io/docs/develop/plugin-release-checklist#data-ingestion for more information.

Overall the plugin looks great, after the above suggestions are addressed we can push the plugin to the hub ๐Ÿ‘ .

Thanks a lot for the plugin @graza-io, eagerly waiting to push it to the hub ๐Ÿ‘ .

Improvements to clickup_task table.

When looking over the core API docs noticed that there is an endpoint for obtaining tasks by more parameters than purely id or list_id which uses the wider scope of team_id and then has options for a multitude of filters docs

Suggestion here to is move clickup_task -> clickup_list_task & introduce clickup_team_task using the aforementioned improved endpoint.

Table: clickup_task doesn't always return all items as expected.

Essentially, this appears to be the fault of the API, whilst advertised to return 100 items per page, this isn't always the case when calling the API (via cURL / Insomnia) on odd occasions it returns less, even though this isn't the end of the required item count:

Calls to obtain page 0 of tasks for my specific team id, returned task counts:
100, 100, 95, 100, 100, 100, 100, 100, 100, 100, 83, 100, 100, 100, 100, 100, 100, 100...

In the event of hitting less than 100 items, the current plugin code will exit querying for more pages (as it assumes this was the last page as it wasn't wrt the docs a full 100 item page).

Unfortunately the API doesn't return any headers or payload data which would indicates if there is a next page to obtain.

Potential solution for this would be to keep fetching pages until 0 items is returned (will fire off 1 more request than required, which could be frustrating on a low rate-limit band) - could have potential negative delay if the last useful page was obtained on last usage per rate limit and had to wait for the back off just to get an empty page...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.