JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.
If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.
If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.
| CodeSonar® 9.2p0 | CONFIDENTIAL | CodeSecure Inc |
You can use a script to rename an existing analysis from the command line.
This task provides a batch file for renaming a specified analysis, along with some suggestions for modifying the script to suit your needs.
For other scripting options, see:
The file requires that special user Anonymous has the following permissions for the analysis A of interest.
See Modifying the Batch File for information on modifying the file to specify credentials for a non-Anonymous user with the required permissions.
Use the cURL shipped with CodeSonar: $CSONAR/third-party/curl/inst/bin/curl, where $CSONAR is the CodeSonar installation directory. Either:
The following file will change the name of
@ECHO off set CALL_DIR=%CD% set HUB=%1 set ANALYSIS_ID=%2 set NEW_NAME=%3 set ANALYSIS_HTML_URL=%HUB%/analysis/%ANALYSIS_ID%.html set CURL_CMD=curl (%CURL_CMD% -d new_name=%NEW_NAME% %ANALYSIS_HTML_URL%) exit /b
This batch file uses an HTTP POST request to send the new analysis name to the hub, just as the web form on the Analysis page would do if you were changing the name in the web GUI. It outputs the updated Analysis page HTML.
To use this file with your hub, do the following.
| protocol | is the protocol for your hub: http or https. |
|---|---|
| host:port | is the location of your hub. |
| aid |
is the analysis
ID for the analysis whose name you wish to
change. You can find the analysis ID:
|
| newname | is new name you wish to set for the analysis. It must be URL-encoded. |
Using the hub at http://[::1]:7341, change the name of the analysis with ID 3 to "My Renamed Analysis":
| Get more verbose output |
For more verbose curl output,
edit rename_analysis.bat so that
curl is invoked with the
-v flag. For example:
set CURL_CMD=curl -v |
|---|---|
| No files downloaded |
If there is no HTML output, this indicates that cURL did not
download anything. There are two possible reasons.
|
| Downloaded files contain "Permission Denied" messages | If there is an output HTML file but it contains a "Permission Denied" message rather than an updated Analysis page, this indicates that Anonymous does not have ANALYSIS_READ and ANALYSIS_WRITE permission for the analysis. You will need to specify credentials for a user with these permissions. |
You may wish to make one or more of the following modifications.
If you don't want to see the updated HTML file as part of your script's output, you can redirect it to the null location by modifying your curl command. Note that if you make further changes that you need to debug later, you may wish to lift this suppression at least temporarily.
set CURL_CMD=curl -o nul
Instead of specifying the analysis ID on the command line, you can change the file to read the analysis directory from the command line and then read the most recent analysis ID from the analysis directory.
set ANALYSIS_DIR=%2
set CSONAR=codesonar.exe
for /F "tokens=*" %%g in ('%CSONAR% analysis_id.py %ANALYSIS_DIR%') do (set ANALYSIS_ID=%%g)
For example: using the hub at http://[::1]:7341, rename the analysis whose analysis directory is C:\myprojects\projectX.prj_files\ to "Another Renamed Analysis".
If your hub is configured so that special user Anonymous does not have the required permissions, you will need to edit the file to submit credentials for a suitable hub user account.
We recommend using bearer authentication. Alternative mechanisms are described in the table below.
For bearer authentication, do the following.
set /p BEARER_TOKEN=<path\to\bearerfile
| path\to\bearerfile | is the path to the file containing the bearer token you want to use. |
|---|
CURL_CMD=curl -H "Authorization: Bearer %BEARER_TOKEN%"
For more information about bearer authentication in CodeSonar, see User Sessions and Anonymous Sessions: Bearer Authentication.
| Certificate |
If the hub is configured for certificate-based
authentication, you can edit the file to
specify a suitable user
certificate.
|
||||||||
|---|---|---|---|---|---|---|---|---|---|
| Hard-Coded Username/Password |
If you will be running the batch file under secure
conditions, you may be willing to specify the account username
and password
directly in the batch file invocation.
For example, if your hub location is http://[::1]:7340 and the hub user account has username jean and password xyz123, the first argument to the batch file would be http://jean:xyz123@[::1]:7340. Example: Use the hub user account with username jean and password xyz123 to authorize renaming the analysis with ID 3 on the hub at http://[::1]:7340 to "IMPORTANT! Keep This!":
rename_analysis http://jean:xyz123@[::1]:7340 3
IMPORTANT%21%20Keep%20This%21
Username, password, and new name must all be URL-encoded.
|
||||||||
| Username/Password: Other | See the curl man page for alternative username/password authentication mechanisms. |
See CodeSonar HTTP API: Authentication for more information on authentication strategies.
You can follow the overall structure of this file to create batch files that download other kinds of file from the hub.
In general, the process for constructing a file will be along the following lines.
You can use your system tools to arrange for the batch file to be run automatically.
(Note: many use cases for automatic renaming could be addressed more straightforwardly by using the -name option to set the analysis name when the analysis is performed.)
Note. This page contains references to HTTP API documentation, which is served directly by the hub and cannot be accessed via a file:// URL. For active HTTP API documentation links, start a hub (if one is not already running), then open the manual from the hub.
To report problems with this documentation, please visit https://support.codesecure.com/.