【问题标题】:How to pass parameters to Python from Jenkins如何从 Jenkins 向 Python 传递参数
【发布时间】:2022-10-08 05:22:30
【问题描述】:

我得到了以下文件,并想改用参数。如何在 Python 中传递它们?

import pandas as pd
import mysql.connector
from sqlalchemy import create_engine
from urllib.parse import quote
from io import StringIO
import smtplib, ssl
import mimetypes
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.application import MIMEApplication
from email import encoders
import logging


username = "xxxxx"
password = "yyyyyy"
port = 3306
database = "esxinfo"

engine = create_engine('mysql+mysqlconnector://test:%s@jenkins:3306/esxinfo' % quote('xxxxxx'))
sql = pd.read_sql('SELECT * FROM esx_info', engine)

df = pd.DataFrame(sql)
textStream = StringIO()
df.to_csv(textStream,index=False)

def sendmail():
    msg = MIMEMultipart()
    my_address ="mygmail@gmail.com"
    app_generated_password = "xxxxxxxxxxxx" 
    msg['Subject'] = "The Email Subject"
    msg["From"]= my_address
    msg['To'] = "yyyyyyyyyyy
    msg.add_header('Content-Type','text/html')
    #msg.set_content("This is the body of the email") 
    #msg.attach(MIMEText(message, 'html'))
    textStream = StringIO()
    df.to_csv(textStream,index=False)
    msg.attach(MIMEApplication(textStream.getvalue(), Name="test.csv"))
    with smtplib.SMTP_SSL("smtp.gmail.com", 465) as smtp:
            smtp.login(my_address,app_generated_password)    #login gmail account
            print("sending mail")
            smtp.send_message(msg)   #send message 
            print("mail has sent")

sendmail()

说我想通过

my_address ="mygmail@gmail.com"

我如何在不输入代码的情况下做到这一点?我想用 Jenkins 的参数运行它。

【问题讨论】:

标签: python jenkins


【解决方案1】:

Jenkins 有一个 Python 脚本插件,您可以将参数添加到“参数构建”,例如添加字符串参数,然后在脚本本身中调用它们,如 %MY_ADDRESS%。

但是,参数构建的缺点是被要求在您启动的每项工作中填写此信息......如果每次运行都相同,您当然可以自动执行这些信息。

例如,我有一个脚本需要每晚删除一个工作区进行清理。参数是“Branch”,它传入我的分支名称,在脚本本身中,我通过 C:PathTo%BRANCH% 调用路径

【讨论】:

    猜你喜欢
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 2018-03-03
    • 2017-01-22
    相关资源
    最近更新 更多