[英]How to pass Github secrets to JSON file
我想在同一工作流程中将 GitHub 操作中的机密传递给 JSON 文件。
# Github secrets
SECRET_TOKEN: 4321
在 file.json 中,需要获取 SECRET_TOKEN 值。
# file.json
{
secret_token: "SECRET_TOKEN", # should fetch the SECRET_TOKEN from git action
apiId: "blabla"
}
预期 Output:
# file.json
{
secret_token: "4321",
apiId: "blabla"
}
您有多种选择 - 您可以使用纯 bash 和jq
来实现这一目标,或者如果您没有那么有经验,一种更简单的方法是使用市场上的现有操作之一,例如:
https://github.com/marketplace/actions/create-json
- name: create-json
uses: jsdaniell/create-json@1.1.2
with:
name: "file.json"
json: '{"app":"blabla", "secret_token":"${{ secrets.SECRET_TOKEN }}"}'
我建议您使用replace-tokens操作,例如,假设这个 json 文件:
文件.json
{
secret_token: "#{SECRET_TOKEN}#",
apiId: "blabla"
}
那个行动:
- uses: cschleiden/replace-tokens@v1
with:
files: 'file.json'
env:
SECRET_TOKEN: ${{ secrets.SECRET_TOKEN }}
如果要使用不同的令牌格式,可以指定自定义令牌前缀/后缀。 例如,要替换像 `{SECRET_TOKEN} 这样的标记,您可以添加:
- uses: cschleiden/replace-tokens@v1
with:
files: 'file.json'
tokenPrefix: '{'
tokenSuffix: '}'
env:
SECRET_TOKEN: ${{ secrets.SECRET_TOKEN }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.