Files
skills/se-task-exec-spec/references/exec_task_update_driver_doc.md
T

71 lines
2.6 KiB
Markdown

# 更新驱动文档
1. 如果用户**没有提供项目信息**,先阅读[查项目信息文档](./query_project_info_doc.md),一步一步地获取`projectName`和`projectUuid`。
2. 根据上一步获取到的`projectUuid`,调用`queryDriverListNamesByProject`工具查询项目下的驱动列表。
成功示例:
```json
[
{
"driverListVersionUuid": "string",
"driverListName": "string"
}
]
```
- 参数`driverListVersionUuid`是驱动的版本号ID。
- 参数`driverListName`是驱动名称。
使用markdown表格输出给用户,让用户选择驱动,示例格式:
| 序号 | 驱动名称 | 版本号ID |
| --- | --- | --- |
| 1 | BIOS | 1234567890 |
| 2 | CPU | 456678098 |
失败示例:
```json
[]
```
代表没有数据,告知用户未查询到驱动列表,流程终止。
3. 根据用户选择的`driverListVersionUuid`,调用`queryDriverListVersion`查询驱动下载地址,记住返回值里面的`internalVersion`和`packageFileUrl`参数。如果没有获取到数据,告诉用户获取驱动下载地址失败,流程终止。
4. 用上一步获取到的`packageFileUrl`填充`prepareTaskFile`工具的`fileUrl`参数发起调用。**该工具是一个文件上传的工具,可能耗时较长**。
成功示例:
```json
{
"fileUuid": "8f2a1c9e4b7d4a1f9c3e5b6a7d8e9f01",
"fileUrl": "http://10.159.41.130:8080/mbvClient/downloadFile?objectName=document/20260922/xxx.zip&bucketName=document",
"fileName": "xxx.zip",
"fileExtensionKey": 3
}
```
5. 阅读[查测试机的文档](./query_test_device_doc.md)获取`testUnitUuid`和`testUnitName`。
6. 使用[请求模板文件](../example/update_driver_request.json),**一字不改地生成**1个JSON字符串,再根据[变量表](#变量表)执行变量替换。
7. 阅读[下发任务文档](./create_task_doc.md),上一步生成的JSON字符串就是`requestBodyJson`参数。
## 变量表
JSON字符串中变量的格式示例:{id},根据取值规则查找并替换。
|变量名称|取值规则|
|---|---|
|id|随机生成1个由小写字母、数字组成的7位长度字符串(示例:2b43cb39)|
|date|从**上下文变量**取今天的日期|
|fileName|调用`prepareTaskFile`工具返回的`fileName`|
|fileExtName|使用`fileName`的文件扩展名,例如:"txt"|
|fileExtensionKey|调用`prepareTaskFile`工具返回的`fileExtensionKey`|
|fileUrl|调用`prepareTaskFile`工具返回的`fileUrl`|
|fileUuid|调用`prepareTaskFile`工具返回的`fileUuid`|
|testUnitUuid|调用工具获得的测试机ID|
|testUnitName|调用工具获得的测试机名称|