Since a couple of days, all the intent parameters in Dialogflow CX projects are incorrectly marked as Redacted in the Google stackdriver logging. However, in Dialogflow I haven't marked the 'Redact in log' option anywhere.
was: transcript: "example text here"
now is: transcript: "$parameter_redacted"
happens to all parameters I use in all my projects. Are more people having this issue or am I missing something?
Thanks in advance.
Related
I'm integrating SagePay Server and am stuck at step 4 here: https://developer-eu.elavon.com/docs/opayo-server/taking-payments
I get this error: Server error 5006: Unable to redirect to Vendor's web site. The Vendor failed to provide a RedirectionURL.
I know there are quite a lot of suggestions for this error out there. That it basically means there is something wrong with your code on the Notification URL.
I know it is completing the previous steps fine (I get the correct response parameters), I have made sure Opayo's IPs are allowed, the MD5 signatures match.
I think the problem is how I am "Responding to the Notification Post".
I am doing a standard WebRequest to send our RedirectUrl to SagePay - but the link here - SagePay RedirectURL failure - suggests it doesn't need that. Rather I should just "write to the simple Response object." The trouble is, I don't know what they mean by that.
Any help / experience with this, much appreciated.
Jon
I hope this answer isn't too late to be useful to you.
You're suffering from the main issue I've always had with Opayo (formerly SagePay) - namely that their integration guides for developers are terrible.
As the Opayo Server integration method is identical to the old SagePay version, I found it helpful to follow the much more in-depth instructions from before they rebranded. You can find those instructions here:
https://www.opayo.co.uk/file/12246/download-document/SERVER_Integration_and_Protocol_Guidelines_010814.pdf
In answer to your specific question, you can refer to page 68 of the above PDF guide. RE: You acknowledge receipt of the Notification POST, quote, "This is the plain text response part of the POST originated by the Server in the step above. Encoding must be as Name=Value fields separated by carriage-return linefeeds (CRLF)."
Literally, your script just has to print or echo something along the lines of:
Status=OK\r\n
StatusDetail=Hashes match - proceeding\r\n
RedirectURL=https://www.yoursite.com/endpointpage/
Or the equivalent for errors, aborts, etc.
Bear in mind that any output not formatted like the above will break the foldback process, so you must supress any errors or warnings your script might generate (ideally capturing them in a log or some other way).
Opayo give you basically no help in bugfixing, so if you continue to encounter errors you pretty much have to work in the dark.
I'm trying to set the changelog via Fastlane:
changelog = changelog_from_git_commits(
commits_count: 1)
upload_to_testflight(changelog: changelog)
This causes the following error:
Could not set changeling: {"code"=>"ITC.apps.tf.build.missing.primary.test.info", "description"=>"Missing primary test info."}
This is an app used for internal testing only. I didn't fill in any information on "Test Information" because I don't want to accidentally release it to external testers.
I tried unchecking the following box:
It still shows the same error message.
What's the minimum amount of information I need to get this to work?
I'm on fastlane 2.108.0. I found some related information here, but that's mainly with ITC.apps.tf.build.test.info.missing.whats.new, which is not the exact error I'm seeing.
Navigate to:
App Store Connect
Choose your App
TestFlight
Test Information
You will probably see this error message up top:
⚠️ Complete test information is required to submit a build for external testing.
You can ignore that. For an internal test to work, you don't need any information on here. However, to get Fastlane's changelog feature working, you'll need to fill in the following details...
primary.test.info
Could not set changeling: {"code"=>"ITC.apps.tf.build.missing.primary.test.info", "description"=>"Missing primary test info."}
You're missing a "beta app description":
test.info.missing.feedback
Could not set changelog: {"code"=>"ITC.apps.tf.build.test.info.missing.feedback", "description"=>"Missing feedback email."}
You're missing the "feedback email":
So as a minimum, you need to fill in the following information when using fastlane's TestFlight changelog feature:
Beta App Description
Feedback Email
The debugging in actions on google is hell. The only usefull thing to do is if you debug in Dialogflow test console, because there you can see exactly where it went wrong. But here you just get this MalformedResponse: 'final_response' must be set. Is there any way to print out console.log so you can see at least in Logs Viewer what went through and what didn't?
Because from this, you can't see anything what went wrong except that conv.ask didn't execute or am i missing something?
insertId: "id"
labels: {
channel: "preview"
querystream: "GOOGLE_USER"
source: "JSON_RESPONSE_VALIDATION"
}
logName: "projects/0/logs/actions.googleapis.com%2Factions"
receiveTimestamp: "2018-08-27T08:01:46.632208192Z"
resource: {
labels: {
action_id: "actions.intent.TEXT"
project_id: "avant2goassistant"
version_id: ""
}
type: "assistant_action"
}
severity: "ERROR"
textPayload: "MalformedResponse: 'final_response' must be set"
timestamp: "2018-08-27T08:01:46.605934393Z"
trace: "projects/0/traces/0"
There are a lot of places to investigate if you get this error.
First check the obvious - that your Intent has fulfillment enabled. At the bottom of your Intent, make sure "Enable webhook call for this intent" is turned on.
If you're sure about that, check the logs for your webhook. You haven't specified how or where your webhook is running, so I can't provide detailed guidance on that, but if you're using the Dialogflow built in editor, you can check out the logs in Firebase. Make sure there isn't an error being thrown.
I often run testing locally (using firebase serve --only functions) and use ngrok to provide a secure tunnel. ngrok also provides a protocol inspector which will let you look at the response you're sending back to Dialogflow.
If you're still having issues, you may wish to turn on Dialogflow logging to Google Cloud. This is on the settings screen (under the gear icon for your project) and towards the bottom. It is off by default - turn it on, and you can follow the link there to see where the logs are. This will show you what is sent to your fulfillment and what you get back.
Much of this information is also in the "Response" and "Debug" tabs in the Actions on Google simulator. You can also look there (or post them on StackOverflow) if you still need help.
Using the Dialogflow simulator isn't sufficient for debugging Actions - the AoG environment sends additional information that the Dialogflow simulator doesn't.
Is there a way to parameter the SonarQube web service to get the line of the code causing a specific error?
For instance, if I parameter the webservice to get all the blocking issues like this:
http://localhost:9000/api/issues/search?severities=BLOCKER
the Json returned gives the line's number of the issues but not the line's code. How to have the code of those lines?
Otherwise, is there a possibility to get a link to the line causing the error?
Thank you in advance
Check out the WebAPI documentation embedded in your SonarQube server (linked at the footer). For your specific use-case you'll see that this is a good match: api/sources .
I installed dredd - API Blueprint Testing Tool and trying to test our APIary API against the implementation.
In the blueprint I have just one resource which is correctly implemented on somehost... but test fails :(
test command:
dredd apiary.apib http://somehost.de:8443/imp-endpoint
output:
Info: Beginning Dredd testing...
undefined
I tried also with more options to get more information what is undefined.. like -l verbose and some other options. But I did not get more information about the failure :(
Does anyone have experience with it? Thank you!!! :)
Answered on Github but I'll reproduce the main points here for reference:
I wasn't able to to reproduce your "undefined" problem, but there are a few issues that, when corrected, make everything work.
At the moment, the base url can't have a path in it (see #43). This is solved in #45 but hasn't yet been merged. So your command should be 'dredd apiary.apib http://somehost.de:8443/' and then '/imp-endpoint' should be a prefix on the urls.
The URI template is incorrect in your apib file. Instead of /api/V0/Resources/CarSharing/Cars?{lat}&{lng}&{radius}, it should be /imp-endpoint/api/V0/Resources/CarSharing/Cars{?lat,lng,radius}. See RFC6750 for reference.
The line-endings should be Unix style, not Windows (\n, not \n\r). When I first ran the apib you provided, I got the error: the use of carriage return(s) '\r' in source data isn't currently supported, please contact makers (this is actually enforced by the blueprint parser, see snowcrash)
Hope that helps! I get a 401 when running the test, so you'll need to provide HTTP Basic authentication information (this can be done in the header section of the blueprint or with the -u flag on dredd, as in -u username:password)