簡體   English   中英

用字符串連接的python模式匹配

[英]python pattern matching joined with a string

我想從 jenkins 作業 > 上次成功構建下載構建文件。 文件名類似於:DevPackage-123.pkg,其中 123 是最后一個成功的內部版本號。 在我使用 urllib 的 python 腳本中,如何將此文件名作為通用變量傳遞。 我的意思是文件名 = "DevPackage-" + <3 位數字> + ".pkg" 在運行腳本時,我不知道這 3 位代表內部版本號的數字。我期待在文件名中添加 3 位數字的模式。請幫忙!

if jenkins == "branch" and build == "lastsuccessful":
    baselink = "http://" + credentials + "XXX.XXX.XXX.XXX/job/My_Build_Job/lastSuccessfulBuild/artifact/results/"
    filelist = ["DevPackage-XXX.pkg","MIBS.zip","udpServer.sh"]

for index in range(len(filelist)):
    urllib.urlretrieve(baselink+filelist[index],newdir+filelist[index])
    print filelist[index]+" Copied!"

首先,您必須從 Jenkins 獲得針對給定工作的最后一次成功構建:

import shutils
import os

import requests

res = requests.get("http://{}@XXX.XXX.XXX.XXX/job/My_Build_Job/lastSuccessfulBuild/buildNumber".format(credentials))
build_number = res.text

之后,您可以獲得最后的工件內容:

baselink = "http://{}@XXX.XXX.XXX.XXX/job/My_Build_Job/lastSuccessfulBuild/artifact/results/{}"
filelist = ["DevPackage-{}.pkg".format(build_number),"MIBS.zip","udpServer.sh"]
for filename in filelist:
    res = requests.get(baselink.format(credentials, filename), stream=True)
    if res.status_code == 200: 

        with open(os.path.join(newdir, filename), "wb") as localfile:
            shutil.copyfileobj(res.raw, localfile)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM