feat(接口测试): 场景定时任务模版增加免登录参数

--story=1010916 --user=王孝刚 接口场景列表定时任务通知模板支持配置报告链接免登录跳转
https://www.tapd.cn/55049933/s/1322348
This commit is contained in:
wxg0103 2023-01-03 17:49:02 +08:00 committed by f2c-ci-robot[bot]
parent 5da4ae7bff
commit ab142b85c8
2 changed files with 18 additions and 0 deletions

View File

@ -30,6 +30,7 @@ import io.metersphere.log.vo.OperatingLogDetails;
import io.metersphere.log.vo.api.ModuleReference; import io.metersphere.log.vo.api.ModuleReference;
import io.metersphere.notice.sender.NoticeModel; import io.metersphere.notice.sender.NoticeModel;
import io.metersphere.notice.service.NoticeSendService; import io.metersphere.notice.service.NoticeSendService;
import io.metersphere.service.BaseShareInfoService;
import io.metersphere.service.BaseUserService; import io.metersphere.service.BaseUserService;
import io.metersphere.service.ServiceUtils; import io.metersphere.service.ServiceUtils;
import io.metersphere.service.SystemParameterService; import io.metersphere.service.SystemParameterService;
@ -86,6 +87,8 @@ public class ApiScenarioReportService {
private BaseUserService userService; private BaseUserService userService;
@Resource @Resource
private TestPlanApiScenarioMapper testPlanApiScenarioMapper; private TestPlanApiScenarioMapper testPlanApiScenarioMapper;
@Resource
BaseShareInfoService baseShareInfoService;
public void saveResult(ResultDTO dto) { public void saveResult(ResultDTO dto) {
// 报告详情内容 // 报告详情内容
@ -486,6 +489,8 @@ public class ApiScenarioReportService {
BaseSystemConfigDTO baseSystemConfigDTO = systemParameterService.getBaseInfo(); BaseSystemConfigDTO baseSystemConfigDTO = systemParameterService.getBaseInfo();
String reportUrl = baseSystemConfigDTO.getUrl() + "/#/api/automation/report/view/" + result.getId(); String reportUrl = baseSystemConfigDTO.getUrl() + "/#/api/automation/report/view/" + result.getId();
paramMap.put("reportUrl", reportUrl); paramMap.put("reportUrl", reportUrl);
String shareUrl = getScenarioShareUrl(result.getId(), userId);
paramMap.put("scenarioShareUrl", baseSystemConfigDTO.getUrl() + "/api/share-api-report" + shareUrl);
String context = "${operator}执行接口自动化" + status + ": ${name}"; String context = "${operator}执行接口自动化" + status + ": ${name}";
NoticeModel noticeModel = NoticeModel.builder().operator(userId).context(context).subject("接口自动化通知").paramMap(paramMap).event(event).build(); NoticeModel noticeModel = NoticeModel.builder().operator(userId).context(context).subject("接口自动化通知").paramMap(paramMap).event(event).build();
@ -493,6 +498,15 @@ public class ApiScenarioReportService {
noticeSendService.send(project, NoticeConstants.TaskType.API_AUTOMATION_TASK, noticeModel); noticeSendService.send(project, NoticeConstants.TaskType.API_AUTOMATION_TASK, noticeModel);
} }
public String getScenarioShareUrl(String scenarioReportId, String userId) {
ShareInfo shareRequest = new ShareInfo();
shareRequest.setCustomData(scenarioReportId);
shareRequest.setShareType(ShareType.API_REPORT.name());
shareRequest.setCreateUserId(userId);
ShareInfo shareInfo = baseShareInfoService.generateShareInfo(shareRequest);
return baseShareInfoService.conversionShareInfoToDTO(shareInfo).getShareUrl();
}
public String update(ApiScenarioReportResult test) { public String update(ApiScenarioReportResult test) {
ApiScenarioReport report = updateReport(test); ApiScenarioReport report = updateReport(test);
ApiScenarioReportDetail detail = apiScenarioReportDetailMapper.selectByPrimaryKey(test.getId()); ApiScenarioReportDetail detail = apiScenarioReportDetailMapper.selectByPrimaryKey(test.getId());

View File

@ -122,6 +122,10 @@ export default {
label: this.$t('api_test.automation.scenario.principal'), label: this.$t('api_test.automation.scenario.principal'),
value: 'principal', value: 'principal',
}, },
{
label: this.$t('report.plan_share_url'),
value: 'scenarioShareUrl',
},
{ {
label: this.$t('api_test.automation.step_total'), label: this.$t('api_test.automation.step_total'),
value: 'stepTotal', value: 'stepTotal',