Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Tutorials
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

post api call on button click

Solved783 views4th October 2024post api protocol togglebutton
0
Chirangee lal Verma [DevOps Advocate]555 1st October 2024 0 Comments
  1. getting data  through  Api call, now for edited and completed job status rows  i need to show start in update job status column and for running job status stop
  2. on toggle i need to send a post api (start or stop ).so how will be the flow for that .

Chirangee lal Verma [DevOps Advocate] Selected answer as best 4th October 2024

4 Answers

  • Active
  • Voted
  • Newest
  • Oldest
0
Chirangee lal Verma [DevOps Advocate]555 Posted 3rd October 2024 1 Comment

hi jose silva,
thanks for reply see this code once i m getting respective data in log but not in table

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Text;
using Newtonsoft.Json;
using Skyline.DataMiner.Net.NetworkDiscovery;
using Skyline.DataMiner.Scripting;

public static class Parameter
{
public static class Jobs
{
public const int TablePid = 210; // Table ID for the Jobs table
}
}

/// <summary>
/// DataMiner QAction Class.
/// </summary>
public static class QAction
{
/// <summary>
/// The QAction entry point.
/// </summary>
/// <param name="protocol">Link with SLProtocol process.</param>
public static void Run(SLProtocol protocol)
{
try
{
// Get the JSON data as a string from a parameter (e.g., parameter ID 200)
string source = Convert.ToString(protocol.GetParameter(19));

// Deserialize the JSON content into C# objects
Rootobject rootObjects = JsonConvert.DeserializeObject<Rootobject>(source);
List<object[]> jobs = new List<object[]>();

// Iterate over each job in the JSON and map it to the table structure
foreach (Job job in rootObjects.Jobs)
{
string buttonAction = GetButtonForJobStatus(job.Job_Status);

protocol.Log(buttonAction + "data for button ");

jobs.Add(new JobsQActionRow
{
Jobname_201 = job.Job_Name,
Jobtype_202 = job.Job_Type,
Jobstatus_203 = job.Job_Status,
Updatedtime_204 = job.Updated_Time,
Nodename_205 = job.Node_Name,
Button_206 = buttonAction,
}.ToObjectArray());
}

// Insert the data into the DataMiner table (with table PID 301)
protocol.FillArray(Parameter.Jobs.TablePid, jobs, NotifyProtocol.SaveOption.Full);
}
catch (Exception ex)
{
protocol.Log("QA" + protocol.QActionID + "|Deserializing JSON text failed: " + ex.Message, LogType.Error, LogLevel.NoLogging);
}
}

private static string GetButtonForJobStatus(string jobStatus)
{
switch (jobStatus.ToLower())
{
case "running":
return "Stop";
case "edited":
case "completed":
return "Start";
default:
return "Unknown"; // Handle unexpected statuses
}
}
}

public class Rootobject
{
public Job[] Jobs { get; set; }
}

public class Job
{
public string Job_Name { get; set; }

public string Job_Type { get; set; }

public string Job_Status { get; set; }

public string Updated_Time { get; set; }

public string Node_Name { get; set; }
}

/// <summary>
/// Class to represent a row in the DataMiner table.
/// </summary>
public class JobsQActionRow
{
public string Jobname_201 { get; set; }// Column 201: Job Name

public string Jobtype_202 { get; set; }// Column 202: Job Type

public string Jobstatus_203 { get; set; }// Column 203: Job Status

public string Updatedtime_204 { get; set; }// Column 204: Updated Time

public string Nodename_205 { get; set; }// Column 205: Node Name

public string Button_206 { get; set; }

// Convert the properties to an object array for insertion into the DataMiner table
public object[] ToObjectArray()
{
return new object[] {
Jobname_201, // Maps to Column 201
Jobtype_202, // Maps to Column 202
Jobstatus_203, // Maps to Column 203
Updatedtime_204, // Maps to Column 204
Nodename_205, // Maps to Column 205
Button_206,
};
}
}

José Silva [SLC] [DevOps Catalyst] Posted new comment 3rd October 2024
José Silva [SLC] [DevOps Catalyst] commented 3rd October 2024

Hi Chirangee,

See my response below

You are viewing 1 out of 4 answers, click here to view all answers.
Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas

Recent questions

On gauge the values are not visible? 0 Answers | 2 Votes
How to implement bearer token refresh? 1 Answer | 4 Votes
Web Applications exception in Cube due to invalid certificate 0 Answers | 2 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin