spidermon icon indicating copy to clipboard operation
spidermon copied to clipboard

feature: New built-in action to create Freshdesk tickets

Open curita opened this issue 3 years ago • 4 comments

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.

curita avatar Aug 03 '22 01:08 curita

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?

  • Implementing API calls to their endpoint manually from our side, which require effort and maintenance.
  • Including other open source packages, faster but we risk getting stalled dependencies in the future.

VMRuiz avatar Nov 04 '22 08:11 VMRuiz

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.

Gallaecio avatar Nov 04 '22 15:11 Gallaecio

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:

  • https://github.com/spidermon-plugins/spidermon-freshdesk
  • https://github.com/spidermon-plugins/spidermon-discord
  • https://github.com/spidermon-plugins/spidermon-jira ....

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?

rennerocha avatar Nov 04 '22 18:11 rennerocha

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.

Gallaecio avatar Nov 04 '22 19:11 Gallaecio