Interface WebhookService
- All Known Implementing Classes:
WebhookServiceImpl
public interface WebhookService
-
Method Summary
Modifier and TypeMethodDescriptionintcountWebhooks(String currentUser, boolean forceUpdate) Count all gitHub webhookscreateWebhook(String organizationName, String accessToken, String currentUser) create github organization hook.voiddeleteWebhook(long organizationId, String currentUser) delete gitHub webhookvoidForce update the stored github organization webhooks if there is a change to the remote webhooks, such as an entity deletion or the update eventgetWebhookId(long webhookId) Retrieves a webHook identified by its technical identifier.getWebhookId(long webhookId, String username) Retrieves a webHook identified by its technical identifier accessed by a usergetWebhooks(int offset, int limit, boolean forceUpdate) Get available github hooks using offset and limit.getWebhooks(String currentUser, int offset, int limit, boolean forceUpdate) Get available github hooks using offset and limit.booleanisWebHookRepositoryEnabled(long organizationRemoteId, long repositoryRemoteId) Check if webhook repository is enabledbooleanisWebHookRepositoryEnabled(String payload) Check if webhook repository is enabledbooleanisWebHookWatchLimitEnabled(long organizationRemoteId) Check if webhook watch limit is enabledretrieveOrganizationRepos(long organizationRemoteId, String currentUser, int page, int perPage, String keyword) Retrieve available github organization repositories.voidsetWebHookRepositoryEnabled(long organizationRemoteId, long repositoryRemoteId, boolean enabled, String currentUser) enables/disables repositoryvoidsetWebHookWatchLimitEnabled(long organizationRemoteId, boolean enabled, String currentUser) Limit webhook watch scope or notvoidupdateWebHookAccessToken(long webHookId, String accessToken, String currentUser) Update github organization hook.booleanverifyWebhookSecret(String payload, String signature)
-
Method Details
-
getWebhooks
List<WebHook> getWebhooks(String currentUser, int offset, int limit, boolean forceUpdate) throws IllegalAccessException Get available github hooks using offset and limit.- Parameters:
currentUser- user name attempting to access connector hooksoffset- Offset of resultlimit- Limit of resultforceUpdate- force Load remote webhook or not.- Returns:
ListofWebHook- Throws:
IllegalAccessException- when user is not authorized to access github hooks
-
getWebhookId
Retrieves a webHook identified by its technical identifier.- Parameters:
webhookId- WebHook technical identifier- Returns:
- found
WebHook
-
getWebhookId
WebHook getWebhookId(long webhookId, String username) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException Retrieves a webHook identified by its technical identifier accessed by a user- Parameters:
webhookId- WebHook technical identifierusername- user name attempting to access connector webhook- Returns:
- found
WebHook - Throws:
IllegalAccessException- when user is not authorized to access webhookorg.exoplatform.commons.exception.ObjectNotFoundException- webhook not found
-
getWebhooks
Get available github hooks using offset and limit. -
countWebhooks
Count all gitHub webhooks- Parameters:
currentUser- User name accessing webhooksforceUpdate- force Load remote webhooks count or not.- Returns:
- webhooks count
- Throws:
IllegalAccessException- when user is not authorized to get github webhooks
-
createWebhook
WebHook createWebhook(String organizationName, String accessToken, String currentUser) throws org.exoplatform.commons.ObjectAlreadyExistsException, IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException create github organization hook.- Parameters:
organizationName- github organization nameaccessToken- gitHub personal access tokencurrentUser- user name attempting to create github hook- Returns:
WebHook- Throws:
org.exoplatform.commons.ObjectAlreadyExistsException- when webhook already existsIllegalAccessException- when user is not authorized to create github webhookorg.exoplatform.commons.exception.ObjectNotFoundException- when the github organization identified by its technical name is not found
-
updateWebHookAccessToken
void updateWebHookAccessToken(long webHookId, String accessToken, String currentUser) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException Update github organization hook.- Parameters:
webHookId- webHook IdaccessToken- gitHub personal access tokencurrentUser- user name attempting to update github hook- Throws:
IllegalAccessExceptionorg.exoplatform.commons.exception.ObjectNotFoundException
-
deleteWebhook
void deleteWebhook(long organizationId, String currentUser) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException delete gitHub webhook- Parameters:
organizationId- github remote organization idcurrentUser- user name attempting to delete gitHub hook- Throws:
IllegalAccessException- when user is not authorized to delete the gitHub hookorg.exoplatform.commons.exception.ObjectNotFoundException
-
forceUpdateWebhooks
void forceUpdateWebhooks()Force update the stored github organization webhooks if there is a change to the remote webhooks, such as an entity deletion or the update event -
verifyWebhookSecret
- Parameters:
payload- payload The raw payload of the webhook request.signature- The signature received from the external system.- Returns:
- true if the computed signature matches the provided signature.
-
isWebHookRepositoryEnabled
Check if webhook repository is enabled- Parameters:
payload- payload The raw payload of the webhook request.- Returns:
- true if the intended repository is enabled, else false.
-
isWebHookRepositoryEnabled
boolean isWebHookRepositoryEnabled(long organizationRemoteId, long repositoryRemoteId) Check if webhook repository is enabled- Parameters:
organizationRemoteId- gitHub organization remote IdrepositoryRemoteId- gitHub repository remote Id- Returns:
- true if the intended repository is enabled, else false.
-
setWebHookRepositoryEnabled
void setWebHookRepositoryEnabled(long organizationRemoteId, long repositoryRemoteId, boolean enabled, String currentUser) throws IllegalAccessException enables/disables repository- Parameters:
organizationRemoteId- gitHub organization remote IdrepositoryRemoteId- gitHub repository remote Idenabled- true to enabled, else falsecurrentUser- user name attempting to enables/disables repository.- Throws:
IllegalAccessException- when user is not authorized enables/disables repository
-
isWebHookWatchLimitEnabled
boolean isWebHookWatchLimitEnabled(long organizationRemoteId) Check if webhook watch limit is enabled- Parameters:
organizationRemoteId- gitHub organization remote Id- Returns:
- true if webHook watch limit is enabled, else false.
-
setWebHookWatchLimitEnabled
void setWebHookWatchLimitEnabled(long organizationRemoteId, boolean enabled, String currentUser) throws IllegalAccessException Limit webhook watch scope or not- Parameters:
organizationRemoteId- gitHub organization remote Idenabled- true to enabled, else falsecurrentUser- user name attempting to enables/disables webHook watch limit.- Throws:
IllegalAccessException- when user is not authorized Limit webhook watch scope
-
retrieveOrganizationRepos
List<RemoteRepository> retrieveOrganizationRepos(long organizationRemoteId, String currentUser, int page, int perPage, String keyword) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException Retrieve available github organization repositories.- Parameters:
organizationRemoteId- gitHub organization remote IdcurrentUser- user name attempting to access remote organization repositoriespage- pageperPage- perPagekeyword- to search in repositories title- Returns:
ListofRemoteRepository- Throws:
IllegalAccessException- when user is not authorized to access remote organization repositoriesorg.exoplatform.commons.exception.ObjectNotFoundException
-