Platform Release Webinars (July 2026): Commvault Cloud SaaS and LTS 11.44
Discuss REST APIs, Workflows, PowerShell, scripting, customization, and more!
Recently active
Hi Support TeamHas anyone encountered and resolved an issue where, after replacing a MediaAgent using the app, the new MediaAgent does not appear in the Storage Policy's primary copy? I'm unsure how to fix this and add the new MediaAgent to the primary copy. (The Jobs for replace mediagent showing all completed)Best RegardsTai Nguyen
I have a situation here, after migration from 11.28.72 to 11.32.45, VM which were added using VM rules using VM tags appeared in different subclient of a Vcenter virtual server and it is impacting SLA since now the VM tag issue is resolved and backup in running under one subclient. Now i need to disable backup activity for the client for other subclient except the original subclientcurrently the VM is appearing in only ine subclient of the vcenter virtual server which is JPAWP, and the VM is not available or not showing under any other subclient. But when we check individual VM , it shows multiple backupset/subclient and it is impacting the SLA. Now i need to disable the backup activity for the VM, for specifc backupset/subclient. Do not disable backup activity on client level because the VM is curently backing up in its original subclient.Now i need to disable backup activity for the VM for all the subclient except the orignal subclient which is JPAWP here.I am creating workflow to ac
Hey,Which API endpoint to use to get Storage Policy for a client? My requirement is to get Storage Policy for all clients, preferably without querying for each client individually. For VM client, I can use the /VM endpoint which lists all the VM with their Storage Policy. I need help with FS clients. Thank You.
What this does is a discovery on a hypervisor sub client and creates a vm pseudo client for any discovered virtual machines.The functionality is outlined here:https://documentation.commvault.com/11.26/expert/104558_creating_vm_clients_before_performing_backup_operations.html In practice it looks like this. Thanks!Chris
Hey! I am developing automation scrips using Commvault APIs for my team. I know the names of primary commserve which I use, BUT whenever a failover happens my API calls of course don’t work as there is no web service active on the primary commserve. Is there a way to know which node the failover happened to using just the APIs? And also get the list of all failover nodes?
via Command Center it is not possible to restore a SQL-database “in place” to an availability group. Does anybody have a workflow or Powershell-Script that can remove the database from the availability group before the restore … and back to the availability group after the restore? Any help is very much appreciated. Best regards. Michael
Hey,I am getting all clients and basic details with /Client endpoint. Is there a way I can also get the client description without making individual API calls for each client? Thank You.
Hi,I’ve seen that I can get a RestAPI call for a report like it is mentioned in that topic: How do I use this URL e.g. in a python script?Have I just to run a command like the following after I’ve done a login? payload={}headers = { 'Accept': 'application/json', 'Authtoken': token}url = <API CALL URL>response = requests.request("GET", url, headers=headers, data=payload) Second Question, which permissions are necessary to keep the user rights as secure as possible? BRJan
Hi Team, I have two different lists with names in it. I want to use each value from both the list inside for each how that can be done in workflow? <App_SetClientPropertiesRequest> <association> <entity> <clientName>xpath:{/workflow/ForEach_1/OldName}</clientName> <newName>xpath:{/workflow/variables/new_name}</newName> </entity> </association> <clientProperties> <client> <clientEntity> <clientName>xpath:{/workflow/ForEach_1/OldName}</clientName> </clientEntity> </client> </clientProperties></App_SetClientPropertiesRequest> xpath:{/workflow/variables/new_name} has a list of names which is not working, everytim it is taking same object it also should work as ForEach value which can be used, any idea or suggestion
Creating a Global Non-Deduplication Enabled Storage PolicyOnce you create a global non-deduplication policy, you can use it to enable global non-deduplication for any storage policy.Download the SP_creation.xml file and save it on the computer from where the command will be executed. Before running the command, review the Available Parameters for Storage Policy Configuration. Execute the following command from the software_installation_directory**/Base folder after substituting the parameter values. qoperation execute -af <downloaded location>\sp_copycreation.xml -storagePolicyName 'xxxxx' useGlobalStoragePolicy 1 -useGlobalPolicy/storagePolicyName "xxxxx" -retainArchiverDataForDays xx -retainBackupDataForCycles xx -retainBackupDataForDays xx -copyName 'xxxxx' For example, to create a global non-deduplication enabled storage policy, with name SP1, that is using SP_GDSP as a global non-deduplication policy, execute following command: Here it is creating a stroge policy using
Where do we get Description of columns for cf_SurveyLibraryThroughput table under CVCloud Database.What is the formula to get avg throughput per day from these parameters in the table[cf_SurveyLibraryThroughput ]?
I have created s3 cloud library , now I need to share the mount path to another MA agent.https://documentation.commvault.com/2022e/expert/adding_new_mediaagent_to_cloud_storage_device.htmlBy Using Device IDhttps://documentation.commvault.com/2023e/expert/files/products/media_agent/xml/ShareMountpath.xmlYou can use the device ID to share a mount path with one or more MediaAgents Here I can see sharing mount path using device IDs, I need the same using names, not IDs I can see xml parameter for Disklibrary , need xml file for cloud lbrary – mount path sharing.
I have the following function setup in a script : JSONObject getVmwareApiOutput(String apiUrl, String vCenterSessionToken){ ExecuteSuperProcess getVmwareApi = new ExecuteSuperProcess(); getVmwareApi.processBlock = WorkflowElement.parse("<processBlock>pbGetVmwareApi</processBlock>"); getVmwareApi.inputs = WorkflowElement.parse("<inputs><url>" + apiUrl + "</url><vmware-api-session-id>" + vCenterSessionToken + "</vmware-api-session-id></inputs>"); getVmwareApi.execute(workflow); JSONObject vmWareApiOutput = new JSONObject(xpath:{/workflow/variables/restCallOutPut}.replace("[","").replace("]",""));return vmWareApiOutput;} This works fine the first time I call the script.But subsequents calls result in the following: 9908 ExecuteSuperProcess : [Search vCenters for Virtual Machines (scrSearchForVirtualMachine)] process block for super process id [9321], has already completed9908 ExecuteSuperProcess : [Search v
Hello everyone, please help me understand if there is such an opportunity in the api? There is such a method - according to the cat, I can get a request from the developers of Commvault - GET <webservice>/Client HTTP/1.1 Yes, it returns a list of all objects, but there is not complete information about the object and there is a method for obtaining complete information - GET <webservice>/Client/{ClientID} HTTP/1.1 The question is that I have a list of unique IDs or Names and I want to upload full information on them right away, but there is no way in Python to do this. Is it possible to do this at all, or will you have to cycle through all the IDs and unload them piece by piece and slowly?
Every once in a while my Java session will crash and leave a workflow “locked” By me, and it won’t allow me to make modifications. I know that restarting the workflow services will unlock it, but there is a way that doesnt require cycling services?
The following imports:import commvault.cte.workflow.activities.HttpClient;import commvault.cte.workflow.types.WebRequest;import commvault.cte.workflow.types.NameValue;import commvault.cte.workflow.types.WebMethod;Produces the following:Script1.groovy: 8: unable to resolve class commvault.cte.workflow.types.WebRequest @ line 8, column 1. import commvault.cte.workflow.types.WebRequest; ^Script1.groovy: 9: unable to resolve class commvault.cte.workflow.types.NameValue @ line 9, column 1. import commvault.cte.workflow.types.NameValue; ^Script1.groovy: 10: unable to resolve class commvault.cte.workflow.types.WebMethod @ line 10, column 1. import commvault.cte.workflow.types.WebMethod; ^
Hello, I'm trying to use the API for virtual machine backup. When I run the Go Lang API sample, the API call works, but the JSON response appears to be not in correct format, as shown in the example below.}7101"d":2706,"jobIds":[I tried changing the "Accept" and "Content-Type" headers to XML to see if I could receive the response in XML, but this does not work for this API, despite working for a few other APIs.However, when I do this API call using POSTMAN, I get a JSON response in format.{ "taskId": 2655, "jobIds": [ "7045" ]}What seems to be the issue here? I need to make the call using Go Lang.API : Backup virtual machines | Commvault®
I have to remove/Delete the VM from commvault using the Rest APIhttps://api.commvault.com/docs/api/cv/OpenAPI3/delete-virtual-machine I have tried test running the api using python and I got the below mentioned error:C:\Users\Ansible_user\Downloads>python vmdel.py WIN-C6TBRLJG6IM <commandcenter username> <commandcenter passwordimport requestsimport urllib#proxies={ #'http':'http://10.***.***.***:8080', #'https':'http://10.***.***.***:8080'#}url = "https://win-c6tbrljg6im/commandcenter/api/V4/VirtualMachines/:<VM UUID>"payload={}headers = { 'Accept': 'application/json', 'Authtoken': '*******'}response = requests.request("GET", url, headers=headers, data=payload, proxies=urllib.request.getproxies())print(response.text)>Traceback (most recent call last): File "C:\Users\Ansible_user\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 779, in urlopen self._prepare_proxy(conn) File "C:\Users\Ansible_user\AppData\Local\Program
HII working with rest api I have a process for checking daily backupsThe process works fine!I need help running a backup check between dateFeb 01, 2024 12:00 AM and Feb 29, 2024 11:59 PMThis is for example part of a URL that I access to get a daily reporturlrest = "/webconsole/api/Job?jobFilter=Backup&jobCategory=all&completedJobLookupTime=86400&limit=500"; // 24 hoursAny help will be appreciated
I am looking to use the vmname to get the details of a vm without having to generate a subclient.Essentially I need the API equivalent of this : When I click preview it searches vcenter, I want the query generated and the output of that search. Thanks.
how to integrate the active directory user in CommVault CommCell console.is there any LDAP configuration require or any other process. (Actually I have a created normal user in CommCell and assigned the role also, it is working. )
I'm curious to learn if there are other Commvault customers who are looking for data protection for Jira Cloud or currently have a point solution running to protect the data that resides in Jira Cloud.
Hi,We are trying to configure Alerts for failed backups. Tested a few scenarios out and it seems there is no way to get notified about failed backup via the access nodes.The access nodes(proxies) are carrying out backup jobs for multiple instances and hoped we would be able to set up only 1 alert definitions for those instances instead of creating individual alerts for all our instances. (plus we hope to be future proof with this, so if any new instances are being onboarded, then we don’t need to amend/create any alerts).Could you confirm that failed backup alerts cannot be configured via access nodes in such way?Is there any alternative that allows us to automatically add newly onboarded instances to alerts to check for failed backups?
Edit:Removed Question, turns out just using the assignment operator works.
I want to automate deletion of client which is already retired, please assist with correct article.I used below , <App_DeleteClientRequest><association><entity> <clientName>xpath:{/workflow/ProcessBlock_6/pb_client}</clientName></entity></association></App_DeleteClientRequest> but gets below error. Delete client automation , automatically evokes DeleteClientAuthorization, not sure what to do here. Error Code: [19:857]Description: startup failed: Script1.groovy: 7: Unexpected input: '{ timeout = v_26695f15_7028_414d_a7c7_a074e9e7358f * 1440*60; //Convert timeout in days to unix time workflow.setVariable("VAR_TIMEOUT",timeout); } else { workflow.setVariable("VAR_TIMEOUT",14400*60); //If timeout is not set in configuration, set default timeout as 10 days and converting it to unix time }' @ line 7, column 371. d converting it to unix time } ^ 1 errorSource: ap1smacvcmc002, Process: Workflow
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.