incubator-devlake icon indicating copy to clipboard operation
incubator-devlake copied to clipboard

api to list out what `subtasks` could a plugin provide

Open klesh opened this issue 3 years ago • 2 comments

Description

Currently, users have to learn plugin subtasks by reading source code so they can customize what subtasks to run on config-ui, this is not very user friendly.

Describe the solution you'd like

backend to provide an api like /plugins which returns all available plugins, and their subtasks

Has the Feature been Requested Before?

No

klesh avatar Mar 28 '22 14:03 klesh

Need design @yumengwang03

Startrekzky avatar Apr 21 '22 07:04 Startrekzky

@klesh I can take this one.

keon94 avatar Aug 30 '22 01:08 keon94

This issue has been automatically marked as stale because it has not had recent activity for 30 days. It will be closed in next 7 days if no further activity occurs.

github-actions[bot] avatar Sep 30 '22 00:09 github-actions[bot]

bump

keon94 avatar Oct 14 '22 15:10 keon94

@klesh is this still slotted for v0.15? I haven't been able to get around to it yet due to my involvement in the Python framework work.

keon94 avatar Nov 21 '22 18:11 keon94

@keon94 no problem, this is not a critical task, we can postpone it.

klesh avatar Nov 24 '22 09:11 klesh

This issue has been automatically marked as stale because it has not had recent activity for 30 days. It will be closed in next 7 days if no further activity occurs.

github-actions[bot] avatar Jan 19 '23 00:01 github-actions[bot]

This issue has been closed because it has not received response for too long time. You could reopen it if you encountered similar problems in the future.

github-actions[bot] avatar Jan 29 '23 00:01 github-actions[bot]

This issue has been closed because it has not received response for too long time. You could reopen it if you encountered similar problems in the future.

github-actions[bot] avatar Feb 07 '23 00:02 github-actions[bot]

@klesh Could you provide a sample JSON of the output body you'd like to see for this API? Should it just be a list of names like ["collectAccounts", "extractAccounts", ...] (for github for example)

keon94 avatar Mar 07 '23 00:03 keon94

@keon94 I think we can output more, all meta info should be returned including enabledByDefault, description and domainTypes.

I think it would be helpful if users could see these information in Advanced Mode. @hezyin @mintsweet

klesh avatar Mar 07 '23 02:03 klesh

I think it should look like the following:

[
    {
        "plugin": "github",
        "subtasks": [
            {
                "name": "collectApiIssues",
                "description": "...",
                ...
            },
            ...
        ],
        ...
    }
]

klesh avatar Mar 07 '23 03:03 klesh

@klesh @keon94 Hey guys, can you help me better understand who are the users of this API and when/how do they use this API?

hezyin avatar Mar 07 '23 07:03 hezyin

@hezyin , as mentioned in the quoted thread, it would be helpful for Advanced Users if config-ui could adopt and display the info accordingly.

Secondly, as we move forward, some users might choose to stay on an older version of devlake, it would be helpful for them to perform some Advanced Tasks without too much digging.

Lastly, users or config-ui can be more flexible with the meta information. i.e. to rerun all extractors and converters after changing transformation rule(skip all collectors) with scripts or clicks. (select all subtasks that do not start with collect )

@keon94 I think we can output more, all meta info should be returned including enabledByDefault, description and domainTypes.

I think it would be helpful if users could see these information in Advanced Mode. @hezyin @mintsweet

klesh avatar Mar 07 '23 07:03 klesh

@klesh Thanks for the clarification. So this is for the UX of the advanced mode, saving users' efforts to dig into the source code to see what subtasks are available. For this to work, the subtask descriptions also need to be informative enough since subtask names sometimes can be ambiguous. Since this is a UX improvement, I'm cc'ing @yumengwang03 and @Startrekzky to join the discussion.

For the third point you mentioned, I'm hesitant to build features depending on the naming convention of subtasks.

While we continue discussing this issue, I suggest @keon94 prioritize other issues that have been confirmed for v0.17, for example: https://github.com/apache/incubator-devlake/issues/4249

hezyin avatar Mar 08 '23 18:03 hezyin

This issue has been automatically marked as stale because it has not had recent activity for 30 days. It will be closed in next 7 days if no further activity occurs.

github-actions[bot] avatar Apr 12 '23 00:04 github-actions[bot]

This issue has been closed because it has not received response for too long time. You could reopen it if you encountered similar problems in the future.

github-actions[bot] avatar Apr 19 '23 00:04 github-actions[bot]

This issue has been closed because it has not received response for too long time. You could reopen it if you encountered similar problems in the future.

github-actions[bot] avatar May 24 '23 00:05 github-actions[bot]

Tracked in #5920

Startrekzky avatar Aug 21 '23 04:08 Startrekzky