r2 - 2015-12-18 - 21:21:53 - Main.dmmckinnYou are here: TWiki >  Deployment Web > WebPreferences > ClmCurlUtilitySh

Use ClmCurlUtility.sh to access CLM server functions from a command line.

Authors: ErikMats
Build basis: 4.0.3, 6.0.

ClmCurlUtility.sh is a script that allows you to access POST, GET, PUT, DELETE operations on a CLM server from a command line. It handles logins and cookie management (for X-Jazz-CSRF-Prevent).

The script uses "Curl" on Cygwin (Windows) or Linux systems.

It allows you to automatically iterate to create N users or projects, which is handy for testing.

This script uses the same command line parameters as RqmUrlUtility. It does add an -iterations N option to run the same invocation N times. It adds special GET (stdout) and POST (stdin + stdout) options.

Unlike RqmUrlUtility, it does not require XML input.


# DB Ping time once
# 2>/dev/null means: disregard errors. Remove this from the end of the line to get more diagnostic output.
./ClmCurlUtility.sh -command GET -user jazzadmin -password jazzadmin -context ccm -filepath GET -url https://clm.example.com:9443/ccm/service/com.ibm.team.repository.service.internal.IServerConnectionStatusRestService/databasePingTime 2>/dev/null

# DB Ping time three times:
# -iterations 3 means: Run three times.
./ClmCurlUtility.sh -command GET -user jazzadmin -password jazzadmin -context ccm -filepath GET -url https://clm.example.com:9443/ccm/service/com.ibm.team.repository.service.internal.IServerConnectionStatusRestService/databasePingTime -iterations 3 2>/dev/null

# DB Ping time Jazz.net Sandbox:
# Just to make sure this works on multiple hosts
./ClmCurlUtility.sh -command GET -user jazzadmin -password jazzadmin -context sandbox02-qm -filepath GET -url https://jazz.net/sandbox02-qm/service/com.ibm.team.repository.service.internal.IServerConnectionStatusRestService/databasePingTime 2>/dev/null

# Create 50 users, Charlie10000 through Charlie10049
# Echo data fetched from a Firebug request body.
# The string REPLACEME will be replaced with the number of each iteration; 10000, 10001, ...
# -filePath POST causes DATA to be read from stdin, output to go to stdout.
echo "itemId=new&name=CharlieREPLACEME&userId=CharlieREPLACEME&emailAddress=CharlieREPLACEME%40clm.example.com&jsonRoles=%5B%22JazzUsers%22%5D&jsonLicenses=%7B%22add%22%3A%5B%5D%2C%22remove%22%3A%5B%5D%7D" | ./ClmCurlUtility.sh -command POST -user jazzadmin -password jazzadmin -context jts -filepath POST -url https://clm.example.com:9443/jts/service/com.ibm.team.repository.service.internal.IAdminRestService/contributor -iterations 50 2>/dev/null

# Get all QM project areas
# Link grabbed from Firebug log of performing the same operation in the web UI
# Note double quotes around a URL that contains "&".
# Output is saved to projectAreas.xml.
./ClmCurlUtility.sh -command GET -user jazzadmin -password jazzadmin -context qm -filepath projectAreas.xml -url "https://clm.example.com:9443/qm/service/com.ibm.team.process.internal.service.web.IProcessWebUIService/projectAreasPaged?hideArchivedProjects=true&owningApplicationKey=JTS-Sentinel-Id&pageNum=0&pageSize=1000" 2>/dev/null

The script

... to follow

System Requirements


Requires bash and Curl


Requires Cygwin with bash and Curl.
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r2 < r1 | More topic actions
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.