main();
function main(){
var OAuthName = String(configs.get("Oauth"))
var id = String(configs.get("Id"));
var url = String(configs.get("Url"));
var trigger = String(configs.get("Trigger"));
var triggerArray = trigger.split("\n");
var resultData = configs.get("Result")
check(id,url);
//send post request
sendRequest(id,url,OAuthName,triggerArray,resultData);
}
function check(id,url){
if (id.search(/^[-]?[0-9]+$/) != 0){
throw "non-numeric character existing in ID";
}
if(url.substr(0,8) != "https://"){
throw "URL must begin with 'https://'.";
}
}
function sendRequest (id,url,OAuthName,triggerArray,resultData){
var json = JSON.stringify({"target": {"id": id, "type": "folder"}, "address": url, "triggers": triggerArray});
var token;
try{
token = httpClient.getOAuth2Token(OAuthName)
}catch(e){
throw "Error has occurred with OAuth2 Setting named '" + OAuthName + "'.\n" + e;
}
var request = httpClient.begin()
.bearer(token)
.body(json,"application/json")
.post("https://api.box.com/2.0/webhooks")
//output log
var text = request.getResponseAsString();
engine.log(text);
//check whether creating webhook completed
if (request.getStatusCode() != 201){
throw "Error Code:" + request.getStatusCode();
}
var result = JSON.parse(text);
engine.setDataByNumber(resultData,result.id)
}