集成概述
集成对于使用外部服务(如Git托管或Slack机器人)和维护当前开发流程(如使用GitHub中的代码审核拉取请求函数)非常有用。 您可以在云基础架构项目上向Adobe Commerce添加以下集成:
使用Cloud CLI添加集成:
以下命令开始交互式提示,以选择新集成的类型和选项。
code language-bash |
---|
|
列出为您的项目配置的集成:
code language-bash |
---|
|
示例响应:
code language-none |
---|
|
要使用Cloud Console 添加集成:
-
在 项目设置 中,单击 Integrations。
-
单击集成类型或单击 Add integration。
-
逐步完成集成类型选择和配置步骤。
-
添加集成后,该集成将显示在集成视图上的列表中。
Commerce webhook
您可以使用ENABLE_WEBHOOKS全局变量在Cloud项目中配置Commerce Webhooks。 Commerce webhook将请求发送到外部服务器,以响应Commerce生成的事件。 Webhooks指南 详细描述了此功能。
通用Webhook
您可以使用对POST
JSON消息的自定义webhook集成来捕获云基础架构和存储库事件并报告到 webhook URL。
要添加webhook URL,请使用以下语法:
magento-cloud integration:add --type=webhook --url=https://hook-url.example.com
type
— 指定webhook
集成类型。url
— 提供可接收JSON消息的webhook URL。
示例响应显示了一系列提示,这些提示提供了自定义集成的机会。 使用默认(空白)响应,可发送有关项目中所有环境的所有事件的消息。
您可以自定义集成以报告特定的事件,例如将代码推送到分支。 例如,您可以指定environment.push
事件在用户将代码推送到分支时发送消息:
Events to report (--events)
A list of events to report, e.g. environment.push
Default: *
Enter comma-separated values (or leave this blank)
>
您可以选择报告处于pending
、in_progress
或complete
状态的事件:
States to report (--states)
A list of states to report, e.g. pending, in_progress, complete
Default: complete
Enter comma-separated values (or leave this blank)
>
对于特定环境,您可以 包含 或 排除 消息:
Included environments (--environments)
The environment IDs to include
Default: *
Enter comma-separated values (or leave this blank)
>
Excluded environments (--excluded-environments)
The environment IDs to exclude
Enter comma-separated values (or leave this blank)
>
集成完成后,您将收到值的摘要:
Created integration integration-ID (type: webhook)
+-----------------------+------------------------------+
| Property | Value |
+-----------------------+------------------------------+
| id | integration-ID |
| type | webhook |
| events | - '*' |
| environments | - '*' |
| excluded_environments | { } |
| states | - complete |
| url | https://hook-url.example.com |
+-----------------------+------------------------------+
更新现有集成
您可以更新现有集成。 例如,使用以下方式将状态从complete
更改为pending
:
magento-cloud integration:update --states=pending <int-id>
示例响应:
Integration integration-ID (webhook) updated
+-----------------------+------------------------------+
| Property | Value |
+-----------------------+------------------------------+
| id | integration-ID |
| type | webhook |
| events | - '*' |
| environments | - '*' |
| excluded_environments | { } |
| states | - pending |
| url | https://hook-url.example.com |
+-----------------------+------------------------------+
要报告的事件
environment.access.add
environment.access.remove
environment.activate
environment.backup
environment.branch
environment.deactivate
environment.delete
environment.initialize
master
分支environment.merge
environment.push
environment.restore
environment.route.create
environment.route.delete
environment.route.update
environment.subscription.update
master
环境已调整大小,但此处没有内容更改environment.synchronize
environment.update.http_access
environment.update.restrict_robots
environment.update.smtp
environment.variable.create
environment.variable.delete
environment.variable.update
project.domain.create
project.domain.delete
project.domain.update