-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Github connector #64
Closed
srenault-meeds opened this issue
May 15, 2023
· 17 comments
· Fixed by Meeds-io/gamification-github#107, Meeds-io/gamification#1212, Meeds-io/kudos#359, Meeds-io/poll#96 or Meeds-io/gatein-portal#666
Closed
Github connector #64
srenault-meeds opened this issue
May 15, 2023
· 17 comments
· Fixed by Meeds-io/gamification-github#107, Meeds-io/gamification#1212, Meeds-io/kudos#359, Meeds-io/poll#96 or Meeds-io/gatein-portal#666
Comments
AzmiTouil
added a commit
to Meeds-io/gamification
that referenced
this issue
Jun 6, 2023
AzmiTouil
added a commit
to Meeds-io/gamification
that referenced
this issue
Jun 6, 2023
AzmiTouil
added a commit
to Meeds-io/gamification-github
that referenced
this issue
Jun 6, 2023
MayTekayaa
added a commit
to Meeds-io/deeds-dapp
that referenced
this issue
Jun 6, 2023
This change will add the new hubs page to the dapp.
AzmiTouil
added a commit
to Meeds-io/gamification
that referenced
this issue
Jun 7, 2023
MayTekayaa
added a commit
to Meeds-io/deeds-dapp
that referenced
this issue
Jun 8, 2023
This change will add the new hubs page to the dapp.
AzmiTouil
added a commit
to Meeds-io/gamification
that referenced
this issue
Jun 9, 2023
boubaker
pushed a commit
to Meeds-io/deeds-dapp
that referenced
this issue
Jun 9, 2023
This change will add the new hubs page to the dapp.
exo-swf
pushed a commit
to Meeds-io/deeds-dapp
that referenced
this issue
Jun 10, 2023
This change will add the new hubs page to the dapp.
exo-swf
pushed a commit
to Meeds-io/deeds-dapp
that referenced
this issue
Jun 11, 2023
This change will add the new hubs page to the dapp.
AzmiTouil
added a commit
to Meeds-io/gamification
that referenced
this issue
Jun 12, 2023
AzmiTouil
added a commit
to Meeds-io/gamification-github
that referenced
this issue
Jun 12, 2023
MayTekayaa
added a commit
to Meeds-io/deeds-dapp
that referenced
this issue
Jun 13, 2023
This change will add the new hubs page to the dapp.
AzmiTouil
added a commit
to Meeds-io/gamification
that referenced
this issue
Jun 26, 2023
(#1067) This PR will make sure to validate users' GitHub accounts before saving using OauthService
AzmiTouil
added a commit
to Meeds-io/gamification
that referenced
this issue
Jun 27, 2023
(#1106) This PR will make sure to validate users' GitHub accounts before saving using OauthService
exo-swf
pushed a commit
to Meeds-io/task
that referenced
this issue
Sep 25, 2023
…D-2441 - Meeds-io/MIPs#64 (#250) Fix Task gamification events config
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
This PR will make sure to validate users' GitHub accounts before saving using OauthService --------- Co-authored-by: Boubaker Khanfir <[email protected]>
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
…-2299 - Meeds-io/MIPs#64 (#81) Allow rewarding users to add GitHub organizations to watch.
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
…-2300 - Meeds-io/MIPs#64 (#82) Allow rewarding users to enable/disable organization repositories from watch
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
…- Meeds-io/MIPs#64 (#83) Allow rewarding users to enable/disable project events
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
…IPs#64 (#84) * feat: GitHub connector List events available - MEED-2301 - Meeds-io/MIPs#64
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
… on mobile - MEED-2363 - Meeds-io/MIPs#64 (#90) This PR will fix the display of gamification connector user settings on the mobile
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
This change will delete usage of RuleRegistry service which has been deleted.
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
…EED-2454 - Meeds-io/MIPs#64 (#93) Prior to this change, when viewing an organization, repositories of previous organization are listed, it's due to a cache problem
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
…96) This PR will improve the admin github connector UI
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
This PR will add GitHub connector URLs
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 25, 2023
…Meeds-io/MIPs#64 (#106) This PR will review the organization events and repositories display
rdenarie
added a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 26, 2023
After merging Meeds-io/MIPs#64, the gamification version in develop-exo branch was not the good one. This commit changes to use the correct version
rdenarie
added a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 26, 2023
After merging Meeds-io/MIPs#64, the gamification version in develop-exo branch was not the good one. This commit changes to use the correct version
AzmiTouil
added a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 28, 2023
AzmiTouil
added a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 28, 2023
AzmiTouil
added a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 28, 2023
(#111) - Add missing labels - Delete Gamification.properties file
exo-swf
pushed a commit
to Meeds-io/gamification-github
that referenced
this issue
Sep 28, 2023
(#111) - Add missing labels - Delete Gamification.properties file
SaraBoutej
pushed a commit
to Meeds-io/poll
that referenced
this issue
Oct 2, 2023
…D-2441 - Meeds-io/MIPs#64 (#96) Fix Poll gamification events config
Closed
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Rationale
Meeds aims to provide to end-users connection to other tools so path can be done to access apps, or to collect actions done in order to gamify it in Meeds software
Currently, it is not fully provided. Only a github connector is proposed but it needs to be studied again for consistency sake
Thus, we propose to firstly review this connector in order to provide other connectors following the same path (UX/UI and Tech)
1. Functional Requirements
From the administration menu, admin (admin or reward admin) can access connectors page (/gamification/connectors)
From that page, all default connectors will be proposed. For now, we will find the Github one
For each default connector type, it is possible to:
a. Disable it, even default ones
b. Edit characteristics among a range of default ones related to the connector. For Github, we would have 3 items:
To add a repository, it is mandatory to identify the organization.
To add triggers, there are no relation with other parameters. The following items will be provided by default and admin can decide to enable/disable it if needed. Some are new and need to be studied, as for example: Create PR, Comment PR, Review PR, Validate PR (reviewer), PR validated (sender), Create issue, Comment issue, Close issue
When adding an action in a program, the program owner can decide to choose an event to trigger with the current UX for now. An improvement will be done once we add other connector: meeds, twitter, for example
Any action undone will be considered as cancelled in the achievements and thus in the reward computing
a. From its personal settings, a user will be able to connect his gamified third-app account (github here) thanks to oAuth connection
b. As a user, account can be managed the following way:
2. Technical Requirements
Expected Volume & Performance
Terminology
Thus, the "events" are handled by Rewarding admin and are alterable, but supported triggers by a connector addon is embedded by code and has to be defined through configuration.
Security
CodecInitializer
before storing it in database.CodecInitializer
before storing it in database. Those Keys will be used to validate oAuth Token provided by user from Meeds Server to Github Server (Server-To-Server Flow, see schema below).Extensibility
Configurability
Upgradability
Existing Features
Feature Flags
No feature flag is needed.
4. Software Architecture
Security
CodecInitialize
before storing it in database usingSettingService
withGlobal
context andGithub
ApplicationScope
.CodecInitialize
before storing it in database usingSettingService
withUser
context andGithubApiKey
ApplicationScope
.REST endpoints
Some REST endpoints has to be added to serve new assets:
/gamification/triggers
: this will allow to retrieve configured triggers switch installed addons. (Readonly listing)/gamification/events
: this will allow to manage triggers by a rewarding administrator and will allow to a program owner to list the automatic events that it will be able to add in actions/rules./gamification/github/webhook
: this endoint will have to replace existing REST endpoint/gamification/connectors/github/webhooks
Access UI
All administration UIs has to be made extensible (injected using
extensionRegistry
) so that it prepare integration with future connectors.Services & processing
The external triggers handeling has to be made asynchronously through a queued executor. In fact, when the WebHook sends events, it has to be queued and then asynchronously processed by gamification by invoking
io.meeds.gamification.service.RealizationService.createRealizationsAsync
. The queue has to hold the objects sent by WebHook without parsing data, example of code:REST layer
Service layer
A framework has to be developed based on social-component-oauth-auth APIs to make an integration with github for User AccessToken validation (Server-To-Server flow). This framework has to provide REST endpoint & Service layer to process Token and save github/twitter/linkedIn... user name inside internal Meeds User Profile attribute that has to be protected against any modification made through "/users" REST endpoint (even by a super administrator).
Data and persistence
A new Table has to be added in gamification module to allow managing events:
We will need Service + Storage (width a dedicated cache for listing & CRUD) + DAO layers defined for this new entity.
The text was updated successfully, but these errors were encountered: