{"id":23602974,"url":"https://github.com/gitblit-org/gitblit-slack-plugin","last_synced_at":"2025-05-08T21:49:08.374Z","repository":{"id":16569169,"uuid":"19323077","full_name":"gitblit-org/gitblit-slack-plugin","owner":"gitblit-org","description":"Plugin to post Gitblit events to a Slack channel","archived":false,"fork":false,"pushed_at":"2023-04-06T17:11:38.000Z","size":181,"stargazers_count":4,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-08T21:49:02.956Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitblit-org.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-30T18:23:52.000Z","updated_at":"2023-04-08T17:42:00.000Z","dependencies_parsed_at":"2022-07-13T13:51:00.813Z","dependency_job_id":null,"html_url":"https://github.com/gitblit-org/gitblit-slack-plugin","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitblit-org%2Fgitblit-slack-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitblit-org%2Fgitblit-slack-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitblit-org%2Fgitblit-slack-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitblit-org%2Fgitblit-slack-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitblit-org","download_url":"https://codeload.github.com/gitblit-org/gitblit-slack-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253154954,"owners_count":21862618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-27T12:13:56.804Z","updated_at":"2025-05-08T21:49:08.339Z","avatar_url":"https://github.com/gitblit-org.png","language":"Java","readme":"## Gitblit Slack plugin\n\n*REQUIRES 1.5.0*\n\nThe Gitblit Slack plugin provides realtime integration for your Slack team.  The plugin inject events into a channel for branch or tag changes and ticket changes.\n\n![example](example.png \"Example integration\")\n\n### Installation\n\nThis plugin is referenced in the Gitblit Plugin Registry and you may install it using SSH with an administrator account.\n\n    ssh host plugin refresh\n    ssh host plugin install slack\n    ssh host plugin ls\n\nAlternatively, you can download the zip from [here](http://plugins.gitblit.com) manually copy it to your `${baseFolder}/plugins` directory.\n\n### Setup\n\nAt a bare minimum you'll need one setting configured in `gitblit.properties`.\n\n    slack.url = https://hooks.slack.com/services/yada/yadayada\n\n\nIf you have the `powertools` plugin installed, you may configure this over SSH:\n\n    ssh host gb config slack.url https://hooks.slack.com/services/yada/yadayada\n\n\nThere a handful of additional optional settings:\n\n    slack.defaultChannel = general\n    slack.useProjectChannels = false\n    slack.postAsUser = true\n    slack.defaultEmoji = \n    slack.gitEmoji = \n    slack.ticketEmoji = \n    slack.allowUserPosts = false\n    slack.postPersonalRepos = false\n    slack.postTickets = true\n    slack.postTicketComments = true\n    slack.postBranches = true\n    slack.postTags = true\n\n#### slack.postAsUser\n\nBy default this plugin will post events to your channels using the identity of the user triggering the event.  This will include gravatar thumbnails.  If this setting is disabled, events will be posted using the *Gitblit* identity and will use whatever you may have optionally specified for the *emoji* settings.\n\n#### slack.*Emoji\n\nYou may specify emoji as `:name:` or you may specify complete urls.  These settings are ignored if you have enabled *slack.postAsUser*, which is enabled by default.\n\n#### slack.allowUserPosts\n\n*slack.allowUserPosts* allows users to send channel or direct messages from the command-line using the SSH command interface.\n\n#### slack.useProjectChannels\n\n*slack.useProjectChannels* allows you to shard Gitblit activity by the repository project.  This may fit better with any security model you may have in place.  These channels *must* already exist in Slack, the plugin will not create them for you.\n\nHow are project channels named?\n\n1. if *slack.defaultChannel* is **empty**, the channel name is the first directory element of the repository path, unless there is no first directory element in which case activity will be posted to the default configured channel in Slack.\n2. if *slack.defaultChannel* is **non-empty**, the channel name is *slack.defaultChannel* -project, where *project* is the first directory element of the repository path.  If *project* is empty, the *slack.defaultChannel* is used.\n\nExamples:\n\n\u003cpre\u003e\nslack.defaultChannel = gb\nslack.useProjectChannels = true\n\u003c/pre\u003e\n\n- For the *network/a/b/myrepo.git* repository, the slack channel would be *#gb-network*.\n- For the *test.git* repository, the slack channel would be *#gb*.\n\n\u003cpre\u003e\nslack.defaultChannel = \nslack.useProjectChannels = true\n\u003c/pre\u003e\n\n- For the *network/a/b/myrepo.git* repository, the slack channel would be *#network*.\n- For the *test.git* repository, the slack channel would be your default channel in Slack, likely *#general*.\n\n\n### Usage\n\n#### Ticket Hook\n\nThe ticket hook is automatic.\n\n#### Receive Hook\n\nThe receive hook is automatic.\n\n#### SSH Commands (optional)\n\nThis plugin also provides a generic mechanism to inject messages into a Slack channel.  These commands require administrator permissions or *slack.allowUserPosts=true*\n\n    ssh host slack test\n    ssh host slack send @james -m \"'Hello from the Gitblit SSH command!'\"\n\n### Building against a Gitblit RELEASE\n\n    ant \u0026\u0026 cp build/target/slack*.zip /path/to/gitblit/plugins\n\n### Building against a Gitblit SNAPSHOT\n\n    /path/to/dev/gitblit/ant installMoxie\n    /path/to/dev/slack/ant \u0026\u0026 cp build/target/slack*.zip /path/to/gitblit/plugins\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitblit-org%2Fgitblit-slack-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitblit-org%2Fgitblit-slack-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitblit-org%2Fgitblit-slack-plugin/lists"}