user_id = await get_user() if not user_id: return json.dumps({'status': 'error', 'message': '未登录'}, ensure_ascii=False) rec_id = params_kw.get('id', '') if not rec_id: return json.dumps({'status': 'error', 'message': '缺少id'}, ensure_ascii=False) data = {'id': rec_id, 'updated_at': curDateString()} if 'iteration_id' in params_kw: data['iteration_id'] = params_kw['iteration_id'] if 'case_id' in params_kw: data['case_id'] = params_kw['case_id'] if 'step_name' in params_kw: data['step_name'] = params_kw['step_name'] if 'title' in params_kw: data['title'] = params_kw['title'] if 'description' in params_kw: data['description'] = params_kw['description'] if 'severity' in params_kw: data['severity'] = params_kw['severity'] if 'priority' in params_kw: data['priority'] = params_kw['priority'] if 'status' in params_kw: data['status'] = params_kw['status'] if 'reporter_type' in params_kw: data['reporter_type'] = params_kw['reporter_type'] if 'reporter_id' in params_kw: data['reporter_id'] = params_kw['reporter_id'] if 'assignee_id' in params_kw: data['assignee_id'] = params_kw['assignee_id'] try: async with get_sor_context(request._run_ns, 'pipeline') as sor: await sor.U('sd_bugs', data) return json.dumps({'status': 'ok'}, ensure_ascii=False) except Exception as e: return json.dumps({'status': 'error', 'message': str(e)}, ensure_ascii=False)