This repository delivers StackStorm Chatops in a form of packages and docker image. The package includes hubot, hubot-stackstorm and pre-installed adapters for many Chat services.
For instructions to install st2chatops package from repos, please refer to StackStorm installation instruction for Deb-based or RPM-based distributions.
Make sure you've added StackStorm repos before installing the package.
Refer to official node documentation on installing NodeJS from packages.
Building of the packages is handled automatically by CircleCI. In case you'd like to run it locally, you can use our building pipeline by running docker-compose:
docker-compose run ${DISTRO} build
Where ${DISTRO} refers to flavor name. See docker-compose.yml file for the list of supported flavors.
-
Pull the StackStorm/hubot image:
docker pull stackstorm/hubot
-
Set a hostname or IP address that will be accessible form a docker container, as $ST2_HOSTNAME environment variable:
export $ST2_HOSTNAME={MY_STACKSTORM_HOST_NAME}
-
Use
st2chatops.env
to store the settings. The example uses Slack; set appropriate environment variables for other Chat Services: Slack, Microsoft Teams, HipChat, Cisco Spark, Flowdock, IRC, XMPP, RocketChat, Mattermost. -
Use scripts/st2chatops-docker-run.sh to start the docker container instance. The script is set for Slack; for other Chats, edit it to pass the environment variables as required for your Chat service adapter. Run the script, and ensure that hubot-stackstorm is running and there are no errors:
./st2chatops-docker-run.sh docker inspect -f {{.State.Status}} stackstorm-hubot docker logs stackstorm-hubot
To automatically start
stackstorm-hubot
, use restart policies, or integrate with a process manager. -
Go to your Chat room and begin Chatopsing. Learn more at docs.stackstorm.com/chatops
Grab your favorite Node.JS version (>=8.0, <11.x), and pick your tag. Update Dockerfile
as needed.
- Docker
- Docker Hub Login (only if you're pushing a new version to Docker Hub)
-
Step 0: Log in to docker with
docker login
.- Only have to do this the first time
-
Step 1: Build the image:
docker build -t stackstorm/hubot:<VER> .
- Replace
<VER>
with a version tag
- Replace
-
Step 2: Push the container up:
docker push stackstorm/hubot:<VER>
- Use the same tag specified in Step 1.
-
Step 3: Update the
latest
tag:docker build -t stackstorm/hubot:latest . docker push stackstorm/hubot:latest
-
Step 4: Profit
hubot-slack
is not compatible with coffeescript 2 (issue, PR) yet, so keep thecoffee-script
dependency pinned to1.12.7
coffee-register
is required for dynamicrequire
, but it cannot be updated past1.0.0
because more recent versions (eg:2.0.0
+) require coffeescript version2.0.0
+
Copyright 2015-2019 Extreme Networks, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
By contributing you agree that these contributions are your own (or approved by your employer) and you grant a full, complete, irrevocable copyright license to all users and developers of the project, present and future, pursuant to the license of the project.