Slack

The GitBlixt Slack app works like GitHub's: channels follow repository activity, link previews show what a GitBlixt URL points at, linked users act on issues and merge requests from Slack, and everyone can get personal alerts and review reminders.

Setup (administrators)

  1. Open Admin → Settings → Slack and copy the app manifest. It already points at this instance's /slack/commands, /slack/events and /slack/interactivity URLs and asks for the scopes and events the app needs.
  2. At api.slack.com/apps choose Create New App → From an app manifest, pick your workspace and paste the manifest.
  3. Install the app to the workspace.
  4. Paste its Bot User OAuth Token (xoxb-…) and its Signing Secret (Basic Information → App Credentials) into Admin → Settings → Slack. Slack requests without a valid signature are refused.

Each person then links their account once with /gitblixt signin: the link it replies with opens GitBlixt, which sends a code to your Slack DMs to enter there. Linking is what lets Slack act as you, preview private links for you and send you alerts; unlinking happens with /gitblixt signout or from Settings → Slack.

Commands

Command What it does
/gitblixt subscribe namespace/repo [features] Post a repository's activity in this channel (an organization slug covers all its repositories)
/gitblixt unsubscribe namespace/repo [features] Stop some features, filters, or the whole subscription
/gitblixt subscribe list [features] This channel's subscriptions, optionally with their features and filters
/gitblixt open [namespace/repo] Create an issue in a dialog
/gitblixt close <ref>, /gitblixt reopen <ref> Close or reopen an issue or merge request, named as namespace/repo#12, namespace/repo!12 or its URL
/gitblixt settings This channel's settings (threading)
/gitblixt signin, /gitblixt signout Link or unlink your GitBlixt account
/gitblixt help The command list. Mentioning the bot or messaging it directly also shows it.

Repository maintainers, organization owners and maintainers, and administrators manage subscriptions, from Slack or from the repository's or organization's Settings → Slack page.

Features and filters

Feature Posts
issues (default) Issues opened, closed, reopened and edited
pulls (default) Merge requests opened, closed, reopened, merged and edited
commits (default) Pushes to the default branch
releases (default) Published releases
deployments (default) App deployments, including ones waiting for review
workflows Finished CI pipelines
reviews Review requests, approvals and change requests
comments Comments on issues and merge requests
branches Branches created or deleted
Filter Effect
+label:"bug" Issues, merge requests, reviews and comments only with this label
commits:"release/*" Commits on matching branches; commits:* for every branch
workflows:{name:"ci" event:"push" branch:"main" actor:"tim"} Only pipelines matching all the given keys; name is a workflow file, so ci matches .github/workflows/ci.yml
comments:channel, reviews:channel Post comments or reviews in the channel instead of the thread

Threading, buttons and shortcuts

  • With threading on (the default, toggled in /gitblixt settings), an issue, merge request, pipeline or deployment gets one card in the channel. Later activity replies in its thread, state changes are also shown in the channel, and the card updates in place.
  • Cards carry Comment, Edit and Close/Reopen buttons, failed pipelines a Retry button. They act as your linked account, with the same permissions as the web UI.
  • The Create an issue shortcut (global, or on a message, which prefills the message and a link back to it) opens the issue dialog. Picking a repository you can triage adds its labels and assignees.

Link previews

Links to this instance unfurl into previews: issues and merge requests (as their card), single comments (#note_<id> links), code (/blob/<ref>/<path>#L10-L20 shows up to 20 lines), commits, repositories, users and organizations.

  • Public repositories, users and organizations always preview.
  • Private content previews only when the person who shared the link has linked an account that can read it, and only after they choose Show preview in the private prompt asking whether to show it to the channel. If they haven't linked an account, the prompt asks them to connect instead.
  • A message with three or more links doesn't preview, and the same link previews at most once per channel every 30 minutes.

Personal alerts

Linked users get a direct message from the app when something concerns them: a review request, an assignment, an @mention, a deployment waiting for their review (with Approve and Reject buttons), an approval, a change request or a merge of their merge request, and comments on their issues and merge requests. Nobody is told about their own actions or about repositories they can't read. Each kind can be turned off under Settings → Slack or on the app's Home tab, which also lists what is waiting for your review, your open merge requests and the issues assigned to you.

Scheduled reminders

  • Channel reminders — on a repository's or organization's Settings → Slack page, pick a channel, days, one or more times and a time zone. At those times the channel gets the open merge requests still waiting on a reviewer, with their author, age, reviewers and approvals. Options: ignore drafts, only merge requests older than some hours, and include merge requests with no reviewers.
  • Personal reminders — under Settings → Slack, pick days, times and a time zone to get a direct message with the merge requests waiting for your review, and optionally your own merge requests with changes requested.

Nothing is posted when nothing is waiting.