我让 GitLab Community Edition 8.15.2 使用 webhook 成功触发 Jenkins 2.32.1 中的管道项目。我希望 gitlab 推送触发带有参数的构建,但当它通过时参数值为空,因此构建失败。
gitlab webhook 如下所示:
http://jenkins.server:8080/project/project-a/buildWithParameters?MYPARAM=foo
在我的管道项目中,我回显参数值
echo "MYPARAM: ${MYPARAM}"
并且它没有设置任何内容。关于我哪里出错了有什么想法吗?
更新
我在管道中使用的实际代码是:
node {
try {
echo "VM_HOST: ${VM_HOST}"
echo "VM_NAME: ${VM_NAME}"
stage('checkout') {
deleteDir()
git 'http://git-server/project/automated-build.git'
}
stage('build') {
bat 'powershell -nologo -file Remove-MyVM.ps1 -VMHostName %VM_HOST% -VMName "%VM_NAME%" -Verbose'
}
...
}
}
Run Code Online (Sandbox Code Playgroud)
该参数VM_HOST有默认值,但VM_NAME没有。在 Jenkins 的控制台输出中我可以看到:
[Pipeline] echo
VM_HOST: HyperVHost
[Pipeline] echo
VM_NAME:
Run Code Online (Sandbox Code Playgroud) 我正在使用 Zapier 通过 webhook POST 到 Keen 流中,但我的值以字符串形式发送到 Keen,例如 {"amount": "50"}。有没有办法让Keen(或Zapier)将“50”转换为int(50)?
我遇到了称为 webhook 和发布者/订阅者的概念。在 webhook 中,每当依赖应用程序中发生更新时,第三方应用程序都会发送信息,第三方将向您的应用程序的提及 URL 发送 HTTP post 请求,在发布者和订阅者中,订阅者将注册主题,发布者在该主题上写入然后注册商(如第三方)将根据订阅的主题将信息发送给订阅者。
两者相似还是不同?
我很困惑有人可以解决这个问题吗?
查看文档,每个事件都有一个“Webhook 事件名称”,但似乎没有在 Webhooks 的有效负载中发送。
如果您创建一个侦听多个事件的 Webhook,那么(除了鸭子类型之外)您如何能够区分哪个事件是触发该钩子的事件?
我正在尝试使用播放框架应用程序设置条带支付。我在设置 webhook 时遇到问题。
com.stripe.exception.SignatureVerificationException: No signatures found matching the expected signature for payload
Run Code Online (Sandbox Code Playgroud)
这是我尝试构建从条带发送的事件时不断收到的错误。我打印出正文和签名的值,它们看起来应该是正确的。这是我用来收集 webhook 的代码。
def webhook = Action { implicit request: Request[AnyContent] =>
println(request.headers.toMap)
val bodyOp:Option[JsValue] = request.body.asJson
val sigOp:Option[String] = request.headers.get("Stripe-Signature")
var event: Event = null
if (bodyOp.isEmpty || sigOp.isEmpty) {
WebhookController.logger.write("EMPTY BODY OR SIG body-"+bodyOp+" sig-"+sigOp,Logger.RED)
BadRequest
} else {
val body = bodyOp.get.toString
val sig = sigOp.get
println(body)
println(sig)
try {
event = Webhook.constructEvent(body, sig, "whsec_5XwS8yCNOcq1CKfhh2Dtvm8RaoaE3p7b")
val eventType: String = event.getType
eventType match {
case …Run Code Online (Sandbox Code Playgroud) 我试图找到一种curl在 Zapier 上的 Webhook Zap 中运行此命令的方法,但我似乎无法弄清楚。我将如何在 Webhook 中输入它?将它作为CodeZap运行会更好吗?
curl -X POST "https://api.zoom.us/v2/users?access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmY3FvTHlyRVRpR3VmWmw2dW1ZU2NBIiwiaWF0IjoxNTI4Njc0OTUxLCJleHAiOjE1Mjg2OTI5NTF9.fvDzS8-UtHyO_YUF5-eqLyuopAuoL48SRwKxcOV1YrE" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"action\": \"create\", \"user_info\": { \"email\": \"test@test.com\", \"type\": 1, \"first_name\": \"Chris\", \"last_name\": \"G\", \"password\": \"Test54321\" }}"
Run Code Online (Sandbox Code Playgroud) 我正在为天气使用 Dialogflow 履行网络钩子。
Dialogflow 显示“启用“Google 助理”集成后,您只能在履行 url 中使用 https://”
所以,我尝试了 https url 的自签名证书。但我无法得到 webhook 响应。
我不能对 webhook url 使用自签名证书?
感谢您的任何帮助!
我已经为 sendgrid 设置了一个端点来发送事件通知。但是,服务器设置了基本身份验证,并且事件不会通过,因为它们未经身份验证。如何通过 SendGrid 或白名单 SendGrid 对这些事件 webhook 进行身份验证?
所以我有一个警报通道,它通过传入的 webhook 从 slack 收集消息。它是我们用来监控这对通常无问题运行的应用程序的众多工具之一,但如果出现问题,我们想立即知道,以便我们可以采取措施。我收到电子邮件等,但我也想要频道范围内的松弛消息。
我正在尝试做的事情似乎很简单,但它不起作用。我想触发 @channel 或 @here 消息以提醒当时频道中的所有用户,因此如果错误发生在重要的环境中,每个人都会收到通知。我正在使用 <@ABC123> 频道 id 跟踪文档中的示例,但它没有转换为 @here 指令,它只是纯文本。
我正在做的事情无法完成,或者更有可能我在某处遗漏了某些东西或错误地处理了这个问题。我猜是后者,但在这一点上确认我不能做我想做的事情很好,我会想出别的办法。
我正在使用逻辑应用程序创建一个 webhook(在日志搜索警报中使用),然后将警报负载推到松弛状态。我正在尝试将警报有效负载数据(以松弛)一个 url 发送到实际警报详细信息页面,而不是使用内置字段linkToSearchResults,因为该 url 很大,因为我的查询很长。我本质上想要一个友好的 url,类似于 azure 用于在 Azure Monitor 中查看警报的电子邮件模板中提供的 url 。我无法找到将这个链接放在一起的方法,我知道我可以在我的网络钩子的警报上使用自定义 json 有效负载,但是我将如何生成这个友好的 url?