-u, --apiBaseUrl
Required.
The base URL to the TeamDynamix Web API (typically ending with "/TDWebApi/"). Be sure to use your organization's custom domain URL for best results.
SaaS Production Example: https://yourTeamDynamixDomain/TDWebApi/
SaaS Sandbox Example: https://yourTeamDynamixDomain/SBTDWebApi/
Install (On-Prem) Example: https://yourUrlToTDWebServer/TDWebApi/
-b, --apiBeid
Required.
The TeamDynamix Web Services BEID value. This is found in the TDAdmin application organization details page. In this page, there is a Security box which shows the Web Services BEID value if you have the Admin permission to Add BE Administrators. You will need to generate a web services key and enabled key-based services for this value to appear.
-w, --apiWebServicesKey
Required.
The TeamDynamix Web Services Key value for an Admin Service Account. This is found in the TDAdmin application organization details page. In this page, there is a Security box which shows the Admin Service Accounts section if you have the Admin permission to Add BE Administrators. You will need to have at least one active admin service account to get a web services key (create or activate one if necessary). Get the Web Services Key value from the desired admin service account to use for this value.
-p, --pendingDirectory
Required. Do not include a trailing \ at the end of the folder path or you will see an Invalid Arguments error!
A Pending directory for this utility to look for new files to send to the TeamDynamix People Import API. Any file found will be submitted to the /TDWebApi/api/people/import
endpoint and then moved to the Submitted directory. Valid file types include .csv, .xls and .xlsx. Files of type .csv or .xls will be converted to .xlsx by this utility and then the converted file will be posted to the API. When a conversion happens, both the original and converted files will be moved to the Submitted or Failed directory after submission to the TeamDynamix Web API.
Example: C:\TeamDynamix\PeopleImports\Pending
-s, --submittedDirectory
Required. Do not include a trailing \ at the end of the folder path or you will see an Invalid Arguments error!
A Submitted directory for the utility to move files to after it successfully submits them to the TeamDynamix Web API for processing.
Example: C:\TeamDynamix\PeopleImports\Submitted
-f, --failedDirectory
Required. Do not include a trailing \ at the end of the folder path or you will see an Invalid Arguments error!
A Failed directory for the utility to move files to if the submission to the TeamDynamix Web API fails. Files will be moved to this directory when an unsupported file type is detected in the Pending directory, if a .csv or .xls file cannot be converted to a .xlsx file for some reason, if authentication to the API fails or the actual POST to /TDWebApi/api/people/import/ fails. If a file is moved to the Failed directory, you can check the logfile.log file for more details about the reason for failure.
Example: C:\TeamDynamix\PeopleImports\Failed
-n, --notifyEmailAddresses
Changed for 10.3
The email address(es) to notify after people imports are processed server-side. To specify multiple values, use a comma as the separator. Notifications will be sent out after processing regardless of whether or not the job is successful or not. Please note that this setting is not for notifying the specified addresses that an upload is posted. It is for after the import is processed by TeamDynamix.
The long name for this switch was previously --notifyEmailAddress since the API only supported a single notify email address. As of TeamDynamix version 10.3, the API supports multiple alert email addresses, so the switch long name was renamed to reflect this.
--batchSize
The row threshold at which to automatically split files. A value of 0 or lower means that no file splitting will occur. A value greater than 0 means to split files in the pending directory into separate smaller files with a batch size of the value specified. In direct database connection mode, a value greater than 0 means to transform the query results into multiple files based upon the specified batch size. The default value is 0 (no batching).
-i, --allowIsActiveChanges
New for 10.3
Whether or not to allow changes to user active status or not. This option only applies to updates for existing user records. If records have to be created, all created records will be set as active. Excluding this flag will equate to a false
value for this option.
-r, --allowSecurityRoleChanges
New for 10.3
Whether or not to allow changes to user security roles. This option is specifically for updates to existing user records. Excluding this flag will equate to a false
value for this option.
-a, --allowApplicationChanges
New for 10.3
Whether or not to allow changes to application access. This option is specifically for updates to existing user records of type User. Excluding this flag will equate to a false
value for this option.
-v, --verifyAndFixXlsxReadErrors
New for 11.4
Occasionally, when a native .xlsx file is passed to the utility which needs no conversion or file splitting (batching), errors are encountered during server-side processing related to Bad signature (X) at position Y
exceptions. If, and only if, you are experiencing this issue, you may need to opt into this flag. When enabled, the utility will attempt to open the .xlsx file for reading. If this action fails, it will re-save the file before submitting to the API to correct read errors. If the re-saved file still cannot be read, it will be moved to the Failed directory with an appropriate message logged. This flag can be used in conjunction with the --batchSize
flag for cases where the incoming file is not large enough to split. Again, only use this flag if you are experiencing this issue as it does incur heavier resource usage.
-t, --testMode
Run this application in test mode. Test mode will validate your API information to ensure that authentication works. Files will not actually be posted to the TeamDynamix API though. Instead, they will be moved to the directory specified as the Submitted directory. If the processor detects a .csv or .xls file, the file will still be converted to .xlsx in test mode. Simply including the -t
flag will turn on test mode. To run in non-test mode, do not include the -t
flag.
-h, --help
Display the help screen.
Example Usage
To run the utility, navigate to the extracted files and call TeamDynamix.ApiUtility.PeopleImporter.exe via the Windows Command Prompt with an account that has Read/Write permissions on the "pending", "submitted" and "failed" directories.
View the Help Menu
TeamDynamix.ApiUtility.PeopleImporter.exe -h
or TeamDynamix.ApiUtility.PeopleImporter.exe --help
Run in Test Mode
TeamDynamix.ApiUtility.PeopleImporter.exe -u "https://yourTeamDynamixDomain/TDWebApi/" -b "00000000-0000-0000-0000-000000000000" -w "00000000-0000-0000-0000-000000000000" -p "C:\TeamDynamix\PeopleImports\Pending" -s "C:\TeamDynamix\PeopleImports\Submitted" -f "C:\TeamDynamix\PeopleImports\Failed" -n "user1@example.edu,user2@example.edu" -irat
Run in Non-Test Mode
To opt into all of the new people import options added in TeamDynamix version 10.3, be sure include -ira
in your command as shown in the example below. If you do not wish to enable these options yet, remove -ira
from your command before running it.
TeamDynamix.ApiUtility.PeopleImporter.exe -u "https://yourTeamDynamixDomain/TDWebApi/" -b "00000000-0000-0000-0000-000000000000" -w "00000000-0000-0000-0000-000000000000" -p "C:\TeamDynamix\PeopleImports\Pending" -s "C:\TeamDynamix\PeopleImports\Submitted" -f "C:\TeamDynamix\PeopleImports\Failed" -n "user1@example.edu,user2@example.edu" -ira