Official plugins for Jira Server, Confluence Server, and Bitbucket Server that integrate with Slack.
Jira, Confluence or Bitbucket administrator can install Slack plugin to their system via embedded Marketplace (<Configuration gear> -> Find new apps/plugins) or by manually downloading plugin JAR files from Marketplace pages for Jira, Confluence or Bitbucket plugins. Links to the official documentation are specified on Marketplace pages.
Supported products (on 5 Mar, 2021). See EOL policy.
- Jira: 8.1.0 (EOL 11 Feb, 2021) JDK 8, 11 - 8.15.0 (EOL 2 Feb 2023) on JDK 8, 11.
- Confluence: 6.11.2 (EOL Aug 14, 2020) JDK 8 - 7.8.0 (EOL 29 Sep 2022) JDK 8, 11.
- Bitbucket: 6.7.1 (EOL 1 Oct, 2021) on JDK 8, 11 - 7.6.0 (EOL 15 Sep, 2022) on JDK 8, 11.
In order to accelerate our journey to the cloud, together, Atlassian will continue to maintain these apps' compatibility with our Server products. However, we will not be creating new features or matching feature parity with our Cloud integrations. If you would like to add your own customizations/features to the integration, we encourage you to fork this repository and customize it as you wish like we’ve seen many customers do.
When Jira, Confluence, or Bitbucket Server release new versions, we will validate the compatibility of these apps and release new versions within four weeks of their public release.
- Download and install JDK 8. After installation
java
command should be available in the terminal andJAVA_HOME
environment variable should point to JDK installation directory. Running$JAVA_HOME/bin/java -version
should print a JDK version. Note: Plugin can be compiled and run using JDK 11, but some old products may not support it. - Download and install Atlassian Plugin SDK.
After successful installation running
atlas-version
should print SDK version. - (Optional) Install ngrok to enable Slack -> product features (slash commands, unfurling). If you don't have ngrok, the plugin still can send notification to Slack in uni-derectional way.
- If you are setting up the project for the first time run
./jira.sh common
from the project root directory to install all common modules to local Maven repository. - Go to <product> Plugin Development section for further steps.
Use tool ./jira.sh
for all dev cycle:
# getting help
./jira.sh help
# compiling and running Jira
./jira.sh run
# recompiling common project and plugin for quick reloading
./jira.sh
# recompile common, compatibility modules and the plugin, and reinstall fresh plugin version
./jira.sh common compat pack
# clean compilied code, but keep Jira database
./jira.sh clean
# clean complied along with Jira database
./jira.sh purge
Use tool ./confluence.sh
for all dev cycle. It has a similar set of commands to ./jira.sh
(see Jira Server Plugin Development section).
Use tool ./bitbucket.sh
for all dev cycle. It has a similar set of commands to ./jira.sh
(see Jira Server Plugin Development section).
Links to the official documentation are specified on plugin Marketplace pages (see Usage section). This is the same link.
- Google Closure Templates / Soy Templates
- slackdown: parses slack messages to HTML. See also: https://api.slack.com/methods/emoji.list
- Jira 8: be careful when using JQL from background
- Slack emoji table
Run all unit tests (from the root project folder):
atlas-mvn clean test
Run unit tests in a specific module:
cd <that-module>
atlas-mvn clean test
Approaches:
- Recommended: launch the product with
./<product-script>.sh run
command and run separate tests from your IDE. A Firefox window where you can easily locate and debug test errors. - By default in CI integration tests are run in xvfb. You may install it locally and run tests with it to get a behaviour consistent with CI results.
- You can also run test in real Firefox, for that specify
XVFB_ENABLE=false
environment variable for before running the script.
Run integration tests for Jira plugin:
bin/build/run-jira-its.sh
Run integration tests for Confluence plugin:
bin/build/run-confluence-its.sh
Run integration tests for Bitbucket plugin:
bin/build/run-bitbucket-its.sh
Unit and integration tests against the oldest and newest supported product versions are run on each commit by Github Actions.
See all-tests.yml for more details. A specific test job may be run manually on any branch from
"Actions" tab on the repo page by specifying ref
and jobs
arguments.
Note: all integration test jobs in default workflow (all-tests.yml
) are dependent on unit tests, so to run integration tests
for specific product pass the respective job's name along with unit-test
to jobs
parameter. For example: unit-tests,integration-tests-jira-8
.
Integration tests for arbitrary verions of the the product and JVM may be run manually using jira-int-tests.yml, confluence-int-tests.yml and bitbucket-int-tests.yml.
Release workflow allows to publish new releases to Atlassian Artifactory. This action should be usually be run by repo maintainer only. See workflow configuration in release.yml.
Contributions to Atlassian Server Integrations for Slack project are welcome! Please see CONTRIBUTING.md for details.
Copyright (c) 2018 - 2020 Atlassian and others. Apache 2.0 licensed, see LICENSE file.