用于在 Facebook 墙上发布的 SVN 提交后挂钩

发布于 2024-12-18 06:28:13 字数 241 浏览 3 评论 0原文

我在运行 Windows 7 x64 的本地计算机上使用 Visual SVN Server。

我正在寻找一种最简单的方法来创建一个到我的一些本地存储库的提交后挂钩,允许我将提交信息发布到我的 Facebook 墙上。

如果在提交时我的电脑没有连接到互联网(它是笔记本电脑),那么额外的功能将是对消息进行排队。

最好的解决方案不需要安装任何其他软件。我能够编写 HTTP 连接程序,但是我想使用现有的软件(如果有的话)。

I'm using Visual SVN Server on my local machine running Windows 7 x64.

I'm looking for a simplest way to create a post-commit hook to some of my local repositories, allowing me to post commit information to my Facebook wall.

Bonus feature would be queueing the messages, if at the time of commit my pc isn't connected to Internet (it's laptop PC).

Best solution wouldn't require installing any other software. I am able of writing HTTP connecting program, I'd however like to use existing software, if any could be helpful.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑忘罢 2024-12-25 06:28:13

我已经成功实现了一个解决方案,在每次提交后在 Facebook 上创建一个新的提要对象(即创建一个新帖子)。该配方尚未经过充分测试,您应该将其视为概念证明。我不会使用真实的 Facebook 帐户来测试这一点。

环境:

  • Windows Server 2012、
  • VisualSVN Server 2.5.8、
  • Windows Powershell / Powershell ISE、
  • FacebookPSModule

操作:

为 SVN 服务器的提交消息创建 Facebook 应用程序。

  1. 转到 https://developers.facebook .com/
  2. 应用程序 |选择创建一个新的 Facebook 应用程序,
  3. 使用“The Smart & Shiny SVN Server”之类的名称作为显示名称
  4. 为应用程序请求应用程序域记住URL!),
  5. 记住应用程序 ID

配置 Subversion 提交后挂钩。

必须启用 Powershell 脚本执行< /a> 代表 VisualSVN 服务器服务用户帐户。

  1. 安装 FacebookPSModule (检查 docs),
  2. 启动 Powershell ISE,
  3. 运行命令:

    New-FBConnection -AppID <您的应用程序 ID>; -RedirectUri <您的应用程序域-URL>

    现在您会看到一个带有 Facebook 页面的 Web 浏览器,要求您登录并允许访问 SVN 服务器 Facebook Web 应用程序。登录并同意。

  4. 启动 VisualSVN 服务器管理器,选择存储库并转到挂钩管理,

  5. 选择编辑提交后挂钩,

    >

  6. 输入以下代码并单击“确定”:

    <块引用>

    @echo 关闭
    设置 PWSH=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
    %PWSH% -命令$输入^| %1\hooks\Facebook.ps1 %1 %2
    如果错误级别 1 退出 %errorlevel%
    
  7. 创建C:\Repositories\\hooks\Facebook.ps1并在文件中输入以下代码:

    <块引用>

    $repos = $args[0]
    $rev = $args[1]
    $logmessage = svnlook 信息 $repos -r $rev 
    新 FBFeed -消息“$logmessage”
    

就是这样!尽管消息没有格式化,但该解决方案还有很大的改进空间。这个房间可以比作整个宇宙的大小。

I've managed to implement a solution that creates a new feed object (i.e. a creates a new post) on Facebook after each commit. The recipe is not fully tested and you should consider it as a proof of concept. I would not use a real Facebook account to test this.

Environment:

  • Windows Server 2012,
  • VisualSVN Server 2.5.8,
  • Windows Powershell / Powershell ISE,
  • FacebookPSModule.

Actions:

Creating Facebook application for our SVN server's commit messages.

  1. Go to https://developers.facebook.com/,
  2. Apps | choose to create a new Facebook app,
  3. As a Display Name use something like "The Smart & Shiny SVN Server",
  4. Request App Domain for the application (remember the URL!),
  5. Remember the App ID.

Configuring Subversion post-commit hook.

Powershell script execution must be enabled for the VisualSVN Server service user account.

  1. Install FacebookPSModule (check the docs),
  2. Start Powershell ISE,
  3. Run the command:

    New-FBConnection -AppID <YOUR-APP-ID> -RedirectUri <YOUR-APP-DOMAIN-URL>

    Now you see a web-browser with a Facebook page requesting you to login and to allow access for the SVN server Facebook web app. Login and agree.

  4. Start VisualSVN Server Manager, choose a repository and go to hooks management,

  5. Choose to edit a post-commit hook,

  6. Enter the following code and click OK:

    @echo off
    set PWSH=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
    %PWSH% -command $input ^| %1\hooks\Facebook.ps1 %1 %2
    if errorlevel 1 exit %errorlevel%
    
  7. Create C:\Repositories\<repo-name>\hooks\Facebook.ps1 and enter the following code to the file:

    $repos = $args[0]
    $rev   = $args[1]
    $logmessage = svnlook info $repos -r $rev 
    New-FBFeed -Message "$logmessage"
    

That's it! Though the messages are not formatted and the solution has a GREAT ROOM FOR IMPROVEMENT. The room can be compared to the size of the whole universe.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文