GlideSysAnhang – Umfang
Die GlideSysAnhang Die API stellt Methoden zur Verarbeitung von Anhängen bereit.
Inhalt wird als Zeichenfolge zurückgegeben, nicht als Byte-Array, wenn getContent() aufgerufen wird.
Inhalt wird als GlideScriptableInputStream-Objekt zurückgegeben, wenn getContentStream() aufgerufen wird. GlideScriptableInputStream enthält die tatsächlichen Bytes, die nicht in eine Zeichenfolge konvertiert wurden.
Scoped GlideSysAttachment – GlideSysAttachment()
Erstellt eine Instanz der GlideSysAttachment-Klasse.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
Bereichsbezogener GlideSysAttachment – addAttribute(Zeichenfolge sysAttachmentID, Zeichenfolge attrKey, Zeichenfolge attrValue)
Fügt einem vorhandenen Anhangsdatensatz ein einzelnes Attribut hinzu.
- AddMultipleAttributes()
- DeleteAllAttributes()
- DeleteAttribute()
- FetchAllAttributes()
- FetchAttribute()
- UpdateAllAttributes()
- UpdateAttribute()
| Name | Typ | Beschreibung |
|---|---|---|
| SysAttachmentID | Zeichenfolge | SYS_ID des Anhangs, der in der Tabelle „Anhänge“ [sys_attachment] aufgeführt ist. |
| AttrKey | Zeichenfolge | Schlüsselteil eines Schlüssel-Wert-Paares für ein Anhangsattribut. |
| AttrValue | Zeichenfolge | Wertanteil eines Schlüssel-Wert-Paares für ein Anhangsattribut. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie einem angegebenen Anhang ein Attribut mit dem Schlüssel hinzugefügt wird Autor Und Wert Fred Luddy . Die Ergebnisse können in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] angezeigt werden.
var attach = new GlideSysAttachment();
attach.addAttribute("9e1b714601932210f877b455304df0af", "author", "Fred Luddy");
var result = attach.fetchAttribute("9e1b714601932210f877b455304df0af", "author");
while(result.next()) {
gs.info("Key: " + result.getValue('key') + " \nValue: " + result.getValue('value'));
}
Ausgabe:
Key: author
Value: Fred Luddy
Bereichsbezogener GlideSysAttachment – addMultipleAttributes(Zeichenfolge sysAttachmentID, Object attrsKeyValuePair)
Fügt einem Anhangsdatensatz mehrere Attribute hinzu.
- AddAttribute()
- DeleteAllAttributes()
- DeleteAttribute()
- FetchAllAttributes()
- FetchAttribute()
- UpdateAllAttributes()
- UpdateAttribute()
| Name | Typ | Beschreibung |
|---|---|---|
| SysAttachmentID | Zeichenfolge | SYS_ID des Anhangs, der in der Tabelle „Anhänge“ [sys_attachment] aufgeführt ist. |
| AttrsKeyValuePair | Objekt | Anhangsattribute in einer Reihe von Schlüssel-Wert-Paaren. Jeder Attributschlüssel und sein Wert müssen als Zeichenfolge angegeben werden. Zum Beispiel: |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie Sie einem angegebenen Anhang Attribute hinzufügen. Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.
var attach = new GlideSysAttachment();
var attachmentID = '9e1b714601932210f877b455304df0af';
var attrsKeyValuePair = { };
attrsKeyValuePair["title"] = "Add multiple attributes to an attachment";
attrsKeyValuePair["category"] = "KB";
attrsKeyValuePair["length"] = "5000";
attach.addMultipleAttributes(attachmentID, attrsKeyValuePair);
var result = attach.fetchAllAttributes(attachmentID);
while(result.next()) {
gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value'));
}
Ausgabe:
Key: title, Value: Add multiple attributes to an attachment
Key: author, Value: Abel Tuter
Key: category, Value: KB
Key: length, Value: 5000
Scoped GlideSysAttachment – copy(String sourceTable, String sourceID, String targetTable, String targetID)
Kopiert Anhänge aus dem Quelldatensatz in den Zieldatensatz.
| Name | Typ | Beschreibung |
|---|---|---|
| sourceTable | Zeichenfolge | Name der Tabelle mit den Anhängen, die kopiert werden sollen. |
| sourceID | Zeichenfolge | Sys_ID der Quelltabelle |
| targetTable | Zeichenfolge | Name der Tabelle, der die Anhänge hinzugefügt werden sollen. |
| targetID | Zeichenfolge | Sys_ID der Zieltabelle |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Array von sys_IDs Der Anhänge, die kopiert wurden. |
var attachment = new GlideSysAttachment();
var incidentSysID = 'ab1b30031b04ec101363ff37dc4bcbfc';
var incGR = new GlideRecord('incident');
incGR.get(incidentSysID);
var copiedAttachments = attachment.copy('incident', incidentSysID, 'problem', incGR.getValue('problem_id'));
gs.info('Copied attachments: ' + copiedAttachments);
Ausgabe:
Copied attachments: 6e4621df1bc420501363ff37dc4bcbb0,a87769531b0820501363ff37dc4bcba2
Bereichsbezogener GlideSysAttachment – deleteAllAttributes(Zeichenfolge sysAttachmentID)
Löscht alle Attribute aus einem vorhandenen Anhangsdatensatz.
- AddAttribute()
- AddMultipleAttributes()
- DeleteAttribute()
- FetchAllAttributes()
- FetchAttribute()
- UpdateAllAttributes()
- UpdateAttribute()
| Name | Typ | Beschreibung |
|---|---|---|
| SysAttachmentID | Zeichenfolge | SYS_ID des Anhangs, der in der Tabelle „Anhänge“ [sys_attachment] aufgeführt ist. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Attribute erfolgreich gelöscht wurden. Gültige Werte:
|
Das folgende Beispiel zeigt, wie alle Attribute gelöscht werden, die einem angegebenen Anhang zugewiesen sind. Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.
var attach = new GlideSysAttachment();
var attachmentID = '9e1b714601932210f877b455304df0af';
attach.deleteAllAttributes(attachmentID);
var result = attach.fetchAllAttributes(attachmentID);
while(result.next()) {
gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value'));
}
Ausgabe:
Attribute "null" not found for attachment "04f48541083e2e50f877df7a115e31f3"
Scoped GlideSysAttachment – deleteAttachment(String attachmentID)
Löscht den angegebenen Anhang.
| Name | Typ | Beschreibung |
|---|---|---|
| attachmentID | Zeichenfolge | Sys_ID des Anhangs |
| Typ | Beschreibung |
|---|---|
| void |
var attachment = new GlideSysAttachment();
var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
attachment.deleteAttachment(attachmentSysID);
Bereichsbezogener GlideSysAttachment – deleteAttribute(Zeichenfolge sysAttachmentID, Zeichenfolge attrKey)
Löscht ein angegebenes Attribut aus dem Anhangsdatensatz.
- AddAttribute()
- AddMultipleAttributes()
- DeleteAllAttributes()
- FetchAllAttributes()
- FetchAttribute()
- UpdateAllAttributes()
- UpdateAttribute()
| Name | Typ | Beschreibung |
|---|---|---|
| SysAttachmentID | Zeichenfolge | SYS_ID des Anhangs, der in der Tabelle „Anhänge“ [sys_attachment] aufgeführt ist. |
| AttrKey | Zeichenfolge | Schlüsselteil eines Schlüssel-Wert-Paares für ein Anhangsattribut. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob das Anhangsattribut erfolgreich gelöscht wurde. Gültige Werte:
|
Das folgende Beispiel zeigt, wie ein Attribut gelöscht wird, das einem angegebenen Anhang mit dem Schlüssel zugewiesen ist Autor . Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.
var attach = new GlideSysAttachment();
var attachmentID = '9e1b714601932210f877b455304df0af';
attach.deleteAttribute(attachmentID, "author");
var result = attach.fetchAttribute(attachmentID, "author");
while(result.next()) {
gs.info("Key: " + result.getValue('key') + " \nValue: " + result.getValue('value'));
}
Ausgabe:
Attribute "author" not found for attachment "04f48541083e2e50f877df7a115e31f3"
Bereichsbezogener GlideSysAttachment – getAttachments (Zeichenfolge tableName, Zeichenfolge sys_ID)
Gibt einen GlideRecord zurück, der die übereinstimmenden Anhangsmetadaten wie Name, Typ oder Größe enthält.
| Name | Typ | Beschreibung |
|---|---|---|
| tableName | Zeichenfolge | Name der Tabelle, zu der der Anhang gehört, z. B. Incident. |
| sys_id | Zeichenfolge | SYS_ID des Datensatzes, zu dem der Anhang gehört. |
| Typ | Beschreibung |
|---|---|
| GlideRecord | GlideRecord-Objekt, das die übereinstimmenden Anhangsmetadaten wie Name, Typ oder Größe enthält. |
Das folgende Skript listet die Namen der Anhangsdateien für einen Datensatz mit zwei Anhängen auf.
var attachment = new GlideSysAttachment();
var agr = attachment.getAttachments('<table_name>', '<record_sys_id>');
while(agr.next())
gs.info(agr.getValue('file_name'));
Ausgabe:
*** Script: filename1.txt
*** Script: filename2.txt
Scoped GlideSysAttachment – getContent(GlideRecord sysAttachment)
Gibt den Inhalt des Anhangs als Zeichenfolge zurück.
Diese Methode ist nur zur Verwendung in bereichsbezogenen Anwendungen vorgesehen. Diese Methode gibt zurück Nicht definiert Bei Verwendung im globalen Bereich. Um Anhangsinhalte im globalen Bereich zu lesen, verwenden Sie GetContentStream() Methode aus der GlideSysAttachment: Global API.
- CSV (*.csv)
- JSON (*.JSON)
- Text (*.txt)
| Name | Typ | Beschreibung |
|---|---|---|
| sysAttachment | GlideRecord | Anhangsdatensatz. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Anhangsinhalte als Zeichenfolge. Gibt bis zu 5 MB Daten zurück. |
var attachment = new GlideSysAttachment();
var agr = attachment.getAttachments('incident', '78271e1347c12200e0ef563dbb9a7109'); //create attachment GlideRecord
while(agr.next()) { //for each attachment on the incident record
gs.info(agr.getValue('file_name')); //print file name of attachment
var attachmentContent = attachment.getContent(agr);
gs.info('Attachment content: ' + attachmentContent); //print attachment content
}
Ausgabe:
Doc1.txt
Attachment content: I am text in a txt file attached to a record.
Bereichsbezogener GlideSysAttachment – getContentBase64(GlideRecord sysAttachment)
Gibt den Inhalt des Anhangs als Zeichenfolge mit Base64-Codierung zurück.
Diese Methode ist nur zur Verwendung in bereichsbezogenen Anwendungen vorgesehen. Diese Methode gibt zurück Nicht definiert Bei Verwendung im globalen Bereich. Um Anhangsinhalte im globalen Bereich zu lesen, verwenden Sie GetContentStream Methode aus der GlideSysAttachment: Global API.
| Name | Typ | Beschreibung |
|---|---|---|
| sysAttachment | GlideRecord | Anhangsdatensatz. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Anhangsinhalte als Zeichenfolge mit base64-Codierung. Gibt bis zu 5 MB Daten zurück. |
var attachment = new GlideSysAttachment();
var agr = attachment.getAttachments('incident', '78271e1347c12200e0ef563dbb9a7109'); //create attachment GlideRecord
while(agr.next()) { //for each attachment on the incident record
gs.info(agr.getValue('file_name')); //print file name of attachment
var attachmentContent = attachment.getContentBase64(agr);
gs.info('Attachment content: ' + attachmentContent); //print attachment content
}
Ausgabe:
Doc1.txt
Attachment content: SSBhbSB0ZXh0IGluIGEgdHh0IGZpbGUgYXR0YWNoZWQgdG8gYSByZWNvcmQuIA0=
Bereichsbezogener GlideSysAttachment – getContentStream(String sysID)
Gibt ein GlideScriptableInputStream-Objekt anhand der sys_ID eines Anhangs zurück.
Sie können verwenden GlideTextReader API zum Lesen des Content Streams.
| Name | Typ | Beschreibung |
|---|---|---|
| sysID | Zeichenfolge | SYS_ID des Anhangs |
| Typ | Beschreibung |
|---|---|
| GlideScriptableInputStream | Stream, der den Inhalt des Anhangs enthält. |
var attachment = new GlideSysAttachment();
var attachmentSysID = '6e4621df1bc420501363ff37dc4bcbb0';
var attachmentContentStream = attachment.getContentStream(attachmentSysID);
gs.info('Attachment content stream: ' + attachmentContentStream);
Ausgabe:
Attachment content stream: com.glide.communications.GlideScriptableInputStream@14bd299
Bereichsbezogener GlideSysAttachment – FetchAllAttributes(Zeichenfolge sysAttachmentID)
Ruft alle Attribute aus einem angegebenen Anhangsdatensatz ab.
- AddAttribute()
- AddMultipleAttributes()
- DeleteAllAttributes()
- DeleteAttribute()
- FetchAttribute()
- UpdateAllAttributes()
- UpdateAttribute()
| Name | Typ | Beschreibung |
|---|---|---|
| SysAttachmentID | Zeichenfolge | SYS_ID des Anhangs, der in der Tabelle „Anhänge“ [sys_attachment] aufgeführt ist. |
| Typ | Beschreibung |
|---|---|
| GlideRecord | Der Anhangdatensatz und alle seine Attribute. |
Das folgende Beispiel zeigt, wie alle Attribute abgerufen werden, die einem angegebenen Anhang zugewiesen sind.
var attach = new GlideSysAttachment();
var attachmentID = '9e1b714601932210f877b455304df0af';
var result = attach.fetchAllAttributes(attachmentID);
while(result.next()) {
gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value'));
}
Ausgabe:
Key: title, Value: Add multiple attributes to an attachment
Key: author, Value: Abel Tuter
Key: category, Value: KB
Key: length, Value: 5000
Bereichsbezogener GlideSysAttachment – fetchAttribute(Zeichenfolge sysAttachmentID, Zeichenfolge attrKey)
Ruft ein angegebenes Attribut aus einem Anhangsdatensatz ab.
- AddAttribute()
- AddMultipleAttributes()
- DeleteAllAttributes()
- DeleteAttribute()
- FetchAllAttributes()
- UpdateAllAttributes()
- UpdateAttribute()
| Name | Typ | Beschreibung |
|---|---|---|
| SysAttachmentID | Zeichenfolge | SYS_ID des Anhangs, der in der Tabelle „Anhänge“ [sys_attachment] aufgeführt ist. |
| AttrKey | Zeichenfolge | Schlüsselteil eines Schlüssel-Wert-Paares für ein Anhangsattribut. |
| Typ | Beschreibung |
|---|---|
| GlideRecord | Der GlideRecord des Anhangs und das angegebene Attribut. |
Das folgende Beispiel zeigt, wie ein Anhangsattribut mit dem Schlüssel abgerufen wird Autor .
var attach = new GlideSysAttachment();
var attachmentID = '9e1b714601932210f877b455304df0af';
var result = attach.fetchAttribute(attachmentID, "author");
while(result.next()) {
gs.info("Key: " + result.getValue('key') + " \nValue: " + result.getValue('value'));
}
Ausgabe:
Key: author
Value: Abel Tuter
Bereichsbezogener GlideSysAttachment – updateAllAttributes(Zeichenfolge sysAttachmentID, Object attrsKeyValuePair)
Aktualisiert alle Attribute für einen vorhandenen Anhangsdatensatz.
- AddAttribute()
- AddMultipleAttributes()
- DeleteAllAttributes()
- DeleteAttribute()
- FetchAllAttributes()
- FetchAttribute()
- UpdateAttribute()
| Name | Typ | Beschreibung |
|---|---|---|
| SysAttachmentID | Zeichenfolge | SYS_ID des Anhangs, der in der Tabelle „Anhänge“ [sys_attachment] aufgeführt ist. |
| AttrsKeyValuePair | Objekt | Anhangsattribute in einer Reihe von Schlüssel-Wert-Paaren. Jeder Attributschlüssel und sein Wert müssen als Zeichenfolge angegeben werden. Zum Beispiel: |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie jedes Attribut für einen angegebenen Anhang aktualisiert wird. Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.
var attach = new GlideSysAttachment();
var attachmentID = '9e1b714601932210f877b455304df0af';
var attachmentAttributes = {
"category" : "Training",
"title" : "Updating attachment attributes",
"author" : "Abraham Lincoln",
"length" : "6000"
}
attach.updateAllAttributes(attachmentID, attachmentAttributes);
var result = attach.fetchAllAttributes(attachmentID);
while(result.next()) {
gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value'));
}
Ausgabe:
Key: title, Value: Updating attachment attributes
Key: author, Value: Abraham Lincoln
Key: category, Value: Training
Key: length, Value: 6000
Bereichsbezogener GlideSysAttachment – updateAttribute(Zeichenfolge sysAttachmentID, Zeichenfolge attrKey, Zeichenfolge attrValue)
Aktualisiert ein einzelnes Attribut für einen vorhandenen Anhangsdatensatz.
- AddAttribute()
- AddMultipleAttributes()
- DeleteAllAttributes()
- DeleteAttribute()
- FetchAllAttributes()
- FetchAttribute()
- UpdateAllAttributes()
| Name | Typ | Beschreibung |
|---|---|---|
| SysAttachmentID | Zeichenfolge | SYS_ID des Anhangs, der in der Tabelle „Anhänge“ [sys_attachment] aufgeführt ist. |
| AttrKey | Zeichenfolge | Schlüsselteil eines Schlüssel-Wert-Paares für ein Anhangsattribut. |
| AttrValue | Zeichenfolge | Wertanteil eines Schlüssel-Wert-Paares für ein Anhangsattribut. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie ein Attribut, das einem angegebenen Anhang zugewiesen ist, mit dem Schlüssel aktualisiert wird Autor Und ändert den Wert in Abel Tuter. Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.
var attach = new GlideSysAttachment();
var attachmentID = '9e1b714601932210f877b455304df0af';
var originalVal = attach.fetchAttribute(attachmentID, "author");
while(originalVal.next()) {
gs.info("Original attribute value: " + originalVal.getValue('value') + "\n");
}
attach.updateAttribute(attachmentID, "author", "Abel Tuter");
var updatedVal = attach.fetchAttribute(attachmentID, "author");
while(updatedVal.next()) {
gs.info("Updated attribute value: " + updatedVal.getValue('value'));
}
Ausgabe:
Original attribute value: Fred Luddy
Updated attribute value: Abel Tuter
Scoped GlideSysAttachment – write(GlideRecord record, String fileName, String contentType, String content)
Hängt einen angegebenen Anhang an den angegebenen Datensatz an.
| Name | Typ | Beschreibung |
|---|---|---|
| Datensatz | GlideRecord | Datensatz, an den der Anhang angehängt werden soll. |
| fileName | Zeichenfolge | Name der Anhangsdatei. |
| contentType | Zeichenfolge | MIME-Typ des Anhangs, z. B. Bild/PNG . Befindet sich in der Tabelle „Anhang“ [sys_attachment] in Inhaltstyp Feld. |
| Content | Zeichenfolge | Anhangsinhalt. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SYS_ID des Anhangs Gibt NULL zurück, wenn der Anhang nicht hinzugefügt wurde. |
var attachment = new GlideSysAttachment();
//set up inputs
var rec = new GlideRecord('incident');
rec.get('78271e1347c12200e0ef563dbb9a7109');
var fileName = 'example.txt';
var contentType = 'text/csv';
var content = 'The text that is stored inside my file';
var agr = attachment.write(rec, fileName, contentType, content);
gs.info('The attachment sys_id is: ' + agr);
Ausgabe:
The attachment sys_id is: 01271e4317c13311e0ef563dbb9abe34
Bereichsbezogener GlideSysAttachment – writeBase64 (GlideRecord Now_GR, Zeichenfolge filename, Zeichenfolge contentType, Zeichenfolge content_base64Encoded)
Fügt einen Anhang für den angegebenen Datensatz unter Verwendung von base64-codiertem Inhalt ein.
| Name | Typ | Beschreibung |
|---|---|---|
| Now_GR | GlideRecord | Datensatz, an den der Anhang angehängt werden soll. |
| fileName | Zeichenfolge | Name der Anhangsdatei. |
| contentType | Zeichenfolge | MIME-Typ des Anhangs, z. B. Bild/PNG . Befindet sich in der Tabelle „Anhang“ [sys_attachment] in Inhaltstyp Feld. |
| Content | Zeichenfolge | Anhangsinhalt im Base64-Format. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SYS_ID des erstellten Anhangs. |
var attachment = new GlideSysAttachment();
var rec = new GlideRecord('incident');
var incidentSysID = 'ab1b30031b04ec101363ff37dc4bcbfc';
rec.get(incidentSysID);
var fileName = 'example.txt';
var contentType = 'text/csv';
var base64Encodedcontent = 'SSBhbSB0ZXh0Lg==';
var agr = attachment.writeBase64(rec, fileName, contentType, base64Encodedcontent);
gs.info('The attachment sys_id is: ' + agr);
Ausgabe:
The attachment sys_id is: 10cde9971b0820501363ff37dc4bcba6
Bereichsbezogener GlideSysAttachment – writeContentStream(GlideRecord Now_GR, String filename, String contentType, GlideScriptableInputStream)
Fügt einen Anhang mit dem Eingabe-Stream ein.
| Name | Typ | Beschreibung |
|---|---|---|
| Now_GR | GlideRecord | Datensatz, an den der Anhang angehängt werden soll. |
| fileName | Zeichenfolge | Name der Anhangsdatei. |
| contentType | Zeichenfolge | MIME-Typ des Anhangs, z. B. Bild/PNG . Befindet sich in der Tabelle „Anhang“ [sys_attachment] in Inhaltstyp Feld. |
| Content | GlideScriptableInputStream | Anhangsinhalt. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SYS_ID des erstellten Anhangs. |
Hängt einen Content Stream aus der Tabelle „sys_attachment“ an einen Test_table-Datensatz an.
function copyAttachmentToGlideRecord(conceptSysId) {
// Get record from test_table using sys_id
var targetGlideRecord = new GlideRecord("test_table");
if (!targetGlideRecord.get(conceptSysId)) {
throw ("Cannot find record created by test with sys_id: " + conceptSysId);
}
// Get record from sys_attachment table
var sourceAttachmentGlideRecord = new GlideRecord('sys_attachment');
sourceAttachmentGlideRecord.query();
sourceAttachmentGlideRecord.next();
// Get field values from retrieved sys_attachment record
var fileName = sourceAttachmentGlideRecord.getValue('file_name');
var contentType = sourceAttachmentGlideRecord.getValue('content_type');
var sourceAttachmentSysId = sourceAttachmentGlideRecord.getValue('sys_id');
// Attach sys_attachment record content stream to test_table record
var gsa = new GlideSysAttachment();
gsa.writeContentStream(
targetGlideRecord,
fileName,
contentType,
gsa.getContentStream(sourceAttachmentSysId));
gs.info("Attachment created");
}