Skip to content

olli77z/atlassian-slack-integration-server

 
 

Repository files navigation

Atlassian Server Integrations for Slack

Atlassian license PRs Welcome

Official plugins for Jira Server, Confluence Server, and Bitbucket Server that integrate with Slack.

Usage

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.

A note on future development plans

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.

Installation

  1. Download and install JDK 8. After installation java command should be available in the terminal and JAVA_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.
  2. Download and install Atlassian Plugin SDK. After successful installation running atlas-version should print SDK version.
  3. (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.
  4. 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.
  5. Go to <product> Plugin Development section for further steps.

Jira Server Plugin Development

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

Confluence Server Plugin Development

Use tool ./confluence.sh for all dev cycle. It has a similar set of commands to ./jira.sh (see Jira Server Plugin Development section).

Bitbucket Server Plugin Development

Use tool ./bitbucket.sh for all dev cycle. It has a similar set of commands to ./jira.sh (see Jira Server Plugin Development section).

Documentation

Links to the official documentation are specified on plugin Marketplace pages (see Usage section). This is the same link.

Development References

Tests

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

Integration tests

Approaches:

  1. 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.
  2. 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.
  3. 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

CI/CD

Tests

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.

Releasing

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

Contributions to Atlassian Server Integrations for Slack project are welcome! Please see CONTRIBUTING.md for details.

License

Copyright (c) 2018 - 2020 Atlassian and others. Apache 2.0 licensed, see LICENSE file.

With love from Atlassian

About

Slack plugins for Jira, Confluence and Bitbucket Server

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 84.2%
  • JavaScript 8.4%
  • Closure Templates 4.5%
  • Less 1.6%
  • Shell 1.1%
  • CSS 0.2%