use warnings;
use LWP::UserAgent;
require HTTP::Request;
use JSON::PP;
use Try::Tiny;
use Data::Dumper;
my $ip;
my $ips = $self->TicketObj->FirstCustomFieldValue('IP');
my $t_id = $self->TicketObj->Id;
#Debbug
while ( $ip = $ips->Next ) {
$RT::Logger->error( "$ip");
}
my $api_url = "URL/api";
my $api_key = "TOKEN";
my $request;
my $response_content;
my $decoded;
my $job_id;
my $cortex_analyzer_id = 'ANALYZER ID';
my $run_analyzer_uri = "${api_url}/analyzer/${cortex_analyzer_id}/run";
my $json = "{
\"data\": \"$ip\",
\"dataType\":\"ip\",
\"tlp\":0,
\"message\": \"A message that can be accessed from the analyzer\"
}";
$request = HTTP::Request->new(POST => $run_analyzer_uri);
$request->header( 'Content-Type' => 'application/json' );
$request->header( 'Authorization' => $api_key);
$request->content( $json );
my $ua = LWP::UserAgent->new;
my $response = $ua->request($request);
if ( $response->is_success() ) {
$response_content = $response->decoded_content;
$decoded = decode_json($response_content);
$job_id = $decoded->{id};
system("echo $job_id,$t_id,$ip > /var/log/ip_analyzer.txt");
return 1;
}