//Released under the MIT/X11 license //http://www.opensource.org/licenses/mit-license.php "use strict"; //FIXME resp is JSON, not XML anymore function addAttachmentCallback(resp) { var newAttachID = parseInt( resp.params.param.value.array.data.value.int, 10); console.log("attachID = " + newAttachID); // FIXME callback.call(param, newAttachID, data.length); } /** * * This has to stay in RHBugzillaPage because upstream doesn't have * addAttachment XML-RPC call yet. * Params: $params = { id => '', # ID of the bug report comment => "", # OPTIONAL Text string containing comment to add. description => "", # REQUIRED Text Description of the attachment. isprivate => , # OPTIONAL Whether the Attachment will be private # Default: false filename => "", REQUIRED The name of the file to attach to the bug report. obsoletes => [List of attach_id's to obsolete], OPTIONAL List if attachment ids that are obsoleted by this new attachment. ispatch => , OPTIONAL Whether the attachment is a Patch or not, if not provided the it will be considered NON Patch attachment. contenttype => "", OPTIONAL If the attachment is patch REQUIRED If the attachment is not a patch If the attachment is patch then contenttype will always be text/plain data => "", REQUIRED It is a base64 encoded string of the actual attachment data. nomail => 0, OPTIONAL Flag that is either 1 or 0 if you want email to be send ot not for this change } */ function addAttachment(data, callback, param) { var params = []; if (!constantData.passwordState.passAvailable) { console .error("addAttachment : No password, no XML-RPC calls; sorry"); return null; } var params = { id : getBugNo(), description : titleParsedAttachment, filename : "parsed-backtrace.txt", contenttype : "text/plain", data : window.btoa(data), nomail : true }; self.postMessage(new Message("MakeJSONRPCall", { url : constantData.XMLRPCData[window.location.hostname].url .replace("xmlrpc.cgi", "jsonrpc.cgi"), method : "bugzilla.addAttachment", params : params, callRPC : "AddAttachmentCallback" })); reqCounter++; }