[英]How to access GitHub action secrets with python?
我在 Python GitHub 行動項目中設置了環境機密:
我可以從操作文件中訪問機密,因為以下內容:
jobs:
log-the-inputs:
runs-on: ubuntu-latest
steps:
- run: |
echo "Log level: $LEVEL"
echo "Tags: $TAGS"
echo "Environment: $ENVIRONMENT"
echo ${{ secrets.EMAIL_USER }}
將 output
Run echo "Log level: $LEVEL"
Log level: warning
Tags: false
Environment: novi
***
我希望可以從環境變量中獲得秘密,但是當我使用os.environ
時,EMAIL_USER 和 EMAIL_PASSWORD 不在那里。
如何從 python 腳本訪問機密?
當您使用像${{ secrets.EMAIL_USER }}
這樣的表達式時,您沒有引用環境變量。 在您的腳本運行之前,該值由工作流引擎替換。
如果您希望機密可用作環境變量,則需要使用步驟或工作流的env
部分顯式設置這些環境變量。 例如:
name: Workflow with secrets
on:
workflow_dispatch:
jobs:
show-secrets:
runs-on: ubuntu-latest
env:
EMAIL_USER: ${{ secrets.EMAIL_USER }}
EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }}
steps:
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '^3.9'
- name: Show environment
run: |
env | grep EMAIL
- name: Create python script
run: |
cat > showenv.py <<'EOF'
import os
print(f'Email username is {os.environ.get("EMAIL_USER", "<unknown")}')
print(f'Email password is {os.environ.get("EMAIL_PASSWORD", "<unknown")}')
EOF
- name: Run python script
run: |
python showenv.py
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.