GitHub 操作:必须将哪些权限分配给 SonarScanner 使用的 GITHUB_TOKEN?
GitHub Actions: Which permissions must be assigned to GITHUB_TOKEN used by the SonarScanner?
根据 SonarQube GitHub Integration 文档,执行 SonarScanner 时必须将 GITHUB_TOKEN
作为环境变量注入。
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
我想授予所需的最低权限。我应该授予令牌哪些权限?
这个机制让我很困惑。一开始我根本就没有加GITHUB_TOKEN
这个环境变量。我的拉取请求已成功构建,但对主分支的分析开始失败。我将令牌配置为手动设置权限,但未授予任何权限(我在工作流文件中省略了 permissions
键)。构建已成功完成。目前我的配置如下所示:
jobs:
Build:
# ...
permissions:
checks: write
steps:
# ...
- name: Execute SonarScanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ${{ env.MAVEN_CMD }} sonar:sonar -Dsonar.login=${{ secrets.SONAR_TOKEN }}
工作流中使用的另一个操作 (scacap/action-surefire-report@v1
) 需要 checks: write
权限。老实说,我不知道为什么需要 GitHub 令牌,但使用这种最小配置它对我有用。
TL;DR: 找我说必须设置token,但是不需要任何权限。
根据 SonarQube GitHub Integration 文档,执行 SonarScanner 时必须将 GITHUB_TOKEN
作为环境变量注入。
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
我想授予所需的最低权限。我应该授予令牌哪些权限?
这个机制让我很困惑。一开始我根本就没有加GITHUB_TOKEN
这个环境变量。我的拉取请求已成功构建,但对主分支的分析开始失败。我将令牌配置为手动设置权限,但未授予任何权限(我在工作流文件中省略了 permissions
键)。构建已成功完成。目前我的配置如下所示:
jobs:
Build:
# ...
permissions:
checks: write
steps:
# ...
- name: Execute SonarScanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ${{ env.MAVEN_CMD }} sonar:sonar -Dsonar.login=${{ secrets.SONAR_TOKEN }}
工作流中使用的另一个操作 (scacap/action-surefire-report@v1
) 需要 checks: write
权限。老实说,我不知道为什么需要 GitHub 令牌,但使用这种最小配置它对我有用。
TL;DR: 找我说必须设置token,但是不需要任何权限。