You can specify that a property takes a value from an XML
or JSON file over HTTP. Then, when you run the process, the server
prompts you with a list of values from that file.
Before you begin
On a computer that is accessible from the
IBM® UrbanCode™ Deploy, host an
XML or JSON file that contains the values for the property. You can format this file in several
different ways. You must also identify the path to the values with three parameters. Examples of
these path parameters are included with the example files.
The simplest way to format the file is
to provide a simple list of values for the property, as in the following
examples:
<company>
<employee>Alice</employee>
<employee>Bob</employee>
<employee>Chris</employee>
<company>
For
XML files, you use XPath to specify the path to the values. In the previous XML file, the
Base Path parameter is the XPath expression
//company/employee
and parameters
Value Path and
Label Path are
blank.
The following example shows the equivalent file in
JSON:
{
company: {
employee: [
"Alice",
"Bob",
"Chris"
]
}
}
In the previous JSON file, the
Base Path parameter is
company.employee and parameters
Value Path and
Label
Path are blank.
You can include separate label and value information in the file.
For example, the following XML file includes names and ID
numbers.
<company>
<employee>
<name>Alice</name>
<id>1</id>
</employee>
<employee>
<name>Bob</name>
<id>2</id>
</employee>
<employee>
<name>Chris</name>
<id>3</id>
</employee>
</company>
In
this case, the
Base Path parameter is the XPath expression
//company/employee. The
Value Path parameter is an XPath
expression that shows the path to the value relative to the base path; in this case the expression
is
./id. Similarly, the
Label Path parameter an XPath
expression that shows the path to the label relative to the base path; in this case the expression
is
./name.
The following JSON file is equivalent to the previous XML
file:
{
company: {
employees: [
{ name: "Alice", employee.id: 1 },
{ name: "Bob", employee.id: 2 },
{ name: "Chris", employee.id: 3}
]
}
}
In
this case, the
Base Path parameter is
company.employees. The
Value Path parameter is
employee\.id and the
Label
Path parameter is
name.
Note: When specify the path for a JSON file,
escape periods in attribute names with backslashes, as in the Value Path
parameter in the previous example.
When you use attributes in an XML file, use the
@ character to specify an attribute in XPath. For example, the following XML file
has values in
attributes:
<company>
<employee id="1">Alice</employee>
<employee id="2">Bob</employee>
<employee id="3">Chris</employee>
<company>
In
this case, the
Base Path parameter is the XPath expression
//company/employee. The
Value Path parameter is
./@id and the
Label Path parameter is a period
(
.).
About this task
You can use these remote property values in property definitions,
such as component environment properties, but not in general properties
such as system properties, application properties, or component properties.
Results
Now when you run the process, the
Run Process window
includes a parameter that retrieves values from the external file.