diff --git a/backend/src/main/java/io/metersphere/track/issue/AbstractIssuePlatform.java b/backend/src/main/java/io/metersphere/track/issue/AbstractIssuePlatform.java
index c0ab911d95..f3923c13a5 100644
--- a/backend/src/main/java/io/metersphere/track/issue/AbstractIssuePlatform.java
+++ b/backend/src/main/java/io/metersphere/track/issue/AbstractIssuePlatform.java
@@ -264,6 +264,19 @@ public abstract class AbstractIssuePlatform implements IssuesPlatform {
return input;
}
+ protected String getImages(String input) {
+ String result = "";
+ String regex = "(\\!\\[.*?\\]\\((.*?)\\))";
+ if (StringUtils.isBlank(input)) {
+ return result;
+ }
+ Matcher matcher = Pattern.compile(regex).matcher(input);
+ while (matcher.find()) {
+ result += matcher.group();
+ }
+ return result;
+ }
+
protected String htmlImg2MsImg(String input) {
// -> ![中心主题.png](/resource/md/get/a0b19136_中心主题.png)
String regex = "()";
diff --git a/backend/src/main/java/io/metersphere/track/issue/JiraPlatform.java b/backend/src/main/java/io/metersphere/track/issue/JiraPlatform.java
index d81f034e59..fc23e2a6d7 100644
--- a/backend/src/main/java/io/metersphere/track/issue/JiraPlatform.java
+++ b/backend/src/main/java/io/metersphere/track/issue/JiraPlatform.java
@@ -309,8 +309,12 @@ public class JiraPlatform extends AbstractIssuePlatform {
issues.forEach(item -> {
setConfig();
try {
+ IssuesWithBLOBs issuesWithBLOBs = issuesMapper.selectByPrimaryKey(item.getId());
parseIssue(item, jiraClientV2.getIssues(item.getId()));
- item.setDescription(htmlDesc2MsDesc(item.getDescription()));
+ String desc = htmlDesc2MsDesc(item.getDescription());
+ // 保留之前上传的图片
+ String images = getImages(issuesWithBLOBs.getDescription());
+ item.setDescription(desc + "\n" + images);
issuesMapper.updateByPrimaryKeySelective(item);
} catch (HttpClientErrorException e) {
if (e.getRawStatusCode() == 404) {