Synthetic monitor for graphql

Hello everyone, I will create a synthetic monitor for API based on graphql. Does Dynatrace support queries and / or mutation for this language in the post-scripting stage?

Hello @MARCOS Q.

Have a look at the below link for relevant information. It may help out.

Regards,

Babar

Tank u @Babar Q. for answer my question, but I have other question about ‘postProcessingScript’ object. How to I add my query with variables of the authentication steps, a query exemple below:

{<br>    "step" : "stepOne",<br>    "variables" : {<br>        "input" : {<br>            "identifier" : "XXXXXXXXX"<br>        }<br>    },<br>    "query" : "query step($input: stepInputType) {\n  step(input: $input) {\n    result {\n      step\n      __typename\n    }\n    token\n    sessionId\n    __typename\n  }\n}\n"<br>}

How to I capture a session or tokens and declare on the ‘postProcessingScript’? I have steps for capture this values?

I will capturing informations in the ‘stepOne’ and next transaction use this infos for follow flow.

Regards

@marcos_quintani 
I had a similar request where we needed to query graphql with keycloak authentication to get some information to ingest into Dynatrace.  I ended up writing a python script running on an ActiveGate and sending the data into Dynatrace API.  Maybe this would help you out.

def query(self, **kwargs):
# Create device group within Dynatrace
group1 = self.topology_builder.create_group(“GraphQL”, “GraphQL”)

# Configure client
keycloak_openid = KeycloakOpenID(server_url=self.auth_url,
client_id=self.clientid,
realm_name=self.tenant,
client_secret_key=self.password)

# Get Token
token = keycloak_openid.token(self.username, self.password)
tok = token[‘access_token’]
#logger.info(tok)

headers = {“Authorization”: "Bearer " + tok}
#logger.info(headers)

query = “”"
query {
stats {
summary
tenantStats {
alertQueue {
size
}
ingestStats {
ingestTime
source
}
evalStats {
last
average
}
}
}
}
“”"

request = requests.post(self.base_url, json={‘query’: query}, headers=headers)

Regards,

Mike