AWS Codepipeline GitHub Webhook未通过云形式注册



我正在尝试设置AWS CodePipeline,并使用cloudformation使用github作为源。GitHub存储库归组织所有,我已经访问了它。

我能够创建Webhook,并通过Codepipeline UI成功创建了整个服务。但是,当我尝试通过云形式文档做同样的事情时,它会返回错误

Webhook could not be registered with GitHub. Error cause: Not found [StatusCode: 404, Body: {"message":"Not Found","documentation_url":"https://developer.github.com/v3/repos/hooks/#create-a-hook"}]

我两次都使用了相同的凭据(在Codepipeline UI中的云形式和实际登录弹出窗口中的oauth token(,但是当我通过云形式完成时,它失败了。

我怀疑我的云形式文档是问题。但是,当我创建自己的存储库时,CloudFormation成功创建Webhook并创建了完整的CodePipeline服务。

以下是我为了解在哪里出错的测试摘要。

  1. codepipeline UI。组织GitHub仓库。它要求登录GitHub。使用我的管理员凭据=>成功创建了Webhook和Services。
  2. 云形式。组织GitHub仓库。使用repoadmin:repo_hook启用了Admin凭据的OAuth令牌。=>在上面发出错误
  3. 云形式。个人github存储库。使用repoadmin:repo_hook启用了Admin凭据的OAuth令牌=>成功创建了Webhook和Services

以下是我创建Webhook的云形式文档的一部分。

  AppPipelineWebhook:
    Type: 'AWS::CodePipeline::Webhook'
    Properties:
      Authentication: GITHUB_HMAC
      AuthenticationConfiguration:
        SecretToken: !Ref GitHubSecret
      Filters:
        - JsonPath: $.ref
          MatchEquals: 'refs/heads/{Branch}'
      TargetPipeline: !Ref cfSSMAutomationDev
      TargetAction: SourceAction
      Name: AppPipelineWebhook
      TargetPipelineVersion: !GetAtt cfSSMAutomationDev.Version
      RegisterWithThirdParty: true

所以我不确定怎么了。我的怀疑是Oauth令牌需要更多的特权。有人对此有类似的经验吗?任何建议都非常感谢

即使我正面临同一问题,通过查看CodePipeline UI Configuration的存储库,我使用了

{
  "Configuration": {
    "Owner": "myUserName",
    "Repo": "orgname/repository-name",
  }
}

因此,CloudFormation正在检查不存在的存储库Myusername/orgname/repository-name。

遵循以下解决方案后得到解决:

{
  "Configuration": {
    "Owner": "orgname",
    "Repo": "repository-name",
  }
}

私有回购 -> ownername:yourusername
组织repo -> ownername:OrganisationName

相关内容

  • 没有找到相关文章

最新更新