NotifyNow(레거시) - 전역
레거시 NotifyNow API는 이메일 보내기, SMS 메시지 보내기, 컨퍼런스 회의 설정 등의 기능을 제공합니다.
NotifyNow - addConferenceCallParticipant(String conferenceCall, String participant)
진행 중인 전화 회의에 임시 사용자를 추가합니다.
participant 매개변수에 대한 전화번호로 메서드를 호출하고 전화번호와 일치하는 sys_user 기록이 정확히 하나 있는 경우 해당 sys_user 기록은 참가자와 연결됩니다. 전화 번호가 sys_user 기록에 있으므로 참가자의 전화 번호 필드는 비어 있습니다. 전화 번호와 일치하는 sys_user 기록이 여러 개 있거나 결과가 없는 경우 참가자의 전화 번호 필드가 채워지고 사용자를 알 수 없기 때문에 sys_user에 대한 참조가 저장되지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 컨퍼런스콜 | 문자열 또는 GlideRecord | 활성 전화 회의의 sys_id 또는 GlideRecord |
| 참가자 | 문자열 또는 GlideRecord | E.164 호환 전화 번호 또는 E.164 호환 전화 번호를 가진 사용자의 sys_id 또는 GlideRecord입니다. |
| 유형 | 설명 |
|---|---|
| GlideRecord | 전화 회의에 추가된 새 참가자의 참가자 기록입니다. |
// add a new participant by conference call sys_id (string) and phone number (string)
var nn = new SNC.NotifyNow();
gs.log(nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', '+31612345678'));
// add a new participant by conference call sys_id (string) and user record (GlideRecord)
var user = new GlideRecord('sys_user');
user.query('user_name', 'myUserName');
if (user.hasNext() && user.next()) {
var nn = new SNC.NotifyNow();
gs.log(nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', user));
// you could have added the user by sys_id as well:
// nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', user.getValue('sys_id'));
} else {
gs.log('no such user');
}
// add a new participant by conference call record (GlideRecord) and phone number (string)
var conferenceCall = new GlideRecord('notifynow_conference_call');
conferenceCall.query('title', 'IA0001001');
if (conferenceCall.hasNext() && conferenceCall.next()) {
var nn = new SNC.NotifyNow();
gs.log(nn.addConferenceCallParticipant(conferenceCall, '+31612345678'));
} else {
gs.log('no such conference call');
}
NotifyNow - convertLocalPhoneNumberToE164(문자열 userID, 문자열 phoneNumber)
사용자의 위치에 따라 시내 전화 번호를 E.164 호환 전화 번호로 변환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| userID | 문자열 | 위치 정보를 가져올 sys_user 기록의 sys_id입니다. |
| phoneNumber | 문자열 | 전화 번호입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | E.164 호환 전화 번호입니다. |
var localPhoneNumber = '01784 221600';
var userName = 'Heath Vanalphen';
var user = new GlideRecord('sys_user');
user.get('name',userName);
var E164Number = new SNC.NotifyNow().convertLocalPhoneNumberToE164(user.getUniqueValue(), localPhoneNumber);
gs.log('converted: ' + localPhoneNumber + ' to ' + E164Number + ' based on ' + user.getValue('name') +
'\'s location (' + user.getValue('location') + ')');
NotifyNow - getConferenceCallParticipants(문자열, conferenceCallId, 부울 isCallable)
전화 회의의 모든 참가자를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| conferenceCallId | 문자열 | 전화 회의의 ID입니다. |
| isCallable | 부울 | 호출할 수 있는 사용자(true) 또는 호출할 수 없는 사용자(false)만 반환하는 선택적 플래그입니다. |
| 유형 | 설명 |
|---|---|
| GlideRecord | 참가자 |
var nn = new SNC.NotifyNow();
var user = nn.getConferenceCallParticipants('c2e91710eb120100f34087b9d106fe37');
while (user.hasNext() && user.next()) {
if (user.getValue('participant')) {
gs.log('user: ' + user.getValue('sys_id'));
} else {
gs.log('phone number: ' + user.getValue('phone_number'));
}
}
var nn = new SNC.NotifyNow();
var user = nn.getConferenceCallParticipants('c2e91710eb120100f34087b9d106fe37', true);
while (user.hasNext() && user.next()) {
if (user.getValue('participant')) {
gs.log('user: ' + user.getValue('sys_id'));
} else {
gs.log('phone number: ' + user.getValue('phone_number'));
}
}
var conferenceCallId = '32b11430eb1201003cf587b9d106feb8';
// get all participants
gs.log('all conference call participants:');
var nn = new SNC.NotifyNow();
var user = nn.getConferenceCallParticipants(conferenceCallId);
gs.log(user);
// get all callable participants
gs.log('all conference call participants we can call:');
user = nn.getConferenceCallParticipants(conferenceCallId, true);
gs.log(user);
// get all un callable participants
gs.log('all conference call participants that are already in an active session and whom we cannot call:');
user = nn.getConferenceCallParticipants(conferenceCallId, false);
gs.log(user);
NotifyNow - getFrequentlyCalledUsers(수 제한)
limit 매개변수까지 자주 호출되는 사용자 수를 알파벳 순서로 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 제한 | 번호 | 최대 결과 수입니다. |
| 유형 | 설명 |
|---|---|
| GlideRecord | 자주 호출되는 사용자를 알파벳 순으로 정렬합니다. |
var nn = new SNC.NotifyNow();
var fc = nn.getFrequentlyCalledUsers(10);
while (fc.hasNext() && fc.next()) {
gs.log("got user " + fc.getValue('name') + ' - ' + fc.getValue('sys_id'));
}
NotifyNow - getPreferredE164SMSNumber(GlideRecord 사용자)
SMS 메시지에 대해 사용자가 선호하는 E.164 호환 전화 번호를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 사용자 | GlideRecord 또는 문자열 | E.164에 따른 전화 번호를 가져올 사용자 기록 또는 사용자의 sys_id입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | E.164 호환 전화 번호 또는 null입니다. |
var userID = "<user sys_id>";
var E164Number = new SNC.NotifyNow().getPreferredE164SMSNumber(userID);
gs.log('the preferred phone number for sending SMS notifications is ' + E164Number + ' for user with id: ' + userID);
NotifyNow - getPreferredE164VoiceNumber(GlideRecord 사용자)
음성 통화에 대해 사용자가 선호하는 E.164 호환 전화 번호를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 사용자 | GlideRecord 또는 문자열 | E.164에 따른 전화 번호를 가져올 사용자 기록 또는 사용자의 sys_id입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | E.164 호환 전화 번호 또는 null입니다. |
var userID = "<user sys_id>";
var E164Number = new SNC.NotifyNow().getPreferredE164VoiceNumber(userID);
gs.log('the preferred phone number for setting up voice calls is ' + E164Number + ' for user with id: ' + userID);
NotifyNow - getPreferredEmailAddress(GlideRecord 사용자)
사용자의 기본 이메일 주소를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 사용자 | GlideRecord 또는 문자열 | 이메일 주소를 가져올 사용자 기록 또는 사용자의 sys_id입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 이메일 주소 또는 null입니다. |
var userID = "some user sys id";
var email = new SNC.NotifyNow().getPreferredEmailAddress(userID);
gs.log('the preferred email address for sending email notifications is ' + email + ' for user with id: ' + userID);
지금 알림 - getReadyState()
알림이 올바르게 설정되었는지 여부를 나타냅니다.
이 방법은 관리자 또는 notifynow_admin 역할을 가진 사용자만 액세스할 수 있습니다. 다른 모든 역할의 사용자가 스크립트에서 함수를 실행하려고 하면 False 메시지가 표시됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 알림이 올바르게 설정되면 True, 그렇지 않은 경우에는 False입니다. |
var nn = new SNC.NotifyNow();
gs.log(((nn.getReadyState()) ? "OK" : "NOT OK"));
알림 Now - getStatus()
알림 구성의 현재 상태를 반환합니다.
이 방법은 관리자 또는 notifynow_admin 역할을 가진 사용자만 액세스할 수 있습니다. 다른 모든 역할의 사용자가 스크립트에서 기능을 실행하려고 할 때 Unauthorized라는 메시지가 표시됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 문자열 | 가능한 상태 메시지 중 하나입니다.
|
var nn = new SNC.NotifyNow();
gs.log(nn.getStatus());
NotifyNow - initiateConferenceCall(String[], conferenceCallParticipants, String, conferenceCallTitle)
새 전화 회의를 시작합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 컨퍼런스콜참가자 | 문자열 | 한 명 이상의 사용자, 전화 회의 참가자, sys_user 테이블의 sys_ids로 식별됨 또는 E.164 호환 전화 번호. |
| conferenceCallTitle | 문자열 | 전화 회의의 제목입니다. 이 매개변수의 최대 길이는 40자입니다. |
| 유형 | 설명 |
|---|---|
| GlideRecord | 전화 회의 기록이거나 오류가 있는 경우 null입니다. |
이렇게 하면 선택적 소스 기록 매개변수 없이 참가자에 대해 E.164 호환 전화 번호로 전화 회의가 시작되고 SMS 또는 이메일을 통해 전화 회의 세부 정보가 전송되지 않습니다.
var participants = ['+31205655548', '+31205655552', '+31652825393'];
// set up conference call
var nn = new SNC.NotifyNow();
var conferenceCall = nn.initiateConferenceCall(participants, "testing12");
gs.log('started conference call: ' + conferenceCall.getUniqueValue()); NotifyNow - initiateConferenceCall(String[], conferenceCallParticipants, String, conferenceCallTitle, GlideRecord sourceRecord, Boolean private)
새 전화 회의를 시작합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 컨퍼런스콜참가자 | 문자열 | 한 명 이상의 사용자, 전화 회의 참가자, sys_user 테이블의 sys_ids로 식별됨 또는 E.164 호환 전화 번호. |
| conferenceCallTitle | 문자열 | 전화 회의의 제목입니다. 이 매개변수의 최대 길이는 40자입니다. |
| sourceRecord | GlideRecord | 인시던트 또는 문제 번호와 같이 전화 회의에 연결할 소스 기록입니다. |
| 개인 | 부울 | 전화 회의가 비공개인지 여부를 제어하는 값입니다. 이 값은 기본적으로 false로 설정됩니다. |
| 유형 | 설명 |
|---|---|
| GlideRecord | 전화 회의 기록이거나 오류가 있는 경우 null입니다. |
이렇게 하면 E.164에 따른 전화 번호가 있는 참가자 및 sys_user 테이블의 참가자와 전화 회의가 시작되고 SMS 및 이메일을 통해 전화 회의 세부 정보가 모든 참가자에게 전송됩니다.
// define phone number participants
var participants = ['+31205655548', '+31205655552', '+31652825393'];
// we also want to add two Dutch sys_user participants
var user = new GlideRecord('sys_user');
user.addNotNullQuery('mobile_phone');
user.addQuery('mobile_phone', 'STARTSWITH', '+316');
user.setLimit(2);
user.query();
// add users to the participant array
while (user.hasNext() && user.next()) {
gs.log('adding user ' + user.getValue('name') + ' with phone number ' +
user.getValue('mobile_phone') + ' to the participant array');
participants.push(user.getUniqueValue());
}
// define a source record to associate with the conference call
var source = new GlideRecord("cmdb_ci");
source.query("asset_tag", "P1000167");
if (source.hasNext() && source.next()) {
// set up conference call
var nn = new SNC.NotifyNow();
var conferenceCall = nn.initiateConferenceCall(participants, "testing 1 2", source);
// check if the conference call was successfully created
if (conferenceCall != null) {
gs.log('started conference call: ' + conferenceCall.getUniqueValue());
} else {
gs.log('could not start the conference call :(');
}
} NotifyNow - isCallable(문자열 참가자)
사용자가 호출 가능한지 여부를 결정합니다.
사용자에게 올바른 전화 번호가 있어야 전화를 걸 수 있습니다. 이미 활성 세션에 있는 사용자는 호출할 수 없습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 참가자 | 문자열 또는 GlideRecord | sys_user 또는 notifynow_participant 기록, 또는 E.164 호환 전화 번호 |
| 유형 | 설명 |
|---|---|
| 부울 | 이 참가자를 호출할 수 있는지 여부입니다. |
var nn = new SNC.NotifyNow();
gs.log('by number: ' + nn.isCallable('+31612345678'));
var user = GlideRecord('sys_user');
user.query('sys_id', '13d39544eb5201003cf587b9d106fea9');
if (user.hasNext() && user.next())
gs.log('by user: ' + nn.isCallable(user));
var participant = GlideRecord('notifynow_participant');
participant.query('sys_id', '33b11430eb1201003cf587b9d106feb9');
if (participant.hasNext() && participant.next())
gs.log('by participant: ' + nn.isCallable(participant));
알림 - isSMSCapable()
Twilio 계정과 연결된 전화 번호로 SMS 메시지를 보낼 수 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | Twilio 계정과 연결된 전화 번호로 SMS 메시지를 보낼 수 있는지 여부입니다. |
gs.log('The twilio number is SMS capable: ' + ((new SNC.NotifyNow().isSMSCapable()) ? 'yes' : 'no'));
알림 - isSMSCapable(String userID)
사용자가 SMS 메시지를 보낼 수 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| userID | 문자열 | SMS 지원 전화번호를 확인할 사용자의 sys_id입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 사용자가 SMS 메시지를 보낼 수 있는지 여부 |
gs.log('the user is able to send SMS messages (e.g. has a SMS device): ' + ((new SNC.NotifyNow().isSMSCapable('<user sys_id>')) ?
'yes' : 'no'));
알림 - isVoiceCapable()
Twilio 계정과 연결된 전화 번호로 전화 통화를 설정할 수 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | Twilio 계정과 연결된 전화 번호로 전화 통화를 설정할 수 있는지 여부입니다. |
gs.log('the Twilio number is Voice capable: ' + ((new SNC.NotifyNow().isVoiceCapable()) ? 'yes' : 'no'));
NotifyNow - isVoiceCapable(문자열 userID)
사용자가 음성 통화를 할 수 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| userID | 문자열 | 음성 통화가 가능한 전화 번호를 확인할 사용자의 sys_id입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 사용자에게 음성 통화가 가능한 전화 번호가 있는지 여부입니다. |
gs.log('the user is able to send SMS messages (e.g. has a SMS device): ' +
((new SNC.NotifyNow().isVoiceCapable('someuserid')) ? 'yes' : 'no'));
NotifyNow - kick(GlideRecord 참가자)
전화 회의에서 참가자를 제거합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 참가자 | GlideRecord | 통화에서 제거할 전화 회의 참가자입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 참가자가 제거된 경우 True, 그렇지 않은 경우 False입니다. |
var participantId = "<participant sys_id>";
var participant = new GlideRecord('notifynow_participant');
participant.get(participantId);
if (participant.isValid()) {
// kick participant
result = new SNC.NotifyNow().kick(participant);
gs.log('participant kicked: ' + result);
}
NotifyNow - 음소거(GlideRecord 참가자)
전화 회의 참가자를 음소거합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 참가자 | GlideRecord | 음소거할 컨퍼런스 회의 참가자입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 참가자가 음소거된 경우 True, 그렇지 않은 경우 False입니다. |
var participantId = "<participant sys_id>";
var participant = new GlideRecord('notifynow_participant');
participant.get(participantId);
if (participant.isValid()) {
// mute participant
result = new SNC.NotifyNow().mute(participant);
gs.log('participant muted: ' + result);
}
NotifyNow - sendEmailQuestion(String emailAddress, String question, GlideRecord sourceRecord, String emailSubject)
이메일 주소로 이메일 질문을 보냅니다.
sendEmailQuestion 메서드는 질문 본문을 생성하고 사용자가 링크를 클릭하여 선택 사항을 나타내도록 요구합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| emailAddress | 문자열 | 질문을 보낼 이메일 주소입니다. |
| 질문 | 문자열 또는 GlideRecord | 보낼 질문 기록 또는 질문 기록의 sys_id입니다. |
| sourceRecord | GlideRecord | 인시던트와 같은 SMS 질문에 연결할 선택적 소스 기록입니다. |
| 이메일제목 | 문자열 | 기본 이메일 제목을 재정의하는 선택적 텍스트입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 대화가 sys_id. |
이 예제에서는 기본 이메일 제목을 사용하는 방법을 보여 줍니다.
var user = GlideRecord("sys_user");
user.get("email", "someone@somedomain.com");
new SNC.NotifyNow().sendEmailQuestion(user.getValue('email'), "b6b34500bf3111003cf585ce2c0739ce", user); 이 예제에서는 닷워킹을 사용하고 소스 기록과 이메일 제목을 지정합니다.
new SNC.NotifyNow().sendEmailQuestion("someone@somedomain.com", "b6071733bf1111003cf585ce2c07390f", current,
"Please answer this question"); 이 예시에서는 닷워킹을 사용하며 이메일 제목은 지정하지만 소스 기록은 지정하지 않습니다.
new SNC.NotifyNow().sendEmailQuestion("someone@somedomain.com", "b6071733bf1111003cf585ce2c07390f",
"Please answer this question"); NotifyNow - sendSMS(String phoneNumber, String smsBody)
E.164에 따른 휴대폰 번호로 SMS 메시지를 전송합니다.
알림은 국제 번호를 지원합니다. SMS 메시지 전송을 지원하지 않는 번호로 이 메서드를 사용하면 오류가 기록됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| phoneNumber | 문자열 | 메시지를 보낼 E.164 호환 전화 번호입니다. |
| smsBody | 문자열 | 보낼 메시지(최대 1600자)입니다. |
| 유형 | 설명 |
|---|---|
| void |
new SNC.NotifyNow().sendSMS("+31612345678", "This is a message without source record");
NotifyNow - sendSMS(String phoneNumber, String smsBody, GlideRecord source)
E.164에 따른 휴대폰 번호로 SMS 메시지를 전송합니다.
알림은 국제 번호를 지원합니다. SMS 메시지 전송을 지원하지 않는 번호로 이 메서드를 사용하면 오류가 기록됩니다.
참고 항목: SMS에 대한 고급 구성.
| 이름 | 유형 | 설명 |
|---|---|---|
| phoneNumber | 문자열 | 메시지를 보낼 E.164 호환 전화 번호입니다. |
| smsBody | 문자열 | 보낼 메시지(최대 1600자)입니다. |
| 소스 | GlideRecord | 이 SMS 메시지와 연결할 소스 기록입니다. |
| 유형 | 설명 |
|---|---|
| void |
var source = new GlideRecord("my_table");
source.query("my_field", "my_value");
if (source.hasNext() && source.next()) {
// send a text message
var nn = new SNC.NotifyNow();
var message = "this is just a test";
var number = "+31612345678";
nn.sendSMS(number, message, source);
}
이 예에서는 닷워킹과 현재 기록을 소스 기록으로 사용합니다.
new SNC.NotifyNow().sendSMS("+31612345678", "this is a test", current);
NotifyNow - sendSMSQuestion(String phoneNumber, String question, GlideRecord sourceRecord)
SMS 질문을 보냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| phoneNumber | 메시지를 보낼 E.164 호환 전화 번호입니다. | |
| 질문 | 문자열 또는 GlideRecord | 보낼 질문 기록 또는 질문 기록의 sys_id입니다. |
| sourceRecord | 인시던트와 같은 SMS 질문에 연결할 선택적 소스 기록입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 대화가 sys_id되었거나 SMS가 성공적으로 전송되지 않은 경우 null입니다. |
var question = new GlideRecord("notifynow_question");
question.query();
// get the first question
if (question.hasNext() && question.next()) {
// send the sms question
var number = "+31612345678";
var nn = new SNC.NotifyNow();
nn.sendSMSQuestion(number, question.getUniqueValue(), current);
}
NotifyNow - umute(GlideRecord 참가자)
전화 회의 참가자를 음소거 해제합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 참가자 | GlideRecord | 음소거를 해제할 음소거된 컨퍼런스 회의 참가자입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 참가자가 음소거 해제된 경우 True, 그렇지 않은 경우 False입니다. |
var participantId = "<participant sys_id>";
var participant = new GlideRecord('notifynow_participant');
participant.get(participantId);
if (participant.isValid()) {
// unmute participant
result = new SNC.NotifyNow().unmute(participant);
gs.log('participant unmuted: ' + result);
}