sauron-engine
sauron-engine copied to clipboard
Importing Jobs
For automation engines one of the most valuble features is beign able to utilize integrations that are already defined. Take a look at zapier or other automation apps, they already have a huge list of app integrations they work with. Some are specially noticeable:
- Trello
- Github
- Gitlab
- Google Sheets
- Telegram
- Gmail
Those integrations will not be hosted on the main sauron package and should be maintained as third-party packages.
Proposed solution
Jobs should be grouped in classes or modules, a import should look like from sauron.plugins import TrelloAction
Import should be a method of the engine object and also should be able to select which jobs will be imported (by name). An example of such api below:
engine.import_jobs(
TrelloAction,
job_names=["trello_create_card", "trello_delete_label"],
config={"SECRET_KEY": "FOOO", "API_KEY": "FOO121323-1231O"},
)
After this the imported jobs will be able to run on your rules set
Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.
Thigs to consider
Using aliases or namespaces to avoid naming conflicts
this should be split in multiple issues so this can be better managed