You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions环境变量在.NET集成测试中失效问题排查与解决

问题描述

我希望在GitHub Actions CI/CD流水线中为我的.NET API运行集成测试。本地通过用户机密(user-secrets)获取API Key来授权访问API,一切正常。

验证API Key的代码如下:

public bool isKeyValid(string userApiKey)
{
    var apiKey = Environment.GetEnvironmentVariable("X-API_Key") ?? string.Empty;

    return userApiKey == apiKey;
}

我在GitHub Actions中设置环境变量的配置如下:

jobs:
  test:
    runs-on: ubuntu-latest
    env: 
      X-API_Key: ${{ secrets.X_API_KEY }}

但应用日志显示请求头中不包含X-API_Key,尝试改用_configuration.GetValue<string>("X-API_Key")获取值也无效。我已仔细检查命名及拼写,确认没有错误,且出于安全原因,GitHub Actions中机密会显示为***,无法直接查看值是否正确。

问题解决

后来发现问题出在集成测试设置请求头的代码上,我错误地从错误的环境变量取值:

_client.DefaultRequestHeaders.Add("X-API_Key", Environment.GetEnvironmentVariable("ApiKey"));

只需修改GitHub Actions中的环境变量配置,将变量名改为ApiKey即可:

env: 
  ApiKey: ${{ secrets.X_API_KEY }}

内容的提问来源于stack exchange,提问作者Sergio Alifano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 21:35:03