Summary

The updateVictorOpsAction() mutation updates an existing VictorOps action in a LogScale view or repository. VictorOps actions send an HTTP POST to a VictorOps REST endpoint each time an associated alert fires. The message type — for example, CRITICAL or WARNING — signals incident severity. This mutation performs a full replacement of the action configuration — provide all required fields even if their values are unchanged. The mutation can update the webhook URL, message type, action name, proxy routing setting, or labels. To create a new VictorOps action, use createVictorOpsAction() instead.

Syntax

graphql
updateVictorOpsAction(
      input: UpdateVictorOpsAction!
   ): VictorOpsAction!

Provide the view name, the action ID, and all required fields from the UpdateVictorOpsAction input type. The mutation returns a non-null VictorOpsAction object reflecting the updated action configuration.

Input parameters

All fields in the UpdateVictorOpsAction input type are required. This mutation performs a full replacement — provide all required arguments even if their values are unchanged.

viewName is the name of the view or repository that owns the action. id is the unique identifier of the action to update; use the repository() query to retrieve the current action ID. name is the display name for the action. messageType is the VictorOps message severity string sent with each notification; typical values include CRITICAL, WARNING, INFO, ACKNOWLEDGEMENT, and RECOVERY. notifyUrl must be a valid VictorOps REST endpoint URL; the existing URL is replaced entirely. Set useProxy to true to route the outbound request through the configured HTTP proxy, which is applicable in network-restricted or air-gapped deployments. labels replaces the current label set when provided.

Table: UpdateVictorOpsAction Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
idStringyes Long-Term The unique identifier of the action.
labelsStringyes   Labels to categorize the action.
messageTypeStringyes Long-Term Type of the VictorOps message to make.
nameStringyes Long-Term The name of the action.
notifyUrlStringyes Long-Term VictorOps webhook URL where to send the request.
useProxyBooleanyes Long-Term Defines whether the action should use the configured proxy to make web requests.
viewNameStringyes Long-Term The name of the view of the action.

Example

Raw
graphql
mutation {
  updateVictorOpsAction( input:
       { viewName: "humio",
         id: "abc123",
         name: "my-victory-act",
         messageType: "CRITICAL",
         notifyUrl: "https://victorops.company.com",
         useProxy: false
      } )
  { id }
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateVictorOpsAction( input:
       { viewName: \"humio\",
         id: \"abc123\",
         name: \"my-victory-act\",
         messageType: \"CRITICAL\",
         notifyUrl: \"https://victorops.company.com\",
         useProxy: false
      } )
  { id }
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateVictorOpsAction( input:
       { viewName: \"humio\",
         id: \"abc123\",
         name: \"my-victory-act\",
         messageType: \"CRITICAL\",
         notifyUrl: \"https://victorops.company.com\",
         useProxy: false
      } )
  { id }
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  updateVictorOpsAction( input: ^
       { viewName: \"humio\", ^
         id: \"abc123\", ^
         name: \"my-victory-act\", ^
         messageType: \"CRITICAL\", ^
         notifyUrl: \"https://victorops.company.com\", ^
         useProxy: false ^
      } ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateVictorOpsAction( input:
       { viewName: \"humio\",
         id: \"abc123\",
         name: \"my-victory-act\",
         messageType: \"CRITICAL\",
         notifyUrl: \"https://victorops.company.com\",
         useProxy: false
      } )
  { id }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  updateVictorOpsAction( input:
       { viewName: \"humio\",
         id: \"abc123\",
         name: \"my-victory-act\",
         messageType: \"CRITICAL\",
         notifyUrl: \"https://victorops.company.com\",
         useProxy: false
      } )
  { id }
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  updateVictorOpsAction( input:
       { viewName: \"humio\",
         id: \"abc123\",
         name: \"my-victory-act\",
         messageType: \"CRITICAL\",
         notifyUrl: \"https://victorops.company.com\",
         useProxy: false
      } )
  { id }
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  updateVictorOpsAction( input:
       { viewName: \"humio\",
         id: \"abc123\",
         name: \"my-victory-act\",
         messageType: \"CRITICAL\",
         notifyUrl: \"https://victorops.company.com\",
         useProxy: false
      } )
  { id }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "updateVictorOpsAction": {
      "id": "abc123"
    }
  }
}

Returned values

The mutation returns the updated VictorOpsAction object, reflecting the configuration state after the update. The isAllowedToRun field indicates whether a security policy has disabled the action. The yamlTemplate field contains a YAML representation that can recreate the action. The following table lists all available fields:

Table: VictorOpsAction Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
allowedActions[AssetAction]yes Short-Term A list of allowed asset actions. See AssetAction . This is a preview and subject to change.
createdInfoAssetCommitMetadata  Long-Term Metadata related to the creation of the action. See AssetCommitMetadata.
displayNamestringyes Long-Term The display name of the action.
idstringyes Long-Term The unique identifier of the action.
isAllowedToRunbooleanyes Long-Term Whether action is disabled — usually because of a security policy.
labels[string]  Preview Any labels associated with the action.
messageTypestringyes Long-Term The type of VictorOps message.
modifiedInfoAssetCommitMetadata  Long-Term Metadata related to the latest modification of the action. See AssetCommitMetadata.
namestringyes Long-Term The name of the action.
notifyUrlstringyes Long-Term VictorOps webhook URL where to send the request.
packagePackageInstallation  Long-Term The package, if there is one, of which the action is part. See PackageInstallation.
packageIdVersionedPackageSpecifier  Long-Term The unique identifier of the package of the aggregate alert template. VersionedPackageSpecifier is a scalar.
requiresOrganizationOwnedQueriesPermissionToEditbooleanyes Long-Term True if this action is used by triggers, where the query is run by the organization. If true, the OrganizationOwnedQueries permission is required to edit the action.
resourcestringyes Short-Term The resource identifier for the action.
useProxybooleanyes Long-Term Whether the action should use the configured proxy to make web requests.
yamlTemplateYAMLyes Long-Term A template that can be used to recreate the action. YAML is a scalar.