Complete Node.js for AWS Lambda Webhook Relay
var https = require('https'); | |
exports.handler = (event, context, callback) => { | |
console.log("MYLOG" + JSON.stringify(event)) | |
var body = JSON.parse(event.body); | |
var name = body.event.deviceName; | |
var sernum = body.event.serialNumber; | |
var user_name = body.event.username; | |
var building = body.event.building; | |
var curr_time = Math.floor(new Date() / 1000); | |
var post_data = JSON.stringify({ | |
"username": "Jamf Pro Server", | |
"icon_emoji": ":balloon:", | |
"channel": "#<yourslackchannelname>", | |
"text": "Computer Enrolled", | |
"attachments": [ | |
{ | |
"color": "good", | |
"fields": [ | |
{ | |
"title": "Computer: " + name, | |
"value": "Serial number: " + sernum | |
+ "\nUser name: " + user_name | |
+ "\nBuilding: " + building, | |
"short": false | |
} | |
], | |
"footer": "Jamf Webhook", | |
"footer_icon": ":balloon:", | |
"ts": curr_time | |
} | |
] | |
}); | |
var post_options = { | |
host: 'hooks.slack.com', | |
port: '443', | |
path: '/services/YOURWEBHOOK', | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
'Content-Length': Buffer.byteLength(post_data) | |
} | |
}; | |
const req = https.request(post_options, | |
(res) => res.on("data", () => callback(null, "OK"))) | |
req.on("error", (error) => callback(JSON.stringify(error))); | |
req.write(post_data); | |
req.end(); | |
var details = { | |
"status": "OK" | |
} | |
var response = { | |
'statusCode': 200, | |
'headers': { 'Content-Type': 'application/json' }, | |
'body': JSON.stringify(details) | |
} | |
console.log("LOG:: " + JSON.stringify(response)) | |
callback(null, response); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment