api to list out what `subtasks` could a plugin provide
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
Need design @yumengwang03
@klesh I can take this one.
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.
bump
@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 no problem, this is not a critical task, we can postpone it.
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.
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.
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.
@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 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
I think it should look like the following:
[
{
"plugin": "github",
"subtasks": [
{
"name": "collectApiIssues",
"description": "...",
...
},
...
],
...
}
]
@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 , 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,descriptionanddomainTypes.I think it would be helpful if users could see these information in
Advanced Mode. @hezyin @mintsweet
@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
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.
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.
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.
Tracked in #5920