jenkins - variables not visible - variables

I am trying to display a custom message in the e-mail that is sent after the job is built. I would like to include the svn url and another variable BranchId from where the code was checked out into the email body.
I tried SVN_URL_1 as given in the quick help on fields in the jenkins job-configure page, but it is displayed as it is in the email i.e. I get the actual string $SVN_URL_1 and not the value.
I tried adding a environment variable as shown below
Output is same, I get the string as is $BranchId.
Any ideas how to define such variables and use them later in email message?

I was trying to display the variable as $name, but the correct syntax of displaying any env variable/ parameter passed to the job/ env variable set as above is
${ENV,var="name"}
e.g.
${ENV,var="PATH"}
${ENV,var="BranchId"}

Related

Dynamically generate url for HTTP source

I'm trying to call a http endpoint. For that I need to specify a url that uses a query string to filter data.
Sample URL: http://example.com?date=2017-10-04T22:18.007Z
I need to use the current system time as a value for date query string.
I created a script and assigned the generated url with the current datetime to a variable. However, when I assigned that variable for the url field in the source HTTP definition, it did not resolve the variable.
Is there a way to solve this issue?
I do this all the time. As long as your script is running properly (you can test that with the test feature on the script), you are writing the URL value to a global variable (something like $URL), and you are writing that global variable out in your target (something like [URL]), it should work.
If you want to show your script (just where you are creating the URL), and your target URL field that could help narrow down the problem.

How can we generate Dynamic email field and username for postman

I need to generate a dynamic email address, username for API automation testing in postman. can you help me with this please.
I see two options on how you can get what you need.
Using already defined dynamic variables, such as timestamp: For example where you need a new email address, just use this:
user_{{$timestamp}}#example.com
The request will be sent with something like: user_1497475549#example.com
Define an variable in the pre-request script:
var randomEmail = 'DO YOUR PREFERRED RANDOMIZATION HERE';
pm.setEnvironmentVariable("email", randomEmail);
and use that variable like {{email}} when sending the request.

how to get the number of attachment and its corresponding name in an email to file scenario on Mule?

I am developing an email to file scenario where in I need the number of attachment count and its name so I can pas it to another flow. I know this can be done by MEL on the Variable component but I just cant get the values. Also, I tried to use for each but I can get the counter variable values. Please advise.
To get the count:
#[message.inboundAttachments.size()]
To get the names:
#[message.inboundAttachments.keySet()]

How to use Global Property name in my JSON input request using SoapUI?

I have a SoapUI project which contains around 60 plus services. Each service requires some input which will be changed for every execution. So I have created certain Global Properties and assign some values to that properties.
I have to use these properties values in my SoapUI request ( i.e. JSON Format request ).
If it is groovy script means, I will use like this.
String HTiC_Username = com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.globalProperties['HTiC_Username'].value;
But, how to get the value of the Global Property in the request?
Hope you understand my question. Please provide proper guidance.
Thanks
To dynamically "expand" (i.e. substitute) the value of a property into a test step, the following syntax is used: ${#scope#propertyName}
...where 'scope' refers to the level at which the property has been defined (e.g. Global, Project, TestSuite, TestCase).
So to expand a property named username defined as a Global property, for example, the following code can be used directly within a Request Test Step (e.g within a JSON body, or header value, etc):
${#Global#username}
To access the same property value within a Groovy Test Step, you can use the following syntax:
context.expand('${#scope#propertyName}')
...as in the following example:
context.expand('${#Global#username}')
What we did was the following:
created a test data file to store all the specific input data for the different services (testdata.properties)
Example content of testdata.properties:
Billing_customerID=1234567
OtherService_paymentid=12121212
....
create a SoupUi global parameter (File/Preferences/Global properties): testdata_filepath=C:\...
For specific services we added a Properties test step. You can specify the "Load from" field to our new global parameter: ${#Global#testdata_filepath} Now you can use the Load button to load parameters.
Finally you can reference the parameter in your xml in the following format: ${Properties#Billing_customerID}
Example content of a service with parameter:
...
<BillingCustomerIdentification>
<BillingCustomerID>${#Properties#Billing_customerID}</BillingCustomerID>
</BillingCustomerIdentification>
...
To set up your projects in this manner also helps to automate service tests eg. using Hudson (see my previous SO answer).
If it is too heavy and automation is not a target, you can simply use ${#Global#someinputvariable} format in your xml ;-)

How to use Dynamic Parameters value in ccnet file

I am using dynamic parameter to get value from user when he force build.User provides me publish directory path where i have to publish the solution if build is successful, so can any one please tell me how can i get this value in publishDir section.
Thanks in Advance.
u can refer your parameter by it's name, for example if your parameter name is pubdir then u can call it with following code.
$[pubdir] inside your publishdir section.