

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 搭配 使用 Webhook AWS CodeBuild
<a name="webhooks"></a>

AWS CodeBuild 支援與 GitHub、GitHub Enterprise Server、GitLab、GitLab Self Managed 和 Bitbucket 的 Webhook 整合。

**Topics**
+ [搭配 使用 Webhook 的最佳實務 AWS CodeBuild](#webhook-best-practices)
+ [Bitbucket Webhook 事件](bitbucket-webhook.md)
+ [GitHub 全域和組織 Webhook](github-global-organization-webhook.md)
+ [GitHub 手動 Webhook](github-manual-webhook.md)
+ [GitHub Webhook 事件](github-webhook.md)
+ [GitLab 群組 Webhook](gitlab-group-webhook.md)
+ [GitLab 手動 Webhook](gitlab-manual-webhook.md)
+ [GitLab Webhook 事件](gitlab-webhook.md)
+ [Buildkite 手動 Webhook](buildkite-manual-webhook.md)
+ [提取請求評論核准](pull-request-build-policy.md)

## 搭配 使用 Webhook 的最佳實務 AWS CodeBuild
<a name="webhook-best-practices"></a>

對於使用公有儲存庫來設定 Webhook 的專案，我們建議下列選項：

設定`ACTOR_ACCOUNT_ID`篩選條件  
將`ACTOR_ACCOUNT_ID`篩選條件新增至專案的 Webhook 篩選條件群組，以指定哪些使用者可以觸發組建。交付至 CodeBuild 的每個 Webhook 事件都會隨附寄件者資訊，以指定演員的識別符。CodeBuild 會根據篩選條件中提供的規則表達式模式來篩選 Webhook。您可以使用此篩選條件指定允許觸發組建的特定使用者。如需詳細資訊，請參閱[GitHub Webhook 事件](github-webhook.md)及[Bitbucket Webhook 事件](bitbucket-webhook.md)。

設定`FILE_PATH`篩選條件  
將`FILE_PATH`篩選條件新增至專案的 Webhook 篩選條件群組，以包含或排除可在變更時觸發組建的檔案。例如，您可以使用規則表達式模式，例如 以及 `excludeMatchedPattern` 屬性`^buildspec.yml$`，拒絕`buildspec.yml`檔案變更的建置請求。如需詳細資訊，請參閱[GitHub Webhook 事件](github-webhook.md)及[Bitbucket Webhook 事件](bitbucket-webhook.md)。

縮小建置 IAM 角色的許可範圍  
Webhook 觸發的組建會使用專案中指定的 IAM 服務角色。我們建議將服務角色中的許可設定為執行建置所需的最低許可集。例如，在測試和部署案例中，建立一個專案用於測試，另一個專案用於部署。測試專案接受來自 儲存庫的 Webhook 組建，但不會對您的 資源提供寫入許可。部署專案會為您的 資源提供寫入許可，而 Webhook 篩選條件已設定為僅允許信任的使用者觸發組建。

使用內嵌或 Amazon S3 儲存的 buildspec  
如果您在專案本身中內嵌定義 buildspec，或將 buildspec 檔案存放在 Amazon S3 儲存貯體中，則只有專案擁有者可以看到 buildspec 檔案。這可防止提取請求對 buildspec 檔案進行程式碼變更，並觸發不需要的組建。如需詳細資訊，請參閱 *CodeBuild API 參考*中的 [ProjectSource.buildspec](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html#CodeBuild-Type-ProjectSource-buildspec)。