Slackに通知を送信するためのGroovyスクリプトの例
Fusion ServiceからSlackに通知を送信するためのGroovyスクリプトの例を次に示します:
トリガーの例: SRクリティカル・チェック・ボックスの変更
次のコードを使用して、サービス・リクエスト(SR)のクリティカル・チェック・ボックスが更新されたときにSlackに通知を送信するようにトリガーします:
ノート: これらの例のHashMapを設定するためのすべてのステップは、Slackに通知を送信するために必要です。 現在、Slack通知では通知プリファレンス・マネージャは使用されません。 そのため、HashMapをsendNotificationメソッドに渡す必要があります。
// TRIGGER TYPE: AFTER CHANGES POSTED TO DATABASE
// Notify #support channel in OraSvc workspace when the Critical check box in an SR is selected or deselected
int indexOfCF = adf.oldValue.getAttributeIndexOf('CriticalFlag')
def oldValue = adf.oldValue.getAttribute(indexOfCF,oracle.jbo.server.EntityImpl.TRANS_ORIGINAL_VERSION)
def newValue = getAttribute('CriticalFlag')
if (oldValue != newValue) {
println("Triggering notification...") // For debugging purpose only
try {
def map = new HashMap()
map.put("Channels",["ORA_SVC_SLACK"])
map.put("MessageText","Test Message for a change to the Critical check box on the SR")
map.put("ChannelAccountName", "A1B2C3D4F5") // This is a very important step to send notifications to Slack. Pass the Account Name field for the Slack channel that you created
map.put("SlackChannels", ["@kanyuev", "#general", ...]) // This is also an important step. You can provide one or more Slack channels or users here
adf.util.sendNotification(adf, map)
println("Success.") // For debugging purpose only
} catch (e) {
throw new oracle.jbo.ValidationException('Failure: ' + e.getMessage())
}
}
トリガーの例: SR作成済
次のコードを使用して、SRの作成時にSlackに通知を送信するようにトリガーします:
// TRIGGER TYPE: BEFORE INSERT TO DATABASE
// Notify #support channel in OraSvc workspace when an SR is created
try {
def map = new HashMap()
map.put("Channels",["ORA_SVC_SLACK"])
map.put("MessageText","An SR is created")
map.put("ChannelAccountName", "A1B2C3D4F5") // This is a very important step to send notifications to Slack. Pass the Account Name field for the Slack channel that you created
map.put("SlackChannels", ["@kanyuev", "#general", ...]) // This is also an important step. You can provide one or more Slack channels or users here
adf.util.sendNotification(adf, map)
} catch (e) {
throw new oracle.jbo.ValidationException('Failure: ' + e.getMessage())
}