Ich erstelle ein Plugin für die Konfluenz, um Seiten (Titel, Körper) und Datei-Assets (PDF und Bilder) zu importieren.Confluence-Plugin externe Anhänge importieren
Ich benutze PageManager, um die Seite zu speichern und speichern/erstellen einer Seite ist ziemlich geradlinig, aber eine Anlage hinzufügen Ich finde schwierig zu verstehen, wie es zu tun ist, da es fast keine Informationen online, die ich finden kann, wie es zu tun.
Kann jemand einen Anhang zu einem Page-Objekt aus einem InputStream oder einem byte[]
erstellen? Die page.setAttachments()
nimmt eine Liste von Attachment-Objekt, aber wenn ich versuche, ein Anhangsobjekt zu erstellen, nimmt es weder einen inputStream noch ein Byte-Array.
PageManager pageManager = ComponentLocator.getComponent(PageManager) as PageManager
Page page = pageManager.getPage(8290525l)
URL url = new URL("https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg");
InputStream bufferIn = new BufferedInputStream(url.openStream());
Jede Hilfe
Dank geschätzt würde
Edit:
PageManager pageManager = ComponentLocator.getComponent(PageManager) as PageManager
ArrayList<AttachmentResource> attachResources = new ArrayList<AttachmentResource>()
def page = pageManager.getPage(8290525l)
URL url = new URL("https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg");
InputStream bufferIn = new BufferedInputStream(url.openStream());
DefaultSaveContext context = new DefaultSaveContext()
context.setUpdateLastModifier(true)
AttachmentManager attachmentManager = ComponentLocator.getComponent(AttachmentManager) as AttachmentManager
Attachment attachment = new Attachment("2454.png", "image/png", bufferIn.getBytes().length, "", false)
attachmentManager.saveAttachment(attachment, null, bufferIn)
page.addAttachment(attachment)
pageManager.saveContentEntity(page, context)
Welche Version der API verwenden Sie? – rmlan
Confluence 5.10.4 – Alex
Haha, na dann, ihre [Api Docs] (https://docs.atlassian.com/confluence/5.10.4/com/atlassian/confluence/pages/AttachmentManager.html#saveAttachment-com.atlassian .confluence.pages.Attachment-com.atlassian.confluence.pages.Attachment-java.io.InputStream-) lügen. – rmlan