このスクリプトを使用して、アクティビティ・レポートを受信者のリストに電子メールで送信できます。このスクリプトは、毎日実行するようにスケジュールして、毎日のアクティビティ・レポートを取得できます。このスクリプトは、次の機能を実行します。
パスワードに特殊文字が含まれている場合は、特殊文字の処理を参照してください。また、使用環境にあわせて次のパラメータ値を確実に置き換えてください:
Table 4-2 変更するパラメータ
パラメータ | 説明 |
---|---|
user | 環境にサインインするサービス管理者のユーザーID。 |
password | サービス管理者のパスワード |
url | アクティビティ・レポートの電子メール送信元となるEPM Cloud環境のURL。 |
emailaddresses | アクティビティ・レポートの送信先となる電子メール・アドレスのセミコロン区切りリスト。 |
Groovyルールの使用の詳細は、Planningの管理のGroovyルールの使用を参照してください。
/*RTPS: {user} {password} {url} {emailaddresses}*/ import java.text.SimpleDateFormat String user = 'service_administrator' String password = 'examplePWD' String url = 'example_EPM_URL' String emailaddresses = 'service_administrator@oracle.com' EpmAutomate automate = getEpmAutomate() def LogMessage(String message) { def date = new Date() def sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss") println('[' + sdf.format(date) + '][GROOVY] ' + message); } def LogOperationStatus(EpmAutomateStatus opstatus) { def returncode = opstatus.getStatus() LogMessage(opstatus.getOutput()) LogMessage('return code: ' + returncode) } LogMessage('Starting mail activity report processing') // encrypt LogMessage("Operation: encrypt " + password + " oracleKey password.epw") EpmAutomateStatus status = automate.execute('encrypt',password,"oracleKey","password.epw") LogOperationStatus(status) // login LogMessage("Operation: login " + user + " password.epw " + url) status = automate.execute('login',user,"password.epw",url) LogOperationStatus(status) // listfiles LogMessage('Operation: listfiles') status = automate.execute('listfiles') LogOperationStatus(status) String filelist = status.getItemsList() String[] str = filelist.split(','); String reportfile = '' for( String svalues : str ) { String[] ftr = svalues.split('/') for( String fvalues : ftr ) { if (fvalues.startsWith('2') && fvalues.endsWith('html')) { reportfile = fvalues } } } def reportdir = reportfile.tokenize(".")[0] String reportpath = 'apr/' + reportdir + '/' + reportfile // sendMail LogMessage('Operation: sendMail ' + emailaddresses + ' Daily Activity Report Body=Daily Activity Report Attachments=' + reportpath) status = automate.execute('sendmail',emailaddresses,'Daily Activity Report','Body=Daily Activity Report',"Attachments=${reportpath}") LogOperationStatus(status) // logout LogMessage('Operation: logout') status = automate.execute('logout') LogOperationStatus(status)