整合總覽
整合對於使用外部服務(例如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全域變數在雲端專案中設定Commerce Webhooks。 Commerce webhook會傳送請求至外部伺服器,以回應Commerce產生的事件。 Webhooks指南 詳細說明此功能。
通用Webhook
您可以使用自訂Webhook整合,將POST
JSON訊息擷取並報告至 Webhook URL的Cloud基礎結構和存放庫事件。
若要新增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