scrapinghub / spidermon

Scrapy Extension for monitoring spiders execution.
https://spidermon.readthedocs.io
BSD 3-Clause "New" or "Revised" License
526 stars 94 forks source link

feature: New built-in action to create Freshdesk tickets #357

Open curita opened 2 years ago

curita commented 2 years ago

At the moment built-in actions focus on supporting different alert systems. It would be nice to support ticketing systems by default, as automatically reporting issues based on Spidermon alerts is a common feature across many client projects.

VMRuiz commented 1 year ago

If we start to add new external systems like this and https://github.com/scrapinghub/spidermon/issues/356 I think we should discuss how we should do it?

Gallaecio commented 1 year ago

Including other open source packages, faster but we risk getting stalled dependencies in the future.

I think this is the right approach to take whenever possible.

If that worse case scenario happens, and it would not be weird, we can then decide how to approach the issue: deprecate the feature on our end, or revive and maintain that dependency.

However, we might want to keep this integration stuff out of the Spidermon repository. I am not sure how easy it would be with the current Spidermon codebase, but I think having separate packages for integration with different third-party services, in line with https://github.com/scrapy-plugins, would make Spidermon maintenance easier on the long run.

rennerocha commented 1 year ago

For actions like this, it should be very straightforward to create a separated repository with just the integrations we need. It is basically one class that needs to be imported and used. Even the existing integrations (like Telegram, Discord, AWS SES) could be removed. The source code of each plugin will be small and probably very stable requiring low maintenance.

Perhaps we could create new repositories over https://github.com/scrapy-plugins (which could make sense as it is Scrapy-related) or a new organization like https://github.com/spidermon-plugins, so we can have things like:

Related to this comment, we could change how we install Spidermon, so if we use pip install spidermon[jira] it installs spidermon-jira package as well.

Any thoughts?

Gallaecio commented 1 year ago

For separate packages, I would keep them out of extras, let people install them separately, that should be it. But extras for those components that are in the repository at the moment I think extras make sense.