使用GitHub Action创建Release时遭遇HTTP 403错误求助
GitHub Action 发布Release时403权限问题排查
问题背景
我配置了用于推送v*.*.*标签时构建发布Release的GitHub Action工作流,代码如下:
name: Build and Release on: push: tags: - "v*.*.*" permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: '8.2' extensions: mbstring, zip - name: Install PHP dependencies run: composer install --no-interaction --prefer-dist - name: Use Node.js 16.13.0 uses: actions/setup-node@v2 with: node-version: 16.13.0 - name: Install required npm version run: npm -g install npm@8.5.5 - name: Install npm dependencies run: npm ci - name: Build assets run: npm run build - name: Create release zip run: zip -r release.zip . if: success() - name: Upload release.zip to GitHub Releases uses: softprops/action-gh-release@v1 with: files: release.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
执行时遇到403权限错误:
👩🏭 Creating new GitHub release for tag v.0.5.0...
⚠️ GitHub release failed with status: 403
undefined
retrying... (2 retries remaining)
已添加permissions: contents: write配置,但问题仍然存在。
排查与解决方向
- 修正标签格式:从错误日志可见使用的标签是
v.0.5.0,多了一个前置点,不符合v*.*.*的预期格式(正确应为v0.5.0这类格式)。异常标签可能导致Action的权限校验逻辑异常,先推送格式正确的标签重试。 - 检查仓库Workflow全局权限:
进入仓库Settings→Actions→General,找到Workflow permissions部分,确认是否选择了Read and write permissions。若设置为只读权限,即使工作流内配置了contents: write也无法生效,需修改为读写权限。 - 升级Action版本:当前使用的
softprops/action-gh-release@v1版本较旧,存在权限相关bug的可能性,尝试升级至最新稳定版本(如v2)。 - 确认组织权限策略:若仓库属于组织,需检查组织层面的Actions权限设置,确认是否允许工作流创建Release资源。
内容的提问来源于stack exchange,提问作者SPQRInc
相关产品推荐
相关产品推荐

