SuperAPI AI 工具集

permissioning-ci-workflows

办公与效率

查看项目

更新于 10-16 06:15

技能介绍

用途:为 CI 任务精确授予所需凭据,并明确何时没有凭据。核心是显式声明 permissions,而不是依赖仓库或组织的默认 GITHUB_TOKEN 范围,因为默认 permissive/restricted 是仓库设置而非 YAML 属性,同一工作流在不同仓库行为不同。

主要能力与用法:在工作流层声明只读下限,在任务层按需授予写权限;permissions 未列出的范围设为 none,任务级块会替换而非合并工作流级集合,因此需重述该任务全部所需范围。一个 API 调用可能需要两个范围,例如评论 PR 需 issues: write 与 pull-requests: write;缺失范围可从 403 响应的 x-accepted-github-permissions 头获取,或用 gh api -i repos/OWNER/REPO/issues/123/comments -f body=probe 复现。事件条件步骤(如 if: github.event.action == 'opened')推送提交时会被跳过,应针对触发事件重新验证。fork PR 的 GITHUB_TOKEN 只读且不传 secrets,需要凭据的检查应在 push、schedule 或 workflow_run 上运行;不要用 secrets 为空时跳过来掩盖。pull_request_target 仅用于不执行 head 内容的步骤,否则会以凭据运行不可信代码。优先选择无需凭据的检查,将外部真值发布为版本化产物。限制:资料未提供具体产品定价、平台或额外示例。