slack-bot
Ready to use Slack bot for lazy developers: start Jenkins jobs, watch Jira tickets, watch pull requests with AI support...
Stars: 188
The Slack Bot is a tool designed to enhance the workflow of development teams by integrating with Jenkins, GitHub, GitLab, and Jira. It allows for custom commands, macros, crons, and project-specific commands to be implemented easily. Users can interact with the bot through Slack messages, execute commands, and monitor job progress. The bot supports features like starting and monitoring Jenkins jobs, tracking pull requests, querying Jira information, creating buttons for interactions, generating images with DALL-E, playing quiz games, checking weather, defining custom commands, and more. Configuration is managed via YAML files, allowing users to set up credentials for external services, define custom commands, schedule cron jobs, and configure VCS systems like Bitbucket for automated branch lookup in Jenkins triggers.
README:
This Slack bot improves the workflow of development teams. Especially with focus on Jenkins, GitHub, GitLab and Jira, as the integration is working out of the box. But also custom commands, macros, crons and other project specific commands can be implemented in a simple and flexible way.
- Create a Slack App (press "Press "Create New App"")
- Select "From an app manifest"
- Select your Workspace
- Paste this Yaml code:
Click to expand!
_metadata:
major_version: 1
minor_version: 1
display_information:
name: slack_bot
background_color: "#382e38"
features:
app_home:
messages_tab_enabled: true
messages_tab_read_only_enabled: false
bot_user:
display_name: bot
always_online: true
oauth_config:
scopes:
bot:
- app_mentions:read
- channels:read
- channels:history
- groups:history
- chat:write
- im:history
- im:write
- mpim:history
- reactions:read
- reactions:write
- users:read
- files:read
- pins:write
settings:
event_subscriptions:
bot_events:
- app_mention
- message.im
interactivity:
is_enabled: true
org_deploy_enabled: false
socket_mode_enabled: true
token_rotation_enabled: false- Create the App!
- "Basic information" → "Display Information" → Upload Image (512px+!) + Set a proper name
- "App Home" → "Show Tabs" → Check "Allow users to send Slash commands and messages from the messages tab"
- "Basic Information" → "App-Level Tokens" -> "Generate Token and scopes" -> use "bot token" as token name and "connections:write" as scope
- You will see an App-Level Token (beginning with xapp-). Set it in the config.yaml as "slack.socket_token".
- Basic Information → "Request to install" + "Install to Workspace" continue there
- Then you will get another token (displayed in "Install App" tab), starting with "xoxb-". Use it as "slack.token" in the config.yaml
- In your slack client you can add the bot now in any channel or start a private conversation.
First prepare the config.yaml, just take a look at config-example.yaml
- at least the Slack token+socket-token are required) or take a look in config-example.yaml
- install go (at least 1.22)
- create a config.yaml (at least the Slack token+socket-token are required) or take a look in config-example.yaml
go run github.com/innogames/slack-bot/v2/cmd/bot
- install Docker incl. docker-compose
- clone this repo or at least fetch the docker-compose.yaml
- add your Slack user id or user name in the "allowed_users:" section of the config.yaml
docker-compose up
- install go
- clone/fork this repo
- run
go run cmd/bot/main.goormake runto run the go application
As Slack user, you just have to send a private message to the bot user/app containing the command to execute.
Additionally, you can add the Bot to any channel and execute bot commands in it by prefixing your command with @bot_name, e.g. @slack-bot start job DailyDeployment
Note: You have to invite the bot into the channel to be able to handle commands.
The help command just prints a list of all available commands of this bot.
With help *command* you'll get a short description and some examples for a single command.
The bot is able to start and monitor Jenkins job in a simple but powerful way.
By default, the commands are not available and not visible in the "help", till the "jenkins.host" is defined in the config file.
The start job command starts a Jenkins job and shows the current progress. Attention: only whitelisted jobs in the config are startable!
In additions, each job can have a configurable trigger which make it possible to create custom commands to start jobs. (it's a regexp which takes parameter names into account).
E.g. "start daily deployment" could be the trigger for one Jenkins job. Sending this text to the bot would start the job.
After starting a job, the bot will show the estimated build time and some action buttons. There you can open the logs or abort the build directly.
The bot is also able to parse parameters and lookup branch names using a fuzzy branch search.
Examples:
trigger job DeployBeta-
start job BackendTests TEST-123(search for a full branch name, containing TEST-123. e.g. feature/TEST-123-added-feature-456)
The bot also has the possibility to create one time notifications for Jenkins builds. This might be useful for long-running jobs where the devs are waiting for the result.
Example:
-
inform me about build NightlyTests(watches the most recent running build) -
inform me about build MyJobName #423(specify a build number) -
inform job MyJobName(alternative syntax)
Receive Slack messages for all process builds for the given job:
Example:
-
watch JenkinsSelfChecknotifies about any build of JobJenkinsSelfCheck unwatch JenkinsSelfCheck
Small command to disable/enable job execution on Jenkins side.
Example:
-
disable job NightlyTests(disable job on Jenkins) enable job NightlyTests
When a build failed you are able to retry any build by:
Example:
-
retry build NightlyTests(retries the last build of a job) -
retry build NightlyTests #100(retries given build)
jenkins nodes lists all available Jenkins nodes. The online/offline status and number of executors are visible.

If you just paste a link to a GitHub/GitLab/Bitbucket/Stash Pull request, the bot will track the state of the ticket!
- When a developer was added as reviewer, it will add an "eyes" reaction to show other devs that someone is already taking a look
- When the reviewer approved the ticket, a checkmark is added
- After merging the pull request, it will add a "merge" reaction
You're also able to set custom "approved" reactions. E.g to see directly who or which component/department approved a pull request you can use the name of the reaction or the Unicode character directory
Expand example!
pullrequest:
reactions:
merged: custom_merge_arrow
review: 👀
custom_approve_reaction:
nerdydev: "approved_backend"
iamamobiledev: "approved_mobile"
iamamobiledev2: "approved_mobile"Extra Features:
For Bitbucket, the bot is able to extract the current build status (e.g. from Jenkins/Bamboo etc) and show failed and running builds (fire reaction) as a reaction (circle arrow reaction). When the build is stable, the build reactions disappear.

The queue command (with the alias then) is able to queue the given command, until the currently running command finished.
Example following scenario: you have a build job (which might take some minutes) and a deploy job which relies on the build artifacts. Now you can do:
-
trigger job Build feature1234to start the Build job with given branch queue trigger job DeployBranch feature1234queue reply Deployment is done!
Other example:
delay 1hthen send message #backend coffee time?
To see all running background commands (like Jenkins jobs or PR watcher) use this command:
list queue
The bot is able to query information from Jira, either from a single ticket, or a whole list of tickets.
By default, the commands are not available and not visible in the "help", till the "jira.host" is defined in the config file.
Examples
jira TEST-1234-
jira 1242(opens the ticket, using the configured default jira project) -
jql type=bug and status=open(use default project by default) -
jira "Second city"(text search of tickets in default project)
It's also possible to get a notification when there is a state change in a certain Jira ticket.
Example
watch ticket PROJ-12234
It's possible to create buttons which are performing any bot action when pressing the button. Slack interactions
Examples:
add button "Start Deployment" "trigger job LiveDeployment"
Note
- only whitelisted users can click the button
- each button is only active once
Configure user specific variables to customize bot behavior. E.g. each developer has his own server environment.
Example: Having this global config:
commands:
- name: Deploy
trigger: "deploy (?P<branch>.*)"
commands:
- deploy {{.branch}} to {{ customVariable "defaultServer" }}Each developer can now call ONCE this commands like: set variable defaultSerer foobarX.local to register the custom "defaultServer".
When now calling deploy mater, it will deploy the master branch to foobarX.local server.
Another example
Here an advanced version which uses Go templates.
In the end, the command will generate one subcommand, like:
reply <!here> demo for <https://jira.example.com/TEST-1234|TEST-1234: Example-Ticket> which will post the link to the Slack channel.
- name: demo
trigger: "demo (?P<ticketId>\\w+-\\d+)"
commands:
- |
{{ $ticket := jiraTicket .ticketId }}
{{ if $ticket }}
reply <!here> demo for <{{ jiraTicketUrl $ticket.Key }}|{{ $ticket.Key }}: {{ $ticket.Fields.Summary }}>
{{ else }}
reply Ticket {{ .ticketId }} not found :white_frowning_face:
{{ end }}
description: Informs the current channel about a demo of a Jira ticket. It directly posts a link to the ticket
examples:
- demo XYZ-1232User can define his default environment once by using set variable serverEnvironment aws-02.
Then the deploy feature-123 will deploy the branch to the defined aws-02 environment.
Each user can define his own variables.
It's also possible to have a ChatGPT like conversation with the official OpenAI integration (GPT3.5)!
Just type "openai" or "chatgpt" before your question to create a new thread which behaves like the well-known ChatGPT page. The content of the last 10 messages is used as context. To make it work, a valid "openai.api_key" must be provided in the configuration.
Extended config:
openai:
api_key: "sk-123....789"
initial_system_message: "You are a Slack bot for Project XYZ, please answer shortly."
update_interval: '3s' # fewer Slack messages update during generation
model: gpt-3.5-turbo
temperature: 0.8
log_texts: true # opt in: log all input/output text to the logWhen using the "openai XXX" command within a existing thread, the previous messages are used as context for further calls.
It also possible to use the function in the templates (like in custom commands or crons).
{{ openai "Say some short welcome words to @Jon_Doe"}} would print something like Hello Jon, welcome! How can I assist you today?
The bot is also able to generate images with the help of DALL-E. Just prefix you prompt with "dalle" and the bot will generate an image based on your text.
If you need a small break and want to play a little quiz game, you can do so by calling this command. No more than 50 questions are allowed. The questions are from different categories and difficult levels and are either multiple choice or true/false questions.
Commands
-
quiz 10to start a quiz with 10 questions -
answer 1to answer a question with the first answer
It's possible to setup OpenWeatherMap to get information about the current weather at your location.
Example config:
open_weather:
apikey: "612325WD623562376678"
location: "Hamburg, DE"
units: "metric"Every user is able to define own command aliases. This is a handy feature to avoid typing the same command every day.
Example usage
-
list commandsto just list the defined commands for the current user -
add command 'myCommand' 'trigger job RestoreWorld 7-> then just callmyCommandlater add command 'build master' 'trigger job Deploy master ; then trigger job DeployClient master'delete command 'build master'- -> then you can execute
myCommandto trigger this Jenkins job
Defined "Commands" (former called "Macros") are very magical and can be defined in the yaml configuration files.
They have a trigger (a regular expression) and have a list of sub commands which will be executed. They take parameter groups from regexp into account - so they can be very flexible!
One simple example to start two Jenkins jobs with a given branch name at the same time:
commands:
- name: build clients
trigger: "build clients (?P<branch>.*)"
commands:
- "reply I'll build {{ .branch }} for you"
- "trigger job BuildFrontendClient {{ .branch }}"
- "trigger job BuildMobileClient {{ .branch }}"
- "then reply done! :checkmark:"Note: In the commands, you can use the full set of template features of go -> loops/conditions are possible!
Beside the usual template features of go a bunch of bot specific commands are available in the template scope.
A list of all available functions (with arguments and return types) can be generated by using the list template functions command.

Note: This template functions can be used in different commands/features:
- Crons
- Defined commands (via .yaml)
- Custom commands (defined per user)
- Jenkins hooks (like sending custom message when a Job fails)
With retry or repeat your last executed command will be re-executed. -> Useful when a failed Jenkins job got fixed.
A small command which might be useful in combination with command command or as hook for Jenkins jobs.
Example command: delay 10m trigger job DeployWorldwide
As reply you'll get a command to stop the queued job (like stop timer 123456). As everyone can send the command, the command can be used to announce a deployment and in doubt, the execution can still be stopped by everyone.
reply and send message are also small commands which are useful in combination with command or Jenkins hooks.
Examples:
send message to #backend The job failed :panic:delay 10m send message to @peter_pan I should notify you to...
Simple command if you are not able to decide between different options
Examples
-
random Pizza Pasta-> produce either "Pizza" or "Pasta" -
random Peter Paul Tom Jan-> who has to take about organizing food today?
- Make sure Go version 1.12+ is installed
- clone the project
- create config file called
config.yaml(you can take a look atconfig.example.yaml)
This command will start the bot, using the config.yaml file by default. Use the -config argument to use the config file(s) from another location.
go run cmd/bot/main.go
Attention: Create a config.yaml file first
docker-compose up
The configuration is managed via simple .yaml files which are storing the credentials for the external services and the custom commands etc.
The easiest way is to just have one config.yaml file with all needed options included, the config.yaml is loaded by default. It's also possible to split up the configuration into multiple files.
Example structure with multiple config files:
-
secret.yamlcontaining the credentials for the external services (Slack, Jenkins) - can be managed by puppet/ansible etc. -
jenkins.yamlconfiguration of Jenkins job and their parameters etc -
project-X.yamlcustom commands for a specific team project-Y.yaml
To load the multiple config files, use go run cmd/bot/main.go -config /path/to/config/*.yaml which merged all configs together.
To run this bot, you need a "bot token" for your Slack application. See the installation section on how to create a proper app with the needed tokens.
To be able to start or monitor Jenkins jobs, you have to setup the host and the credentials first. The user needs read access to the jobs and the right to trigger jobs for your whitelisted jobs.
jenkins:
host: https://jenkins.example.de
username: jenkinsuser
password: secretTo be able to start a job, the job and its parameters have to be defined in the config.
A job without any parameter looks very simple:
jenkins:
jobs:
CleanupJob:Then you can use trigger job CleanupJob or start job CleanupJob to start the job. It will also notify you when the job succeeded or failed (incl. error log).
Next, a job with two parameters:
jenkins:
jobs:
RunTests:
parameters:
- name: BRANCH
default: master
type: branch
- name: GROUP
default: allThis job can handle two parameters:
- BRANCH: VCS branch name, "master" as default
- GROUP: optional parameter, using "all" as default
If you setup the VSC in the config, you don't have to pass the full branch name, but can use the fuzzy search.
Example:
-
start job RunTestswould start "all" groups on master branch -
start job JIRA-1224 unitwould try to find a matching branch for the ticket number. (Error message if there is no unique search result!)
Now a more complex example with more magic:
jenkins:
jobs:
DeployBranch:
trigger: "deploy (?P<BRANCH>[\\w\\-_\\.\\/]*) to (?P<ENVIRONMENT>prod|test|dev)"
parameters:
- name: BRANCH
default: master
type: branch
- name: ENVIRONMENT
onsuccess:
- reply Tadaa: Take a look on http://{{ .ENVIRONMENT }}.example.comStep by step:
The trigger is a regular expression to start the job, which may contain named groups. The regexp groups will be matched to the job parameters automatically.
Then you can use deploy bugfix-1234 to test to start the Jenkins job.
Note: You can always start this job also via start job DeployBranch master. The trigger is just an alternative.
The onsuccess is a hook which will be executed when a job is started via this bot.
In addition, onsuccess and onerror is also available...e.g. to send custom error messages.
It's possible to define periodical commands via crons, using the robfig/cron library.
Example config
crons:
- schedule: "0 8 * * *"
commands:
- trigger job BuildClients
- then deploy master to staging
channel: "#backend"To be able to resolve branch names in Jenkins trigger, a VCS system can be configured (at the moment it's just Stash/Bitbucket).
vcs:
type: bitbucket
host: https://bitbucket.example.com
username: readonlyuser
password: secret
project: MyProjectKey
repository: repo_nameIf no config is provided, there is no automated branch lookup and the "branch" parameters are passed 1:1 to the Jenkins job.
Some features might not be needed in your environment. Most ones are not active if the credentials are not provided, like for Jira or Bitbucket.
Some other ones can be disable via config:
games:
enabled: false
custom_commands:
enabled: false
custom_variables:
enabled: false-
bot/contains the code classes of the bot: connection to Slack, user management, command matching... -
cmd/bot/entry points aka main.go for the bot and the CLI test tool -
command/real command implementing the bot.Command interface
If you need a new command, which is not implementable with a "command" command, you have to write go code.
- create a new file within the "commands/" directory or one submodule of it
- create a new struct which fulfills the bot.Command interface. The service.SlackClient might be needed as dependency
- GetMatcher() needs to provide the information which command text is matching our command
- register the command in command/commands.go
- restart the bot application
- it's recommended to fulfill the bot.HelpProvider (your command will show up in `help)
- it's also recommended to create an integration test for your command
There is a handy CLI application which emulates the Slack application...just chat with your local console without any Slack connection!

make run-cli
make air to use the "air auto reload tool".
There are a bunch of tests which can be executed via:
make test
Test coverage is generated to build/coverage.html
make test-coverage
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for slack-bot
Similar Open Source Tools
slack-bot
The Slack Bot is a tool designed to enhance the workflow of development teams by integrating with Jenkins, GitHub, GitLab, and Jira. It allows for custom commands, macros, crons, and project-specific commands to be implemented easily. Users can interact with the bot through Slack messages, execute commands, and monitor job progress. The bot supports features like starting and monitoring Jenkins jobs, tracking pull requests, querying Jira information, creating buttons for interactions, generating images with DALL-E, playing quiz games, checking weather, defining custom commands, and more. Configuration is managed via YAML files, allowing users to set up credentials for external services, define custom commands, schedule cron jobs, and configure VCS systems like Bitbucket for automated branch lookup in Jenkins triggers.
OpenAI-sublime-text
The OpenAI Completion plugin for Sublime Text provides first-class code assistant support within the editor. It utilizes LLM models to manipulate code, engage in chat mode, and perform various tasks. The plugin supports OpenAI, llama.cpp, and ollama models, allowing users to customize their AI assistant experience. It offers separated chat histories and assistant settings for different projects, enabling context-specific interactions. Additionally, the plugin supports Markdown syntax with code language syntax highlighting, server-side streaming for faster response times, and proxy support for secure connections. Users can configure the plugin's settings to set their OpenAI API key, adjust assistant modes, and manage chat history. Overall, the OpenAI Completion plugin enhances the Sublime Text editor with powerful AI capabilities, streamlining coding workflows and fostering collaboration with AI assistants.
smartcat
Smartcat is a CLI interface that brings language models into the Unix ecosystem, allowing power users to leverage the capabilities of LLMs in their daily workflows. It features a minimalist design, seamless integration with terminal and editor workflows, and customizable prompts for specific tasks. Smartcat currently supports OpenAI, Mistral AI, and Anthropic APIs, providing access to a range of language models. With its ability to manipulate file and text streams, integrate with editors, and offer configurable settings, Smartcat empowers users to automate tasks, enhance code quality, and explore creative possibilities.
magic-cli
Magic CLI is a command line utility that leverages Large Language Models (LLMs) to enhance command line efficiency. It is inspired by projects like Amazon Q and GitHub Copilot for CLI. The tool allows users to suggest commands, search across command history, and generate commands for specific tasks using local or remote LLM providers. Magic CLI also provides configuration options for LLM selection and response generation. The project is still in early development, so users should expect breaking changes and bugs.
kwaak
Kwaak is a tool that allows users to run a team of autonomous AI agents locally from their own machine. It enables users to write code, improve test coverage, update documentation, and enhance code quality while focusing on building innovative projects. Kwaak is designed to run multiple agents in parallel, interact with codebases, answer questions about code, find examples, write and execute code, create pull requests, and more. It is free and open-source, allowing users to bring their own API keys or models via Ollama. Kwaak is part of the bosun.ai project, aiming to be a platform for autonomous code improvement.
wcgw
wcgw is a shell and coding agent designed for Claude and Chatgpt. It provides full shell access with no restrictions, desktop control on Claude for screen capture and control, interactive command handling, large file editing, and REPL support. Users can use wcgw to create, execute, and iterate on tasks, such as solving problems with Python, finding code instances, setting up projects, creating web apps, editing large files, and running server commands. Additionally, wcgw supports computer use on Docker containers for desktop control. The tool can be extended with a VS Code extension for pasting context on Claude app and integrates with Chatgpt for custom GPT interactions.
fabric
Fabric is an open-source framework for augmenting humans using AI. It provides a structured approach to breaking down problems into individual components and applying AI to them one at a time. Fabric includes a collection of pre-defined Patterns (prompts) that can be used for a variety of tasks, such as extracting the most interesting parts of YouTube videos and podcasts, writing essays, summarizing academic papers, creating AI art prompts, and more. Users can also create their own custom Patterns. Fabric is designed to be easy to use, with a command-line interface and a variety of helper apps. It is also extensible, allowing users to integrate it with their own AI applications and infrastructure.
vectara-answer
Vectara Answer is a sample app for Vectara-powered Summarized Semantic Search (or question-answering) with advanced configuration options. For examples of what you can build with Vectara Answer, check out Ask News, LegalAid, or any of the other demo applications.
opencommit
OpenCommit is a tool that auto-generates meaningful commits using AI, allowing users to quickly create commit messages for their staged changes. It provides a CLI interface for easy usage and supports customization of commit descriptions, emojis, and AI models. Users can configure local and global settings, switch between different AI providers, and set up Git hooks for integration with IDE Source Control. Additionally, OpenCommit can be used as a GitHub Action to automatically improve commit messages on push events, ensuring all commits are meaningful and not generic. Payments for OpenAI API requests are handled by the user, with the tool storing API keys locally.
fish-ai
fish-ai is a tool that adds AI functionality to Fish shell. It can be integrated with various AI providers like OpenAI, Azure OpenAI, Google, Hugging Face, Mistral, or a self-hosted LLM. Users can transform comments into commands, autocomplete commands, and suggest fixes. The tool allows customization through configuration files and supports switching between contexts. Data privacy is maintained by redacting sensitive information before submission to the AI models. Development features include debug logging, testing, and creating releases.
hash
HASH is a self-building, open-source database which grows, structures and checks itself. With it, we're creating a platform for decision-making, which helps you integrate, understand and use data in a variety of different ways.
vectorflow
VectorFlow is an open source, high throughput, fault tolerant vector embedding pipeline. It provides a simple API endpoint for ingesting large volumes of raw data, processing, and storing or returning the vectors quickly and reliably. The tool supports text-based files like TXT, PDF, HTML, and DOCX, and can be run locally with Kubernetes in production. VectorFlow offers functionalities like embedding documents, running chunking schemas, custom chunking, and integrating with vector databases like Pinecone, Qdrant, and Weaviate. It enforces a standardized schema for uploading data to a vector store and supports features like raw embeddings webhook, chunk validation webhook, S3 endpoint, and telemetry. The tool can be used with the Python client and provides detailed instructions for running and testing the functionalities.
ash_ai
Ash AI is a tool that provides a Model Context Protocol (MCP) server for exposing tool definitions to an MCP client. It allows for the installation of dev and production MCP servers, and supports features like OAuth2 flow with AshAuthentication, tool data access, tool execution callbacks, prompt-backed actions, and vectorization strategies. Users can also generate a chat feature for their Ash & Phoenix application using `ash_oban` and `ash_postgres`, and specify LLM API keys for OpenAI. The tool is designed to help developers experiment with tools and actions, monitor tool execution, and expose actions as tool calls.
vscode-pddl
The vscode-pddl extension provides comprehensive support for Planning Domain Description Language (PDDL) in Visual Studio Code. It enables users to model planning domains, validate them, industrialize planning solutions, and run planners. The extension offers features like syntax highlighting, auto-completion, plan visualization, plan validation, plan happenings evaluation, search debugging, and integration with Planning.Domains. Users can create PDDL files, run planners, visualize plans, and debug search algorithms efficiently within VS Code.
99
The AI client 99 is designed for Neovim users to streamline requests to AI and limit them to restricted areas. It supports visual, search, and debug functionalities. Users must have a supported AI CLI installed such as opencode, claude, or cursor-agent. The tool allows for configuration of completions, referencing rules and files to add context to requests. 99 supports multiple AI CLI backends and providers. Users can report bugs by providing full running debug logs and are advised not to request features directly. Known usability issues include long function definition problems, duplication of comment definitions in lua and jsdoc, visual selection sending the whole file, occasional issues with auto-complete, and potential errors with 'export function' prompts.
MCPJungle
MCPJungle is a self-hosted MCP Gateway for private AI agents, serving as a registry for Model Context Protocol Servers. Developers use it to manage servers and tools centrally, while clients discover and consume tools from a single 'Gateway' MCP Server. Suitable for developers using MCP Clients like Claude & Cursor, building production-grade AI Agents, and organizations managing client-server interactions. The tool allows quick start, installation, usage, server and client setup, connection to Claude and Cursor, enabling/disabling tools, managing tool groups, authentication, enterprise features like access control and OpenTelemetry metrics. Limitations include lack of long-running connections to servers and no support for OAuth flow. Contributions are welcome.
For similar tasks
slack-bot
The Slack Bot is a tool designed to enhance the workflow of development teams by integrating with Jenkins, GitHub, GitLab, and Jira. It allows for custom commands, macros, crons, and project-specific commands to be implemented easily. Users can interact with the bot through Slack messages, execute commands, and monitor job progress. The bot supports features like starting and monitoring Jenkins jobs, tracking pull requests, querying Jira information, creating buttons for interactions, generating images with DALL-E, playing quiz games, checking weather, defining custom commands, and more. Configuration is managed via YAML files, allowing users to set up credentials for external services, define custom commands, schedule cron jobs, and configure VCS systems like Bitbucket for automated branch lookup in Jenkins triggers.
For similar jobs
slack-bot
The Slack Bot is a tool designed to enhance the workflow of development teams by integrating with Jenkins, GitHub, GitLab, and Jira. It allows for custom commands, macros, crons, and project-specific commands to be implemented easily. Users can interact with the bot through Slack messages, execute commands, and monitor job progress. The bot supports features like starting and monitoring Jenkins jobs, tracking pull requests, querying Jira information, creating buttons for interactions, generating images with DALL-E, playing quiz games, checking weather, defining custom commands, and more. Configuration is managed via YAML files, allowing users to set up credentials for external services, define custom commands, schedule cron jobs, and configure VCS systems like Bitbucket for automated branch lookup in Jenkins triggers.
nx
Nx is a build system optimized for monorepos, featuring AI-powered architectural awareness and advanced CI capabilities. It provides faster task scheduling, caching, and more for existing workspaces. Nx Cloud enhances CI by offering remote caching, task distribution, automated e2e test splitting, and task flakiness detection. The tool aims to scale monorepos efficiently and improve developer productivity.
airbase
Airbase is a Maven project management tool that provides a parent pom structure and conventions for defining new projects. It includes guidelines for project pom structure, deployment to Maven Central, project build and checkers, well-known dependencies, and other properties. Airbase helps in enforcing build configurations, organizing project pom files, and running various checkers to catch problems early in the build process. It also offers default properties that can be overridden in the project pom.
kaito
Kaito is an operator that automates the AI/ML inference model deployment in a Kubernetes cluster. It manages large model files using container images, avoids tuning deployment parameters to fit GPU hardware by providing preset configurations, auto-provisions GPU nodes based on model requirements, and hosts large model images in the public Microsoft Container Registry (MCR) if the license allows. Using Kaito, the workflow of onboarding large AI inference models in Kubernetes is largely simplified.
ai-on-gke
This repository contains assets related to AI/ML workloads on Google Kubernetes Engine (GKE). Run optimized AI/ML workloads with Google Kubernetes Engine (GKE) platform orchestration capabilities. A robust AI/ML platform considers the following layers: Infrastructure orchestration that support GPUs and TPUs for training and serving workloads at scale Flexible integration with distributed computing and data processing frameworks Support for multiple teams on the same infrastructure to maximize utilization of resources
tidb
TiDB is an open-source distributed SQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. It is MySQL compatible and features horizontal scalability, strong consistency, and high availability.
nvidia_gpu_exporter
Nvidia GPU exporter for prometheus, using `nvidia-smi` binary to gather metrics.
tracecat
Tracecat is an open-source automation platform for security teams. It's designed to be simple but powerful, with a focus on AI features and a practitioner-obsessed UI/UX. Tracecat can be used to automate a variety of tasks, including phishing email investigation, evidence collection, and remediation plan generation.











