• This repository has been archived on 30/Apr/2024
  • Stars
    star
    380
  • Rank 112,766 (Top 3 %)
  • Language
    PHP
  • Created almost 11 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Run Slack integrations on your own server

DEPRECATED

Please note that this project is no longer maintained.

Hammock

=========

Hammock is a standalone webapp for running Slack integrations. This allows you to modify existing integrations, write new custom integrations, or use certain integrations inside your firewall.

Integrations written for Hammock use the same API as Slack itself, so contributing new Integrations here will allow them to be added to the main Slack integrations list.

Requirements

Hammock requires a webserver running a recent version of PHP.
For integrations that require polling, cron is also required (or at/schtasks on Windows).

Installation

  • Make a clone of this git repository onto your web server
  • Copy lib/config.php.example to lib/config.php
  • Open lib/config.php in a text editor and follow the instructions inside
  • Make sure data/ is writable by your web server
  • Visit index.php in your browser and start configuring

Heroku

You can run Hammock on Heroku using the following commands (you'll need to have installed the Heroku toolbelt already):

cd hammock
heroku create
heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git#redis
heroku config:set HAMMOCK_ROOT=http://{URL-TO-APP}/
heroku config:set HAMMOCK_CLIENT_ID={YOUR-CLIENT-ID}
heroku config:set HAMMOCK_CLIENT_SECRET={YOUR-CLIENT-SECRET}
heroku addons:add redistogo
git push heroku master

All config options are loaded from the environment variables and data is stored in Redis.

Adding integrations

To create your own integrations read the service docs.

You can also check the full service reference documentation.

Roadmap

This version of Hammock is pretty barebones, designed to support simple webhook-to-Slack style integrations first. To better support this, we'll be adding a replay-debugger for capturing incoming webhooks and being able to replay them in a read-only mode while developing.

Future plugins will be able to provide cross-plugin authentication, so that e.g. a GitHub integration can auth you against GitHub once and then allow you to add multiple different integrations for code, issues, gists, etc. and share the credentials. This will be supported by a different subclass of plugins.

The visual appearance of Hammock somewhat matches the Slack services pages, but this will be changed to more closely match, have building blocks for commmon UI elements, and switch the the planned tabbed interface for integration config.

For integrations that require some kind of polling, Hammock will support polling callbacks and handle some API call diffing behavior automatically. Using this mechanism, an integration can register a method to be called when the results of an external API call change.

We also plan to support integrations that are triggered from within Slack, via slash commands and other user-initiated actions.

More Repositories

1

glitch-GameServerJS

The server-side javascript for Glitch that determined all game behavior
JavaScript
252
star
2

glitch-avatars

Art and source for Glitch's customizable avatars
ActionScript
208
star
3

glitch-items

Items, Inhabitants, and other assorted things from www.glitchthegame.com
ActionScript
179
star
4

glitch-client

Source for the Flash-based Glitch client
ActionScript
177
star
5

glitch-locations

Artwork and source from all the locations in Glitch
128
star
6

glitch-hq-android

Glitch HQ Android app
Java
109
star
7

glitch-overlays

Overlays (like max quoin rainbows and achievement badges) from Glitch
96
star
8

services-examples

Examples of third-party integration scripts
Perl
54
star
9

glitch-android-sdk

Glitch Android SDK
22
star
10

glitch-csharp-sdk

Glitch C# / Unity SDK
C#
19
star
11

glitch-objects

17
star
12

avatar-animations

Use animated Glitch avatars in your own apps
16
star
13

doug

A simple bug tracker
PHP
14
star
14

glitch-ios-sdk

Glitch iOS SDK
Objective-C
13
star
15

graphite-render

Our patches to the graphite renderer
Python
13
star
16

jenkins-slack-plugin

A Jenkins CI plugin for posting notifications to a Slack channel
Java
12
star
17

glitch-mash

Demo Glitch API app - vote for the best Glitch outfits.
PHP
11
star
18

chef-handler-slack

Generate Chef reports to a channel in Slack
Ruby
8
star
19

logbot

Simple IRC bot in Node
JavaScript
6
star
20

logbot-perl

IRC logging and reporting bot, written in perl
Perl
6
star
21

sleuth

🕵️‍♂️ A Slack Log Viewer
TypeScript
5
star
22

imgproc

Simple tool to test image processing tools
PHP
5
star
23

get-slack-magic-link

JavaScript
4
star
24

lib_gearman

PHP functions to make working with Gearman easier
PHP
3
star
25

deterministic-versions

🔮 Deterministic versioning algorithm for Electron-based desktop applications
TypeScript
2
star
26

push-alert

github action to send slack notification when commits merged without review
TypeScript
2
star