在 Jenkins 上从 GitHub 导入的 python 脚本中输入

Input in python script imported from GitHub on Jenkins

我正在尝试 运行 Jenkins 上的 python 脚本

import csv
import time
from selenium.webdriver import DesiredCapabilities
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
search_term = input("Enter the search (Two Words at most) :")

有没有办法在 Jenkins 中获取此输入?

如果我的理解正确,您希望 Jenkins 管道请求输入,然后将该输入传递给您的 python 代码。 我想你应该从你的 python 代码中删除 search_term = input() 并将其设置为参数,例如:

parser = argparse.ArgumentParser(description="somedescriptionhere")
parser.add_argument('-s', '--search_term', help="sometexthere", type=str)
args = parser.parse_args()
search_term = args.search_germ

然后您可以将以下内容放在 jenkins 管道阶段的步骤中:

input (id: 'userInput', message: 'Enter the search (Two Words at most) :', parameters: [
    [$class: 'TextParameterDefinition',
    defaultValue: '',
    description: 'Some suitable text for your needs',
    name: 'search_term']
])
sh(script: "timeout --signal=KILL 600 python3 yourpythoncode.py -s ${search_term}")

应该在执行时请求输入,然后将值传递给此 python 执行。