标签: webhooks

GitLab 5.2 Post-Receive WebHook

我在与生产网络服务器相同的服务器上运行GitLab v5.2(/ var/www中的Document Root).

我正在尝试设置一个标准的GitLab Post-Receive Hook,但我发现很少有关于如何设置脚本来处理发布的JSON数据的信息.我不打算做任何自定义的事情,只是开箱即用,我想在我的网站位置接收后接收数据(请记住在同一台服务器上),然后在收到时从origin-master拉出(提供后接收数据源于推送到主分支).这样,在/ var/www中找到的网站总是与主人相同.

有人可以,从帖子数据中给我一个拉动脚本的例子,或者指向我正确的方向让我创建一个?

GitLab Hook请求示例 - 对于那些没有GitLab实例的人,这里是GitLab Post-Receive JSON数据的样子(直接来自GitLab帮助)

{
 "before": "95790bf891e76fee5e1747ab589903a6a1f80f22",
 "after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
 "ref": "refs/heads/master",
 "user_id": 4,
 "user_name": "John Smith",
 "repository": {
   "name": "Diaspora",
   "url": "git@localhost:diaspora.git",
   "description": "",
   "homepage": "http://localhost/diaspora",
 },
 "commits": [
   {
     "id": "b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
     "message": "Update Catalan translation to e38cb41.",
     "timestamp": "2011-12-12T14:27:31+02:00",
     "url": "http://localhost/diaspora/commits/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
     "author": {
       "name": "Jordi Mallach",
       "email": "jordi@softcatala.org",
     }
   },
   // ...
   {
     "id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
     "message": "fixed readme",
     "timestamp": "2012-01-03T23:36:29+02:00",
     "url": "http://localhost/diaspora/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
     "author": {
       "name": "GitLab dev user", …
Run Code Online (Sandbox Code Playgroud)

git json webhooks git-post-receive gitlab

8
推荐指数
1
解决办法
5053
查看次数

在braintree的localhost上测试Webhook

我正在研究braintree,我想在我的客户处理定期电子邮件通知,因为我正在使用定期结算,所以每个月都应该将这些自定义通知发送给所有用户.为此,我必须使用webhooks检索当前发生的事件,然后根据webhook的响应发送电子邮件通知.(我认为这只是解决方案,如果有人知道另一种可能的解决方案请建议).我想首先在我的localhost上测试webhooks,并且我尝试创建一个新的webhook并指定localhost路径作为目标来检索webhooks.但这显示错误"目的地未经验证"..........

我的道路是:" http://127.0.0.1:81/webhook/Accept "

asp.net-mvc azure webhooks braintree

8
推荐指数
1
解决办法
2926
查看次数

条带webhook身份验证 - Ruby

我的ruby-on-rails应用程序使用条带进行卡支付.Stripe提供了一些webhooks,通过它可以联系我的应用程序,并提供有关每个事务的详细信息 - 成功或失败.

为此,我在我的控制器中有这样的事情:

class StripeController < ApplicationController
  def webhook
    data_json = JSON.parse request.body.read
    p data_json['data']['object']['customer']
  end
Run Code Online (Sandbox Code Playgroud)

我的问题是如何验证此webhook的真实性?根据我的知识和理解,人们很容易模仿这种情况(中间人攻击).

ruby ruby-on-rails webhooks stripe-payments

8
推荐指数
3
解决办法
3091
查看次数

强调文字张贴到松弛

我试图看看是否有一种方法可以强调发布松弛的文本.我正在使用webhook将消息发布到松弛状态.

webhooks slack

8
推荐指数
2
解决办法
7344
查看次数

Jenkins:访问shell中的bitbucket有效负载

根据Jenkins的bitbucket插件(https://wiki.jenkins-ci.org/display/JENKINS/BitBucket+Plugin)的文档,应该可以通过环境变量$ BITBUCKET_PAYLOAD访问有效负载信息.但是当我在构建中运行命令printenv时,没有名为$ BITBUCKET_PAYLOAD的环境变量,并且没有任何相关内容.因此,我无法访问配置构建所需的信息.

bitbucket environment-variables payload webhooks jenkins

8
推荐指数
1
解决办法
940
查看次数

订阅续订时是否引发了customer.subscription.updated事件?

我很困惑为什么Stripe的文档表明customer.subscription.updated当我认为事件不应该被触发时:

  • Stripe subscription对象具有属性current_period_start,current_period_end只要客户成功支付订阅的发票,就会更新这些属性(https://stripe.com/docs/api#subscriptions)
  • customer.subscription.updated事件的文件说明它......

    订阅更改时发生.示例包括从一个计划切换到另一个计划,或将状态从试用切换到活动.

    ......这意味着如果current_period_startcurrent_period_end值发生变化会引发事件,但是如果它确实存在或者在这种情况下不确认,则不会确认事件.

    然而,这在第三方网页指出,当成功执行了更新它不是提高(https://www.masteringmodernpayments.com/stripe-webhook-event-cheatsheet#8).

  • 但提升这一事件是有道理的......

  • 当然,如果应用程序需要监视单个事件类型(即customer.subscription.updated),那么它将大大简化程序代码,而无需同时监视invoice.payment_succeeded,invoice.createdcharge.succeeded.
  • 但是,订阅生命周期(https://stripe.com/docs/subscriptions/lifecycle)的文档完全没有提及该customer.subscription.updated事件.

看起来很奇怪,这样一个适当的事件在它应该的时候不会被提出.文档也没有说明何时更新current_period_endcurrent_period_start值,这限制了它们的实用性.

所以在我的应用程序中,在收到一个invoice.payment_succeeded事件后,我的程序代码如何确定客户的订阅期何时结束呢?

webhooks stripe-payments

8
推荐指数
2
解决办法
3150
查看次数

如果我的服务器无法接收,Stripe API会重试Webhook请求吗?

如果我设置一个Stripe Webhook来发送请求,http://my.website.io但由于某种原因,我的服务器当时关闭或以某种方式无法处理请求,Stripe会重试请求吗?或者我是否需要负责轮询它们以确保我的数据副本是最新的?

我在Stripe的文档中找不到有关重试Webhook请求的任何内容(我可以理解为什么他们不会这样做),但我只是想确保我没有错过它.

提前致谢!

webhooks node.js stripe-payments

8
推荐指数
1
解决办法
2770
查看次数

Laravel Cashier活动

我正在使用Laravel cashier 7.0,我想在订阅成功后解雇一些方法.我希望会有一些我可以听的事件,但情况似乎并非如此(除非我错过了它们).

Stripe是我正在使用的支付提供商,如果这有所不同.(stripe-php包.)

我错过了一些明显的东西吗

我知道有很多方法可以做到这一点,但我正在寻找一个优雅的解决方案.

php webhooks laravel stripe-payments laravel-cashier

8
推荐指数
1
解决办法
404
查看次数

用Webhooks替换Github电子邮件服务

现在我们正在使用Github电子邮件服务,以便我们的团队在进行更改时收到通知.但是,很快Github服务将被弃用.我想知道是否有任何预先存在的服务可以复制Github电子邮件服务产生的行为.这将节省我们很多时间,我们不必为了处理这个webhook而运行服务器.

谢谢

github webhooks github-services

8
推荐指数
1
解决办法
255
查看次数

Stripe:网络钩子事件顺序

您应该如何处理通过 webhooks 接收的事件可以以随机顺序接收的事实?

例如,给定以下有序事件:

  • A:invoiceitem.created(数量为1)
  • B:invoiceitem.updated(数量从 1 到 3)
  • C:invoiceitem.updated(数量从 3 到 2)

您如何确保接收 CAB 不会导致数据损坏(即数量为 2 而不是 3)?

如果 Event#data 中的 previous_attributes 与当前 state 不对应,您可以拒绝 webhook,但是如果您的本地模型已经更新,您就会被卡住,因为您永远不会发现自己处于 webhook 期望的状态。

或者,您可以使用将任何 webhook 视为检索和更新对象的提示。您只需忽略 webhook 发送的数据并始终检索它。即使您收到按 update/delete/create 排序的事件,它也应该可以工作,因为 update 实际上会创建对象,delete 会删除它,而 create 将无法检索对象并且什么都不做。但是,每次 webhook 将数据作为事件数据提供时,都感觉检索数据是一种资源浪费。

之前有人问过这个问题但答案不包括上述解决方案。

谢谢

api webhooks stripe-payments

7
推荐指数
1
解决办法
1052
查看次数