It's all about the answers!

Ask a question

passing variables in chained projects


Jonas Gryder (11663) | asked Apr 12 '11, 9:30 a.m.
I am trying to use .email to send a customized message on fail of a job. The first step of the job populates a variable for the message to be sent if the job fails, as well as a variable for who it is to be sent to. I have created a template based on the jobfail default template.

Subject is $subject, and in the body of the template I have the variable $myFailMail.

I have a calling job intentionally set to fail. It includes 3 environment which I change with .bset in step 1, and a second step that is designed to fail. Onfail chain is set for the project to call a second project, which has no environment set. The template is set to associate itself with the second job.

First project:
Step 1:
.bset env "notify=jgryder@chubb.com"
.bset env "myFailMail=What seems to be the problem"
.bset env "notify=jgryder@chubb.com"

Step 2
cd FictitiousDirectory

Second Project
Step 1

.email $notify


The $notify variable seems to work. The email gets to me, but the subject and message are populated as they would be in the default template.

I have tried prefixing with $BF_CALLER_ in the second project and resetting the variable, i.e.
.bset env "myFailMail=$BF_CALLER_myFailMail" but that doesn't work either.

I've reread the documentation several times, but can't seem to crack the nut. Any help would be greatly appreciated.

Thanks,
Jonas

2 answers



permanent link
Brent Ulbricht (2.5k11) | answered Apr 13 '11, 10:43 a.m.
JAZZ DEVELOPER
I am trying to use .email to send a customized message on fail of a job. The first step of the job populates a variable for the message to be sent if the job fails, as well as a variable for who it is to be sent to. I have created a template based on the jobfail default template.

Subject is $subject, and in the body of the template I have the variable $myFailMail.

I have a calling job intentionally set to fail. It includes 3 environment which I change with .bset in step 1, and a second step that is designed to fail. Onfail chain is set for the project to call a second project, which has no environment set. The template is set to associate itself with the second job.

First project:
Step 1:
.bset env "notify=jgryder@chubb.com"
.bset env "myFailMail=What seems to be the problem"
.bset env "notify=jgryder@chubb.com"

Step 2
cd FictitiousDirectory

Second Project
Step 1

.email $notify


The $notify variable seems to work. The email gets to me, but the subject and message are populated as they would be in the default template.

I have tried prefixing with $BF_CALLER_ in the second project and resetting the variable, i.e.
.bset env "myFailMail=$BF_CALLER_myFailMail" but that doesn't work either.

I've reread the documentation several times, but can't seem to crack the nut. Any help would be greatly appreciated.

Thanks,
Jonas


Hi Jonas,

I just wanted to check that I understand your scenario. I see in your first paragraph that you created a template based on the jobfail default template. Was that actually of the 'Job Fail Message' type? The reason I ask is that for the .email to send a customized template for the project/step, it will have to be of type 'Step .email Message'.

Brent Ulbricht
Developer/Lead - RTC Build

permanent link
shiran shem tov (1211114) | answered May 12 '11, 2:10 a.m.
I am trying to use .email to send a customized message on fail of a job. The first step of the job populates a variable for the message to be sent if the job fails, as well as a variable for who it is to be sent to. I have created a template based on the jobfail default template.

Subject is $subject, and in the body of the template I have the variable $myFailMail.

I have a calling job intentionally set to fail. It includes 3 environment which I change with .bset in step 1, and a second step that is designed to fail. Onfail chain is set for the project to call a second project, which has no environment set. The template is set to associate itself with the second job.

First project:
Step 1:
.bset env "notify=jgryder@chubb.com"
.bset env "myFailMail=What seems to be the problem"
.bset env "notify=jgryder@chubb.com"

Step 2
cd FictitiousDirectory

Second Project
Step 1

.email $notify


The $notify variable seems to work. The email gets to me, but the subject and message are populated as they would be in the default template.

I have tried prefixing with $BF_CALLER_ in the second project and resetting the variable, i.e.
.bset env "myFailMail=$BF_CALLER_myFailMail" but that doesn't work either.

I've reread the documentation several times, but can't seem to crack the nut. Any help would be greatly appreciated.

Thanks,
Jonas


Hi Jonas,

I just wanted to check that I understand your scenario. I see in your first paragraph that you created a template based on the jobfail default template. Was that actually of the 'Job Fail Message' type? The reason I ask is that for the .email to send a customized template for the project/step, it will have to be of type 'Step .email Message'.

Brent Ulbricht
Developer/Lead - RTC Build

Hi,

I also have a problem to send an email in Fail Chain project:

1. I have a tmplate using 'Step .email Message'
2. From my main project i have chain project called OnFail
3. In the fail project i run 2 commands:
a. .email Guest - this works and send the email to this group
b. .email ${MAIL} - this suppose to send a message to the email i have in MAIL variable, that i have set before i started the project. but i see in the log that this variable value is "/var/mail/builder" instead of the email string.

Please help,
shiran

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.