python - 如何将 Github Actions 用户输入传递给 python 脚本
问题描述
我正在尝试将用户输入从 Github Action 传递给 python 脚本,但我似乎无法让它正常工作。
这是我的 yml:
name: Test Python Input
on:
workflow_dispatch:
inputs:
myInput:
description: 'User Input Here'
required: true
jobs:
run-python-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Setup Python
uses: actions/setup-python@v2.2.2
with:
python-version: 3.8
- name: Execute Test Script
run: |
echo "Store: ${{ github.event.inputs.myInput }}"
INPUT_STORE=${{ github.event.inputs.myInput }} python3 test.py
这是我的test.py:
import os
inputvariable = os.environ['INPUT_MYINPUT']
print(inputvariable)
print('Hello World!')
我在这里做错了什么,如何让 Python 打印出用户输入变量?
解决方案
出现问题是因为您在工作流程中设置变量并在 python 脚本中INPUT_STORE
提取。INPUT_MYINPUT
使用相同的变量,它应该可以工作。
我让它像这样工作:
工作流文件:
name: Test Python Input
on:
workflow_dispatch:
inputs:
myInput:
description: 'User Input:'
required: true
default: "Hello World"
jobs:
run-python-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Setup Python
uses: actions/setup-python@v2.2.2
with:
python-version: 3.8
- name: Execute Test Script
run: |
echo "Store: ${{ github.event.inputs.myInput }}"
INPUT_STORE=${{ github.event.inputs.myInput }} python3 test.py
test.py
文件:
import os
input_variable = os.environ['INPUT_STORE']
print("Input Variable:", input_variable)
结果Test
用作输入:
推荐阅读
- javascript - 使用 Node.js 在实时聊天消息中创建超链接 UnhandledPromiseRejectionWarning: TypeError: results.forEach is not a function
- spring - Spring Data JDBC - 动态自动装配存储库对象
- git - 将上游父 repo 合并到我的 fork 中的最佳方法?大量的冲突——我需要手动解决它们吗?
- javascript - 使用菜单链接设置 Vue3 路由器
- python - 通过文件和命令行传递参数
- python - Discord 使用 BytesIO 发送空白文本文件
- c# - 时间:2019-01-10 标签:c#tuple list multiple sort in order
- jquery - Ajax async false 不会进入下一步
- kubernetes - 与 Kubectl 的连接在 LoadBalancer 上不起作用
- c# - 当我不想让我的用户代理正常化时,HttpRequestMessage.Headers 中的 TryAddWithoutValidation