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
      • Integration Studio
      • 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

Calling HTTP end point from inside QAction

266 views17th April 2025HTTP protocol
2
niranjan C t160 17th April 2025 0 Comments

I am trying to handle paginated HTTP end point and not getting complete data. So planning to handle the logic in QAction and trying to call API inside QAction. Please let me know is it possible to handle in protocol.

Tamara Markešić [SLC] [DevOps Advocate] Answered question 17th April 2025

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
4
Tamara Markešić [SLC] [DevOps Advocate]300 Posted 17th April 2025 6 Comments

Hello,

To implement HTTP paging in a DataMiner Protocol using QActions, it's best to do the following:

QAction that initiates the HTTP session, sets the correct URL parameters (like limit or offset), and stores the response and processor class that encapsulates the logic for parsing each page, detecting the existence of a next page, and storing all the desired data into the protocol's tables.

General workflow is this:
Initial Setup - The QAction sets the initial URL with query parameters, including the desired limit for pagination. Then it triggers an HTTP session that will use that URL.
Handling the Response - When the API response is received, the QAction is triggered again. The response content is deserialized and processed, received data is stored in processor class. If a next page exists (e.g., via a next URL field), a new HTTP session is triggered with the updated URL. If there are no more pages, all collected data is written to the tables.

Hope this helps!

niranjan C t Posted new comment 18th April 2025
niranjan C t commented 18th April 2025

how to trigger a http session from a QAction. please let me know sample

niranjan C t commented 18th April 2025

i tried this way to call HTTP end point inside QAction its not working

public static class QAction
{
public static void Run(SLProtocolExt protocol)
{
try
{
int sessionId = 0;
string url = "<url>";
string method = "GET";
string headers = "<Authorization: token>";
protocol.Log("Entered 1");
var request = new Hashtable
{
{"Url", url },
{"Method", method },
{"Headers", headers},
};
protocol.Log("Enetered 2");
object response = protocol.NotifyClient(300, sessionId, request);
protocol.Log("Enetered 3");
protocol.Log($"QA{response}");
}
catch (Exception ex)
{
protocol.Log($"QA{protocol.QActionID}|Run|Exception thrown:{Environment.NewLine}{ex}", LogType.Error, LogLevel.NoLogging);
}
}
}

niranjan C t commented 18th April 2025

I am not sure which method i need to use for handling http call from this list
https://docs.dataminer.services/develop/api/types/Skyline.DataMiner.Scripting.SLProtocolExt.html

Can you please check this also.

Dario Sarkanovic [SLC] [DevOps Advocate] commented 18th April 2025

Hi,

First you need Group that will trigger that HTTP Session. Here you can find one example how you can trigger HTTP session from timer:
https://docs.dataminer.services/develop/devguide/Connector/ConnectionsHttpImplementing.html?q=httpsession

If you want to trigger HTTP session from QAction, you need to create Trigger first.

Example:

<Trigger id="100">
<Name>OnTriggerFromQAction</Name>
<Type>action</Type>
<Content>
<Id>100</Id>
</Content>
</Trigger>

this trigger will go to Action with ID 100:

<Action id="100">
<Name>Trigger HTTP Session</Name>
<On id="100">group</On>
<Type>execute</Type>
</Action>

This action will execute Group with ID 100

<Group id="100">
<Name>Trigger HTTP Session</Name>
<Type>poll</Type>
<Content>
<Session>1</Session>
</Content>
</Group>

this group will execute HTTP Session with ID 1.

If you want to trigger HTTP session from QAction, you need to trigger that Trigger with ID 100. You can do that simply by calling protocol.CheckTrigger(100);

niranjan C t commented 18th April 2025

Thanks for the reply, I have created Group, Trigger also Session and triggering session from QAction also working.

But i need to call HTTP API end point inside the QAction, I need to handle paginated http end point to get complete data. So i am planning to call API end point inside QAction not from Http Session outside of QAction.

Show 1 more comments
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

Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 Votes
When using the Setter = true attribute, will the copy action always be executed first? 1 Answer | 2 Votes
Multiple Set on Table parameters for DVE’s 1 Answer | 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 (150) 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