|
| 1 | + var instanceName = gs.getProperty('instance_name'); |
| 2 | + var hr = new GlideRecord('sn_hr_core_profile'); |
| 3 | + hr.addEncodedQuery('user.active=true^user.u_worker_idISNOTEMPTY^u_worker_type=EE^u_greenhouse_idISNOTEMPTY'); |
| 4 | + hr.query(); |
| 5 | + while (hr.next()) { |
| 6 | + |
| 7 | + var workerID = hr.user.u_worker_id + ''; |
| 8 | + var greenhouseID = hr.getValue('u_greenhouse_id'); |
| 9 | + var userSys = hr.user.sys_id.toString(); |
| 10 | + |
| 11 | + var key = 'Basic ' + gs.getProperty('sn_hr_core.greenhouseApiKey'); |
| 12 | + |
| 13 | + var r = new sn_ws.RESTMessageV2('Greenhouse', 'Retrieve Candidate'); |
| 14 | + r.setStringParameterNoEscape('id', greenhouseID); |
| 15 | + r.setStringParameterNoEscape('Authorization', key); |
| 16 | + |
| 17 | + var response = r.execute(); |
| 18 | + var responseBody = response.getBody(); |
| 19 | + var httpStatus = response.getStatusCode(); |
| 20 | + |
| 21 | + var rBody = JSON.parse(responseBody); |
| 22 | + |
| 23 | + var attachments = rBody.attachments; |
| 24 | + |
| 25 | + for (var i = 0; i < attachments.length; i++) { |
| 26 | + |
| 27 | + var type = attachments[i].type + ''; |
| 28 | + var fileName = attachments[i].filename + ''; |
| 29 | + var docType = ''; |
| 30 | + var encodedUri = attachments[i].url; |
| 31 | + //var decodedUrl = decodeURI(encodedUri); |
| 32 | + //var url = decodedUrl.replace(/ /g, '%20'); |
| 33 | + |
| 34 | + if (type == 'offer_packet' || type == 'signed_offer_letter' || type == 'offer_letter') { |
| 35 | + |
| 36 | + docType = '3a4a029adb3bac9444c5ebd8489619d1'; |
| 37 | + |
| 38 | + } else if (type == 'resume') { |
| 39 | + |
| 40 | + docType = '9af9ca5adb3bac9444c5ebd8489619a3'; |
| 41 | + |
| 42 | + } else if (type == 'form_attachment' || type == 'cover_letter' || type == 'other') { |
| 43 | + |
| 44 | + docType = '696549a3dbbfe41044c5ebd8489619c5'; |
| 45 | + |
| 46 | + } |
| 47 | + |
| 48 | + var newDoc = new GlideRecord('sn_hr_ef_employee_document'); |
| 49 | + newDoc.newRecord(); |
| 50 | + newDoc.employee = userSys; |
| 51 | + newDoc.document_type = docType; |
| 52 | + newDoc.u_title = fileName; |
| 53 | + newDoc.insert(); |
| 54 | + |
| 55 | + var request = new sn_ws.RESTMessageV2(); |
| 56 | + request.setHttpMethod('get'); |
| 57 | + request.setEndpoint(encodedUri); |
| 58 | + request.saveResponseBodyAsAttachment('sn_hr_ef_employee_document', newDoc.sys_id, fileName); |
| 59 | + var response1 = request.execute(); |
| 60 | + |
| 61 | + } |
| 62 | + } |
0 commit comments