AWS CLI CodeGuru Reviewer 实战:用 list-code-reviews 命令查询过去 90 天的代码审查记录
发布时间:2026/9/16 12:46:19 作者:尧图编辑部 阅读量:1,286

AWS CLI CodeGuru Reviewer 实战用 list-code-reviews 命令查询过去 90 天的代码审查记录【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli本文基于 aws-cli 仓库中的官方示例文档 list-code-reviews.rst系统讲解aws codeguru-reviewer list-code-reviews命令的用法、筛选参数与输出字段含义。Amazon CodeGuru Reviewer 是 AWS 提供的自动化代码审查服务该命令用于列出当前 AWS 账户在过去 90 天内创建的全部代码审查记录。读完本文你将掌握如何按审查类型PullRequest / RepositoryAnalysis、代码仓库来源ProviderTypes、审查状态States等维度过滤查询结果并能准确解读返回的每一项统计指标将其用于代码质量追踪与团队研发流程建设。命令概览一条命令摸清 90 天内的所有代码审查list-code-reviews对应 CodeGuru Reviewer API 的ListCodeReviews操作底层是一个GET /codereviews请求见 service-2.json 中ListCodeReviews的http定义。服务端文档明确指出Lists all the code reviews that the customer has created in the past 90 days.即无论查询条件如何组合该接口返回的始终是最近 90 天内创建的代码审查。90 天窗口之外的历史记录不在返回值中。该命令支持的核心筛选参数如下均来自 ListCodeReviewsRequest 的定义参数类型作用约束--type枚举字符串必填。代码审查的类型仅支持PullRequest针对拉取请求的审查与RepositoryAnalysis针对整个仓库的全量分析二者必选其一--provider-types列表按代码仓库托管平台过滤例如providerTypes[GitHub]只返回来自 GitHub 的审查列表长度 13--states列表按审查状态过滤例如states[Pending]只返回进行中的审查列表长度 13取值见下文--repository-names列表按仓库名称过滤列表长度 1100--max-results整数单次调用返回的最大条数默认 100取值范围 1100--next-token字符串分页令牌当返回结果超过单页上限时用于翻页长度 12048其中--type是唯一必填参数调用时遗漏会直接导致请求失败。这也是示例命令中必须显式指定--type PullRequest的原因。官方示例列出最近 90 天内基于 Pull Request 的代码审查官方示例文档 list-code-reviews.rst 给出的命令如下它列出了过去 90 天内、类型为 PullRequest 的全部代码审查aws codeguru-reviewer list-code-reviews \ --type PullRequest输出解读命令返回 JSON 格式的结果核心是CodeReviewSummaries数组每一项对应一条代码审查的摘要信息。为便于说明下面保留官方示例中的前两条记录其余 4 条结构相同仅时间戳与 ID 不同{ CodeReviewSummaries: [ { LastUpdatedTimeStamp: 1588897288.054, Name: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111, ProviderType: GitHub, PullRequestId: 5, MetricsSummary: { MeteredLinesOfCodeCount: 24, FindingsCount: 1 }, CreatedTimeStamp: 1588897068.512, State: Completed, CodeReviewArn: arn:aws:codeguru-reviewer:us-west-2:123456789012:code-review:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111, Owner: sample-owner, RepositoryName: sample-repository-name, Type: PullRequest }, { LastUpdatedTimeStamp: 1588869793.263, Name: a1b2c3d4-5678-90ab-cdef-EXAMPLE22222, ProviderType: GitHub, PullRequestId: 4, MetricsSummary: { MeteredLinesOfCodeCount: 29, FindingsCount: 0 }, CreatedTimeStamp: 1588869575.949, State: Completed, CodeReviewArn: arn:aws:codeguru-reviewer:us-west-2:123456789012:code-review:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222, Owner: sample-owner, RepositoryName: sample-repository-name, Type: PullRequest } ] }示例中展示的 6 条记录全部处于Completed已完成状态其中第一条FindingsCount为 1发现 1 个问题其余为 0其余字段ProviderType、Owner、RepositoryName 等一致说明这些审查来自同一个 GitHub 仓库下的连续多次 Pull RequestPullRequestId 从 1 到 5对应的时间戳CreatedTimeStamp从1588104270约 2020-04-28一直延伸到1588897068约 2020-05-07横跨约 10 天。输出字段详解CodeReviewSummary 的完整语义CodeReviewSummaries数组中的每个元素是一个CodeReviewSummary结构体其字段定义与文档说明对应在 service-2.json 的CodeReviewSummaryshape 中各字段含义如下字段含义Name代码审查的名称即审查 ID形如a1b2c3d4-5678-90ab-cdef-EXAMPLE11111CodeReviewArn该 CodeReview 对象的 Amazon Resource NameARN可用于后续describe-code-review查询详情RepositoryName被审查的仓库名称Owner仓库所有者。对 CodeCommit 仓库是该 AWS 账户的账户 ID对 GitHub、GitHub Enterprise Server、Bitbucket 仓库是拥有该仓库的用户名对 S3 仓库则可以是用户名或 AWS 账户 IDProviderType仓库关联的托管平台类型见下方枚举State审查当前状态见下方枚举CreatedTimeStamp审查创建时间Unix 时间戳单位为秒LastUpdatedTimeStamp审查最后更新时间Unix 时间戳单位为秒Type审查类型PullRequest或RepositoryAnalysisPullRequestId对应的拉取请求 ID仅 PullRequest 类型存在MetricsSummary审查统计信息见下方小节SourceCodeType审查所分析的源代码类型信息枚举值速查ProviderType仓库来源CodeCommit、GitHub、Bitbucket、GitHubEnterpriseServer、S3Bucket。StateJobState审查状态Completed代码审查已完成Pending代码审查已开始但尚未完成或失败Failed代码审查失败Deleting代码审查正在被删除。TypePullRequest拉取请求级审查或RepositoryAnalysis全仓库分析。MetricsSummary审查核心指标MetricsSummary是评估一次代码审查产出价值的关键字段包含三项指标MeteredLinesOfCodeCount本次审查计费的代码行数。对初次提交的 Pull Request 及其后的所有修订版本它包含 PR 中新增文件的所有代码行对后续修订中已存在于 PR 的文件则只统计被修改的代码行。无论哪种情况注释与 import 语句等非代码行均不计入。SuppressedLinesOfCodeCount基于仓库根目录下aws-codeguru-reviewer.yml配置文件中excludeFiles元素被排除的代码行数。对全仓库分析该值包含被排除文件的所有代码行对 Pull Request只包含其中被排除文件的被修改代码行。FindingsCount本次代码审查发现的建议缺陷、安全问题等总数。示例中第一条记录为 1其余为 0说明该 PR 发现了一个 CodeGuru Reviewer 认为值得关注的问题。利用这三项指标你可以快速评估各次审查的规模代码行数与质量产出发现问题数例如筛选出FindingsCount 0的审查以复盘高频缺陷区域。组合过滤从 90 天记录中精确检索除必填的--type外四个过滤参数可以自由组合实现从海量记录中精确定位。以下为结合参数约束给出的实际用法# 只查看来自 GitHub 的 Pull Request 审查 aws codeguru-reviewer list-code-reviews \ --type PullRequest \ --provider-types GitHub # 只看已完成的、来自 CodeCommit 仓库的 Pull Request 审查 aws codeguru-reviewer list-code-reviews \ --type PullRequest \ --provider-types CodeCommit \ --states Completed # 按仓库名过滤可同时指定多个仓库名 aws codeguru-reviewer list-code-reviews \ --type RepositoryAnalysis \ --repository-names my-repo-a my-repo-b # 查看某个 GitHub 仓库下仍处于进行中的审查 aws codeguru-reviewer list-code-reviews \ --type PullRequest \ --provider-types GitHub \ --states Pending几点实操注意--provider-types最多 3 个、--states最多 3 个、--repository-names最多 100 个超出约束会被服务端以校验错误拒绝。状态过滤的取值必须与上文的JobState枚举完全一致大小写敏感。组合多个过滤条件时是**叠加AND**语义即返回满足全部条件的审查。分页单页上限与翻页令牌list-code-reviews单次调用默认最多返回 100 条记录MaxResults参数可将其调整为 1100 之间的任意值。当结果超过单页上限时响应中会附带NextToken字段——它是一个最长 2048 字符的分页令牌语义为“后面还有更多结果”。翻页的标准做法是用上一次返回的NextToken原样作为下次调用的--next-token参数同时保持其余参数不变重复调用直到响应中不再出现NextToken为止# 第一页 aws codeguru-reviewer list-code-reviews --type PullRequest --max-results 10 # 第二页将上一页响应中的 NextToken 原样传入 aws codeguru-reviewer list-code-reviews \ --type PullRequest \ --max-results 10 \ --next-token REPLACE_WITH_PREVIOUS_NEXT_TOKEN提示awscli/botocore/data/codeguru-reviewer/2019-09-19/paginators-1.json当前只为ListRepositoryAssociations声明了自动分页配置ListCodeReviews的NextToken需按上述方式手动翻页处理。源码级支撑命令背后的模型定义在 aws-cli 仓库中该命令的完整参数与结构定义位于 awscli/botocore/data/codeguru-reviewer/2019-09-19/service-2.json。从源码结构可以确认以下几点ListCodeReviews操作定义中input引用ListCodeReviewsRequestshape其中Type被标记为required与文档中必须传--type的用法一致该操作声明的错误类型包括InternalServerException、ValidationException、ThrottlingException、AccessDeniedException说明调用时可能因参数校验失败ValidationException、请求过频ThrottlingException或缺少权限AccessDeniedException而失败生产脚本中建议对这些异常做相应处理ProviderType、JobState、Type三个枚举在服务模型中均有明确定义字段取值以上文速查表为准。与周边命令协同从列表到详情list-code-reviews返回的CodeReviewArn与Name是衔接后续查询的关键。仓库中同目录下的其他示例文档展示了完整的列表 → 详情操作链路describe-code-review.rst通过--code-review-arn获取某次审查的完整详情list-recommendations.rst列出某次审查发现的具体建议即FindingsCount对应的明细list-repository-associations.rst列出当前账户已关联的代码仓库create-code-review.rst主动创建一次代码审查如全仓库分析。典型的使用链路是先用list-code-reviews找出近期FindingsCount较高的审查 → 用describe-code-review获取详情 → 用list-recommendations逐条查看具体问题与修复建议从而把 90 天的审查清单转化为可执行的代码质量改进项。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考