Skip to content

[FEATURE] Support for Multiple Platforms through Abstraction Layer Implementation #7

@MEbbesen

Description

@MEbbesen

Describe the Feature Request
Implement an abstraction layer for OAuth and webhook classes to support code reviewing on multiple platforms, including GitHub and Azure DevOps, in addition to the existing Bitbucket support.

Related Problem or Limitation
The code review bot is currently tailored specifically for Bitbucket, limiting its applicability for teams and projects using other platforms like GitHub and Azure DevOps.

Describe Preferred Solution

  • Develop a generic interface that abstracts the authentication (OAuth) and webhook listening/handling process.
  • Implement separate modules for handling the OAuth 2.0 and webhook processes for different platforms.
  • Enhance configuration management to enable specification of the platform and its respective credentials and settings.

Describe Alternatives
An alternative might be developing separate bots for each platform, which may increase the management overhead and is not a scalable solution.

Additional Context
Expanding the bot’s functionality to platforms like GitHub and Azure DevOps will enhance its utility and applicability across different teams and projects, thereby providing a unified bot for code reviews across various repositories and platforms.

Does the feature involve a change in existing behavior?
Yes, the existing bot is designed and implemented specifically for Bitbucket. The proposed feature will modify how the bot interacts with platform APIs and webhooks, making it adaptable to different platforms.

Impact on Users
The abstraction layer should be implemented in a way that it doesn’t alter the bot's behavior on Bitbucket. New and existing users should be able to utilize the bot across Bitbucket, GitHub, and Azure DevOps without experiencing disruptions or degraded performance.

Priority
Moderate. This feature expands the usability and applicability of the bot to wider audiences and can be vital for adoption by teams not using Bitbucket.

Are you willing to contribute to this feature?
Indicate if you or your team is willing to contribute to the development of this feature. Also, specify any initial thoughts or suggestions you might have on the implementation.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions