- webhook
- Webhook usage process
- The first step: Configure webhook related information in eventmesh and start
- The second step: Add webhook configuration information
- The third step: Check if the configuration is successful
- The fourth step: Configure the consumer of cloudevent
- The fifth step: Configure webhook related information in the manufacturer
- Webhook usage process
- Manufacturer’s webhook operation instructions
webhook
Webhook usage process
The first step: Configure webhook related information in eventmesh and start
Configuration
# Whether to start the webhook admin service
eventMesh.webHook.admin.start=true
# webhook event configuration storage mode. But currently only supports file and nacos
eventMesh.webHook.operationMode=file
# The file path of fileMode. If you write #{eventMeshHome}, in the eventMesh root directory
eventMesh.webHook.fileMode.filePath= #{eventMeshHome}/webhook
# The nacos storage mode. The configuration naming rule is eventMesh.webHook.nacosMode.{nacos native configuration key} For the specific configuration, please see [nacos github api](https://github.com/alibaba/nacos/blob/develop/api/src/main/java /com/alibaba/nacos/api/SystemPropertyKeyConst.java)
## address of nacos
eventMesh.webHook.nacosMode.serverAddr=127.0.0.1:8848
# webhook eventcloud send mode. Same as eventMesh.connector.plugin.type configuration
eventMesh.webHook.producer.connector=standalone
The second step: Add webhook configuration information
Configuration information description
/**
* The path called by the manufacturer. Manufacturer event call address, [http or https]://[domain or IP]:[port]/webhook/[callbackPath]
* for example: http://127.0.0.1:10504/webhook/test/event , The full url needs to be filled in the manufacturer call input
* callbackPath is the only
*/
private String callbackPath;
/**
* manufacturer name, like github
*/
private String manufacturerName;
/**
* webhook event name, like rep-push
*/
private String manufacturerEventName;
/**
* http header content type
*/
private String contentType = "application/json";
/**
* description of this WebHookConfig
*/
private String description;
/**
* secret key, for authentication
*/
private String secret;
/**
* userName, for HTTP authentication
*/
private String userName;
/**
* password, for HTTP authentication
*/
private String password;
/**
* roll out event name, like topic to mq
*/
private String cloudEventName;
/**
* roll out data format -> CloudEvent serialization mode
* If HTTP protocol is used, the request header contentType needs to be marked
*/
private String dataContentType = "application/json";;
/**
* source of event
*/
private String cloudEventSource;
/**
* id of cloudEvent, like uuid/manufacturerEventId
*/
private String cloudEventIdGenerateMode;
Add webhook config
path: /webhook/insertWebHookConfig method: POST contentType: application/json
input params:
field | desc | type | necessary | default |
---|---|---|---|---|
callbackPath | call address, unique address | string | Y | null |
manufacturerName | manufacturer name | string | Y | null |
manufacturerEventName | manufacturer EventName | string | Y | null |
contentType | http connettype | string | N | application/json |
description | configuration instructions | string | N | null |
secret | signature string | string | N | null |
userName | username | string | N | null |
password | password | string | N | null |
cloudEventName | cloudEvent name | string | Y | null |
cloudEventSource | cloudEvent source | string | Y | null |
cloudEventIdGenerateMode | cloudEvent event object identification method, uuid or event id | string | N manufacturerEventId |
E.g:
{
"callbackPath":"/webhook/github/eventmesh/all",
"manufacturerName":"github",
"manufacturerEventName":"all",
"secret":"eventmesh",
"cloudEventName":"github-eventmesh",
"cloudEventSource":"github"
}
Output params: 1 for success, 0 for failure
delete webhook config
path: /webhook/deleteWebHookConfig method: POST contentType: application/json
input params:
field | desc | type | necessary | default |
---|---|---|---|---|
callbackPath | call address, unique address | string | Y | null |
E.g:
{
"callbackPath":"/webhook/github/eventmesh/all"
}
Output params: 1 for success, 0 for failure
select WebHookConfig by callbackPath
path: /webhook/queryWebHookConfigById method: POST contentType: application/json
input params:
field | desc | type | necessary | default |
---|---|---|---|---|
callbackPath | call address, unique address | string | Y | null |
E.g:
{
"callbackPath":"/webhook/github/eventmesh/all"
}
Output params:
field | desc | type | necessary | default |
---|---|---|---|---|
callbackPath | call address, unique address | string | Y | null |
manufacturerName | manufacturer name | string | Y | null |
manufacturerEventName | manufacturer event name | string | Y | null |
contentType | http connettype | string | N | application/json |
description | configuration instructions | string | N | null |
secret | signature key | string | N | null |
userName | user name | string | N | null |
password | password | string | N | null |
cloudEventName | cloudEvent name | string | Y | null |
cloudEventSource | cloudEvent source | string | Y | null |
cloudEventIdGenerateMode | cloudEvent event object identification method, uuid or event id | string | N | manufacturerEventId |
通过manufacturer查询WebHookConfig列表
path: /webhook/queryWebHookConfigByManufacturer method: POST contentType: application/json
input params:
field | desc | type | necessary | default |
---|---|---|---|---|
manufacturerName | manufacturer name | string | Y | null |
E.g:
{
"manufacturerName":"github"
}
Output params:
field | desc | type | necessary | default |
---|---|---|---|---|
callbackPath | call address, unique address | string | Y | null |
manufacturerName | manufacturer name | string | Y | null |
manufacturerEventName | manufacturer event name | string | Y | null |
contentType | http connettype | string | N | application/json |
description | configuration instructions | string | N | null |
secret | signature key | string | N | null |
userName | user name | string | N | null |
password | password | string | N | null |
cloudEventName | cloudEvent name | string | Y | null |
cloudEventSource | cloudEvent source | string | Y | null |
cloudEventIdGenerateMode | cloudEvent event object identification method, uuid or event id | string | N | manufacturerEventId |
The third step: Check if the configuration is successful
file storage mode. Please go to the eventMesh.webHook.fileMode.filePath directory to view. filename callbackPath.
nacos storage mode. Please go to the nacos service configured by eventMesh.webHook.nacosMode.serverAddr to see.
The fourth step: Configure the consumer of cloudevent
The fifth step: Configure webhook related information in the manufacturer
For manufacturer’s operation, please refer to [Manufacturer’s webhook operation instructions] .
Manufacturer’s webhook operation instructions
github sign up
The first step: Enter the corresponding project
The second step: click setting
The third step: click Webhooks
The fourth step: Click on Add webhook
The fifth step: Fill in the webhook information
Payload URL: Service address and pahts. [http or https]://[domain or IP]:[port]/webhook/[callbackPath] Content type: http header content type secret: signature string