我正在尝试使用python构建脚本,该脚本将根据JIRA中的解析度自动从共享网络位置删除文件夹。
所有文件夹名称都使用以下基本名称“ PROJECT-11111”,这基本上就是jira中的票证ID(例如:jira.host.com \ browse \ PROJECT-11111)。
我正在努力解决的问题,这可能很容易,但是对于python和编程而言,我还是很陌生的是,在共享网络位置,有一些文件夹不一定使用上述格式,而我想要过滤掉它们,因为我想调用基本jira URL +文件夹名称以便直接访问票证。
之后,如果解决了票证的问题,我将需要删除该特定文件夹。
我知道可以通过使用REST API来更轻松,更快速地完成此操作,但我希望一开始就保持简单。
答案 0 :(得分:0)
让我们考虑您有一个文件存储库,其UNC路径为\\jira.host.com\browse
。
该目录包含每个票证的文件夹。
要删除票证文件夹,您可以编写以下功能:
import pathlib
import shutil
# WORK_DIR is the UNC path to your file repository
WORK_DIR = pathlib.Path(r"\\jira.host.com\browse")
def remove_folder(ticket_id: str) -> None:
""" Remove the ticket folder located in the repository """
ticket_path = WORK_DIR.joinpath(f"PROJECT-{ticket_id}")
if ticket_path.exists():
print(f"removing '{ticket_path}'...")
shutil.rmtree(ticket_path, ignore_errors=True)
else:
print(f"'{ticket_path}' already removed.")
然后,您可以在给定票证ID的情况下调用remove_folder
函数。
remove_folder("11111")