ruby-on-rails - 我可以使用 github-services hook 将我的提要发布到其他服务吗?

标签 ruby-on-rails ruby api github github-services

Github 已经开发了 github-services hook 来将提交推送到其他服务,如 bugzilla、campfire、basecamp ..

是否可以使用相同的 github-services Hook 将我的应用程序数据推送到其他服务?如果是,我该如何整合 github-services到我的 Rails 应用程序。

有什么帮助吗?有什么建议吗?

更新 我可以将 github-services hook 源代码作为 Sinatra 应用程序集成到我的 Rails 应用程序中吗?我如何从我的应用程序触发器中调用其他服务(bugzilla、campfire、basecam、twitter) Hook ?

例如,当一个用户在其他用户的墙上发帖时,消息应该发送到其他服务,如 bugzilla、campfire、basecamp、twitter ...

最佳答案

Post-Receive Url 是执行此类通知的最简单的钩子(Hook)。每当对存储库执行 push 时,它都会触发对预配置 Url 的 POST

你可以从这个 Github.help page on testing web hooks开始 以了解所发布内容的格式以及服务的 react 方式。这要归功于一项非常有用的服务:PostBin .

这个帮助页面给出了一个简单的例子,说明在 Sinatra 服务器上必须实现什么来解析 POSTed JSON:

post '/' do
    push = JSON.parse(params[:payload])
    "I got some JSON: #{push.inspect}"
end

这个 gist 更进一步,展示了一些非常基本的 JSON 数据提取。

如果你想更进一步,你可以配置,通过GitHub API , 一些 additional hooks 收听更多事件(新问题、新分支、下载...)。

关于ruby-on-rails - 我可以使用 github-services hook 将我的提要发布到其他服务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8598454/

相关文章:

ruby-on-rails - 警告:constant::Fixnum 在生成新模型时被弃用

ruby-on-rails - 在 Rails 中,获得显示名称但使用 ID 的自动完成的最佳方法是什么?

ruby-on-rails - ROR 事件记录在哪里检查

javascript - 设置变量而不是用户输入

没有 API 的 iOS 应用程序,替代品?

ruby-on-rails - 在 Rails 中,在特定时区创建特定时间(不是现在)的最好方法是什么?

ruby-on-rails - 未找到 Ubuntu 11.10 RVM

ruby - 生成适合 Ruby 中概率分布的数字数组?

ruby - 在运行时继承一个新的类方法

api - 我的 App 获得批准并已在 App Store 中后,如何更改其背景