Commit 79db7067 authored by Wallen姚文辉's avatar Wallen姚文辉

添加功能

parent b76ead2b
......@@ -92,7 +92,7 @@ def reportinfo():
# project=request.args.get("project")
iteration=request.args.get("iteration")
id_=request.args.get("view")
print(id_)
print
headers=getheader(session.get("id"))
# id_=requests.request("get",jiraAddress+"/rest/agile/1.0/board?projectKeyOrId="+project,headers=headers).json().get("values")[0].get("id")
result=requests.request("get",jiraAddress+"/rest/greenhopper/1.0/xboard/plan/backlog/data.json?rapidViewId="+str(id_),headers=headers).json()
......@@ -235,7 +235,6 @@ def uploadhistory():
@tool.route('/testcase/upload',methods=["POST"])
def run():
a=Uploadecase(project=request.form.get("projectName"),user_id=session.get("id"),step=0,stepstatus=0,status=0,create_time=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
if 'file' not in request.files:
a.stepstatus=1
......@@ -260,14 +259,15 @@ def run():
upid=a.id
db.session.commit()
db.session.close()
server.socketio.start_background_task(runstart,current_app._get_current_object(),file_name,request.form.get("project"),upid,session.get("id"))
server.socketio.start_background_task(runstart,current_app._get_current_object(),file_name,request.form.get("project"),request.form.get("view"),upid,session.get("id"))
server.socketio.emit("infoupdate",room=upid)
return jsonify({"code": 200, "message": "上传成功"}),200
def runstart(app,file_name,project,upid,user_id):
def runstart(app,file_name,project,view,upid,user_id):
with app.app_context():
headers=getheader(user_id)
id_=requests.request("get",jiraAddress+"/rest/agile/1.0/board?projectKeyOrId="+project,headers=headers).json().get("values")[0].get("id")
# id_=requests.request("get",jiraAddress+"/rest/agile/1.0/board?projectKeyOrId="+project,headers=headers).json().get("values")[0].get("id")
id_=view
result=requests.request("get",jiraAddress+"/rest/greenhopper/1.0/xboard/plan/backlog/data.json?rapidViewId="+str(id_),headers=headers).json()
projectId,projectkey=result["projects"][0]["id"],result["projects"][0]["key"]
data={ "fields": {
......@@ -622,8 +622,52 @@ def delreport(id_):
db.session.commit()
db.session.close()
return jsonify({"code": 200, "message": "删除成功"})
\ No newline at end of file
@tool.route('makesendletter',methods=["POST"])
def makesendletter():
data=request.json
print(data)
if data['type']=="获批":
a=requests.post('http://192.168.11.169:9876/mksendapprovalletter',json={"name":data.get("name"),"fileNumber":data.get("fileNumber"),"deadline":data.get("deadline"),"getday":data.get("getday"),"environment":data.get("environment")})
result,code=a.json(),a.status_code
elif data["type"]=="拒签":
a=requests.post('http://192.168.11.169:9876/mksendapprovalletter',json={"type":"ycj","name":data.get("name"),"fileNumber":data.get("fileNumber"),"deadline":data.get("deadline"),"getday":data.get("getday"),"environment":data.get("environment")})
result,code=a.json(),a.status_code
elif data["type"]=="补件":
a=requests.post('http://192.168.11.169:9876/mksendapprovalletter',json={"type":"ycs","name":data.get("name"),"fileNumber":data.get("fileNumber"),"deadline":data.get("deadline"),"getday":data.get("getday"),"environment":data.get("environment")})
result,code=a.json(),a.status_code
else:
result={"code":403,"message": "暂不支持该类型"}
code=403
return jsonify(result),code
@tool.route('makesendvisa',methods=["POST"])
def makesendvisa():
data=request.json
env=data["environment"]
del data["environment"]
a=requests.post('http://192.168.11.169:9876/makeVisaUpload',json=data)
result,code=a.json(),a.status_code
if code!=200:
jsonify({"code":503,"message":"制作电子签证异常"}),500
info={
"file_number": data["file_number"],
"order_id": data["order_id"],
"return_status_text": "已缴费",
"file": result["url"],
"result_image": "https://galaxy-immi-mp.oss-cn-shenzhen.aliyuncs.com/202310/QMEN-0040406-22-1697700802.png"
}
if env==1:
code=requests.post('https://test-crm-inner.galaxy-immi.com/business/orderFileNumberAPI/order_file_number_result_log',info).status_code
elif env==2:
code=requests.post('https://colnet.galaxy-immi.com/business/orderFileNumberAPI/order_file_number_result_log',info).status_code
else:
return jsonify({"code":403,"message":"环境异常"}),403
if code==200:
return jsonify({"code":200,"message":"发送成功"}),200
else:
return jsonify({"code":502,"message":"影刀接口调用失败"}),502
\ No newline at end of file
......@@ -114,4 +114,6 @@ def download_file():
else:
file_path=os.path.join(bath_path,path)+"/"+name
print(222)
return send_file(file_path, as_attachment=True)
\ No newline at end of file
return send_file(file_path, as_attachment=True)
from manager.serverCenter import server
from flask import request
from flask_socketio import join_room,leave_room
globalStatusSearchUSer=[]
andriodStatusSearchUser=[]
iosStatusSearchUser=[]
def usbInfoFlush(data):
# print(data)
for each in globalStatusSearchUSer:
server.socketio.emit('usbFlush',data,to=each)
def sshInfoFlush(data):
# print(data)
for each in globalStatusSearchUSer:
server.socketio.emit('sshFlush',data,to=each)
def adbInfoFlush(data):
for each in andriodStatusSearchUser:
server.socketio.emit('adbFlush',data,to=each)
def appiumStatus(data):
# print(data)
for each in globalStatusSearchUSer:
server.socketio.emit('appiumstatus',data,to=each)
def appiumLog(data):
for each in globalStatusSearchUSer:
server.socketio.emit('appiumlog',data,to=each)
def IosConnectInfo(data):
print(data)
for each in iosStatusSearchUser:
server.socketio.emit('iosinfo',data,to=each)
onEvent=[
["主机服务","列表刷新",usbInfoFlush],
["主机服务","adb信息",adbInfoFlush],
["主机服务","隧道状态",sshInfoFlush],
["主机服务","appium状态",appiumStatus],
["主机服务","appium日志",appiumLog],
["主机服务","ios连接信息",IosConnectInfo],
]
@server.socketio.on('join')
def on_join(data):
join_room(data)
......@@ -8,4 +60,86 @@ def on_join(data):
@server.socketio.on('leave')
def on_leave(data):
leave_room(data)
@server.socketio.on('disconnect')
def disconnect():
request.sid in globalStatusSearchUSer and globalStatusSearchUSer.remove(request.sid)
request.sid in andriodStatusSearchUser and andriodStatusSearchUser.remove(request.sid)
request.sid in iosStatusSearchUser and iosStatusSearchUser.remove(request.sid)
@server.socketio.on('usbInfo')
def usbInfo():
'''
查看usb状态
'''
globalStatusSearchUSer.append(request.sid)
@server.socketio.on('leaveUsbinfo')
def leaveUsbinfo():
'''
从查看状态退出
'''
request.sid in globalStatusSearchUSer and globalStatusSearchUSer.remove(request.sid)
@server.socketio.on('leaveAdbinfo')
def leaveAdbinfo():
'''
退出查看adb信息
'''
request.sid in andriodStatusSearchUser and andriodStatusSearchUser.remove(request.sid)
@server.socketio.on('adbInfo')
def getStatus():
andriodStatusSearchUser.append(request.sid)
@server.socketio.on('leaveIOSinfo')
def leaveAdbinfo():
'''
退出查看adb信息
'''
request.sid in iosStatusSearchUser and iosStatusSearchUser.remove(request.sid)
@server.socketio.on('IOSInfo')
def getStatus():
iosStatusSearchUser.append(request.sid)
@server.socketio.on('connectUsb')
def connectUsb(key):
print(key)
server.listener.emit("连接usb",key)
@server.socketio.on('killproxy')
def killproxy():
server.listener.emit("杀死转发链路")
@server.socketio.on('restartAppium')
def restartAppium():
server.listener.emit("重启appium")
@server.socketio.on('startAppium')
def restartAppium():
print("启动appium")
server.listener.emit("启动appium")
@server.socketio.on('connectIOS')
def connectIos(WDAID):
print(WDAID)
server.listener.emit("连接ios",WDAID)
@server.socketio.on('disconnectIOS')
def connectIos(WDAID):
server.listener.emit("断开ios连接",WDAID)
server.listener.addevent("连接usb","触发usbip绑定事件,参数为需要连接的key")
server.listener.addevent("杀死转发链路","杀死ssh隧道转发")
server.listener.addevent("重启appium","重启appium服务")
server.listener.addevent("启动appium","启动appium服务")
server.listener.addevent("连接ios","连接ios,参数为webdriveragentId")
server.listener.addevent("断开ios连接","断开所有ios的连接")
for each in onEvent:
server.listener.on(*each)
......@@ -5,11 +5,15 @@ from flask_socketio import SocketIO
from datetime import timedelta
from manager.tools import get_config
from jenkins import Jenkins
from lisenterClinet import server as lisenterServer
config=get_config()
mysqlConf=config["mysql"]
Jenkinsconf=config["jenkins"]
centerPath=config['other']['listenCenterPath']
print(centerPath)
class server():
app = Flask(__name__, template_folder='auto_test/html', static_folder='')
......@@ -22,6 +26,8 @@ class server():
socketio = SocketIO()
socketio.init_app(app, cors_allowed_origins='*')
auto_jenkins=Jenkins(Jenkinsconf["address"],Jenkinsconf["user"],Jenkinsconf["password"])
listener=lisenterServer('测试中心',centerPath)
......
......@@ -20,6 +20,4 @@ def test(path):
s=list(map(lambda x:{'floder':x[0][0]=='d' and True or False,'size':x[4],'update': k(x[5]+'-'+x[6]+(':' in x[7] and ' '+x[7] or '-'+x[7])),'name':x[8]},b))
return s
print(test('project-other/source'))
# timeArray=time.strptime("Jun-17 18:58", "%b-%d %H:%M")
# otherStyleTime = time.strftime("%m-%d %H:%M:%S", timeArray)
# print(otherStyleTime)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment