sauron-engine icon indicating copy to clipboard operation
sauron-engine copied to clipboard

Importing Jobs

Open jlugao opened this issue 5 years ago • 1 comments

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

jlugao avatar Oct 27 '19 15:10 jlugao

this should be split in multiple issues so this can be better managed

jlugao avatar Oct 27 '19 21:10 jlugao