i-cube logo

How to use slack as your command center for software projects

Being a stakeholder in a large software development project increasingly means keeping track of what’s going on across multiple different systems. The planning of the development is less and less managed in word documents and spreadsheets, and more and more tracked in specialized software. Confluence, Jira, DevOps, Github, CI/CD services, and more are typical systems to keep track of if you want to know what’s going on at all times. In this article, I’ll show how you can have each of these services post updates to a slack channel so that you can keep an overview of what’s going on from the one place you’re always ON. I’m going to be focusing on the Atlassian SaaS suite, more specifically Confluence, Jira, and Bitbucket together with the Laravel Forges server management system linked to slack in this article. You will however most likely be able to do the exact same things with other similar systems including Microsoft Teams.

Confluence – the truth is in the cloud

Confluence is your place of truth in the cloud for all information about a project. Here you can keep important files, share links, and organize the content in pages that are linked together like a wiki. Confluence is the place where your top-level stakeholders work, your product owners, and business analysts.

1. In your Confluence space you can navigate to Space Settings -> Integrations -> Slack notifications and use Add Subscription

2. Adding, editing, or commenting on a page in Confluence shows up in your slack channel. Here you can interact with the confluence message directly from Slack.

Jira – Planning and executing the development

Jira is where you plan the development of a project with your development team. Here you divide the projects and Epics, stories, and tasks, and plan your work in sprints and versions. As the development team works on the tasks they transition them between different statuses: “TODO”, “IN PROGRESS”, “QA”, and “DONE”. These status changes, as well as comments on the stories, can be pushed to a slack channel, and even interacted with.

Screenshot from Jira settings
  1. Find your project in Jira and navigate to Project Settings, Select Apps, and select Slack Integration. Here you can connect your Jira project to a channel on your Slack.
  2. Now your changes in Jira are showing up in slack like messages in the channel.
  3. Here you can interact with the stories by adding comments, assigning the story to someone, or transitioning the story to a different status.
Screenshot of Jira messages in Slack

Git – Bitbucket

There are several popular git repository services on the market. The most famous being GitHub, recently bought by Microsoft. But because of the tight integration with Jira, we are using Bitbucket from Atlassian.

Pull requests and merges to branches can be posted to a Slack channel so that you know exactly when the new code is available for review.

Navigate to your repository on Bitbucket and find the Repository settings and Settings under SLACK. Here you can Add subscription and have bitbucket push messages to Slack.

Screenshot from Bitbucket settings

Pull requests and merging show up in Slack and you’re even able to interact with them here.

Screenshot from Bitbucket messages in Slack

CI and CD – Bitbucket and Laravel Forge

Automated testing for your code is a lifesaver when your project has reached a certain volume and you can create unit tests that will automatically run when new code is merged into your develop branch and master branch. If these tests fail you can have them notify the team in slack.

Similarly, if you use a continuous deployment system like the one built into the Laravel Forges server management system, you can get notified when the new code is deployed to the server.

Screenshot of the notification settings of Laravel forge

Navigate to your server and site on Laravel Forge, and select the Notifications item on the menu. Here you can configure and connect the Laravel Forge to a Slack channel, and if a deployment fails or is successful, it will push a message to the channel.

Dashboard demo project

At a glance, you can see that some stories were worked on in Jira, code was committed to Bitbucket and new code was deployed to the server. No need to ask anyone or log into multiple services to see what is going on.

UptimeRobot – is the website up?

Last but not least, you might want to get notified if the website or web app that the team is working on is down at the moment. For this, you can use a service called UptimeRobot. This service will ping your URL on regular intervals and notify you on both email and Slack if the website is down.

UptimeRobot integration

Have someone ever asked you: “did you see the changes in Confluence?” Or better yet have you ever asked your development team “is the new code deployed yet?”. Integrating all the activity in your project into a Slack channel allow you to easily stay on top of things in the app you always keep open.