У меня есть код, который подключается к Redmine, загружает файл Excel, анализирует команды для выполнения на удаленном сервере. Всего есть 13 команд для выполнения. Перед выполнением следующей команды я должен получить подтверждение клиента с помощью знака «ОК». Я хочу, чтобы этот скрипт прослушал последний комментарий на redmine и выполнил команду, если клиент пишет «ок».
На данный момент я могу это сделать, если я дам себе информацию. И.Е. вот код:
import sys
import requests
from redminelib import Redmine
from dts_viraj_EC40 import get_attachment
from dts_viraj_EC40 import format_file
from bs4 import BeautifulSoup
get_attachment.get_excel()
format_file.parse_excel_sheet()
format_file.file_crop()
format_file.delete_lines()
url = 'http://xxxxxx/issues/4'
count=0
while True:
# open with GET method
resp = requests.get(url)
html_content = resp.text
soup = BeautifulSoup(html_content, 'html.parser')
y = soup.find_all("div", {"class": "wiki"})
result = y[-1].text
# print(y[-1].text)
operation=input(result)
if operation == "ok" or operation == "OK":
with open("/home/mufit/dts_com") as execute:
l = execute.readlines()
print(l[count])
count += 1
if count == 13:
print("script done")
break
Этот код выводит последний комментарий от redmine и запрашивает у меня ввод пользователя с терминала. Если я наберу "ОК" или "ОК", печатает команду для выполнения. Как в этом примере:
okok
/custom/app/viraj-batch-database/bin/EC40.sh /custom/data/mustt/mission_22032019/EC40_T_6257294_PPCLI.PLU92F10
okok
/custom/app/viraj-batch-database/bin/EC40.sh /custom/data/mustt/mission_22032019/EC40_T_6298362_PPCLI.PLU92F10
Первое «ОК» - это последний комментарий Redmine, а второй - то, что я набрал на терминале, затем дает мне соответствующую команду.
Я хочу, чтобы скрипт автоматически брал этот ввод из redmine; каждый раз, когда клиент помещает комментарий «ОК» в Redmine, скрипт выводит соответствующую команду, в противном случае выдаст сообщение об ошибке и выйдет из программы.
как работает скрипт
redmine последний комментарий