1

我已经编写了一个代码,使用过程在 Jython 中发送电子邮件。现在我已经把我的程序放在一个包里,我正在运行这个包。

但是,我需要得到的是包名称、包执行的开始时间和包执行的结束时间,并通过电子邮件发送。

我尝试使用getPrevStepLog但这不起作用

我现在的程序代码:

import smtplib
import string
BODY = string.join((
"From: %s" % 'test@gmail.com',
"To: %s" % 'admin@odi.com',
"Subject: %s" % 'Mail From ODI',
"",
'This is a mail from ODI Studio. Thank You.Previous step 
'<%=odiRef.getPrevStepLog("STEP_NAME")%>' executed in    
'<%=odiRef.getPrevStepLog("DURATION")%>' seconds'
 ), "\r\n")
 sender = smtplib.SMTP('smtp.gmail.com',587)
 sender.set_debuglevel(1)
 sender.ehlo()
 sender.starttls()
 sender.ehlo()
 sender.login('test', 'test123')
 sender.sendmail('test@gmail.com',['admin@odi.com'],BODY)
 sender.close()
4

1 回答 1

1

您是否尝试使用功能 getSession ?

public java.lang.String getSession(java.lang.String pPropertyName)

pPropertyName

SESS_NO = internal session ID
SESS_NAME = session name
SCEN_VERSION = version of current scenario
CONTEXT_NAME = name of the execution context
CONTEXT_CODE = code of the execution context
AGENT_NAME = name of the physical agent
SESS_BEG = date and hour of the begining of the session
USER_NAME = Oracle Data Integrator user executing the session

示例:获取当前会话名称

<%=odiRef.getSession("SESS_NAME")%>
于 2014-01-22T09:27:49.747 回答