Most common questions for Hipchat Server and Hipchat Data Center

Still need help?

The Atlassian Community is here for you.

Ask the community

As the Hipchat EOL nears closer (read the Atlassian/Slack FAQ here) many of you have questions regarding timelines, licensing, migration et cetera. This article aims to help clear up any confusion and aid your team in preparing a successful migration off of Hipchat to another solution.

Hipchat Server/Data Center Licensing

Can I renew my HipChat Server license?

You can only renew your license through and up until July 26th, 2019. To renew your license, please file a ticket at support.atlassian.com.

See Pricing, billing & licensing help for more information.

What happens when my HipChat Server license expires?

Some of the Hipchat functions will be disabled.

  • New users cannot be created or reactivated once they are deactivated.

  • Mobile push notifications will no longer function.

  • Atlassian Support will no longer be available.

  • Integrations from marketplace.atlassian.com cannot be installed.

For more details please see Functionality lost as Hipchat Server/Data Center license expires.

I am unable to update my HipChat license (Error: “license cannot be decoded”)

Hipchat is unable to recognize the license validity due to a current bug in Hipchat Server versions 2.2.x - 2.4.3. The workaround involves updating the _license.py on the server, which is outlined on the bug ticket Updating the Hipchat Server license displays the error "The license does not support HipChat Server”.

Hipchat Server/Data Center End of Life (EOL)

When will Hipchat Server/Data Center be EOL (End of life)?

Hipchat Server

2.2 (EOL Date: May 30, 2019)
2.4 (EOL Date: Jun 30, 2020)

Hipchat Data Center

3.0 (EOL Date: Jun 22, 2019)
3.1 (EOL Date: Sep 26, 2019)

The EOL date refers to the supportability of the software version (which is not the same as the Hipchat license expiration date).

What will happen when our Hipchat Server/Data Center version goes EOL?

Hipchat Server/Data Center core functionality is not affected by the EOL dates (chats, file uploads, client sign in).

External services like the push notification relay (Barb) and marketplace integrations will stay operational until the end of life date is reached, assuming that the Hipchat license is valid.

Atlassian does not provide support for instances on versions that have reached End of Life. The only exception is for assistance related to upgrading from your EOL version to a supported version. Please see Atlassian Support End of Life Policy for more info.

Migrating to Slack from Hipchat Server/Data Center

How long does a migration to Slack take?

The migration to Slack will involve generating an export archive of the Hipchat Server/Data Center data, then importing the archive into the Slack environment. The time required for both the export and the import process depends on available resources and the size of the Hipchat instance (number of messages and attachments).

While generating the export can be accomplished in a few hours (depending on the size of the Hipchat instance) the import into Slack may take significantly longer. To get a more accurate account of how long the import process into Slack will take, please contact Slack support at Slack Help.

As a point of reference, a test import into Slack took about 14 - 24 hours for ~2 million messages. We recommend generating a test export archive bundle to import it into Slack to understand the time table for migration.

The export, depending on the available resources on the Hipchat server and the server version, might require an Hipchat version upgrade and additional resources on the server.

What do I need to do to migrate to Slack?

To migrate to Slack, we recommend first to check if you need to upgrade to the latest version of Hipchat Server (if you are using Hipchat Server version 2.2.3+ or Hipchat Data Center 3.1.4+ a version upgrade is not required). Next, generate a Hipchat export archive, then import this archive into Slack as a test. This should give you a time table on how long it’ll take to migrate the data over.

Use the migration utility hc-migrate to generate your data export archive. The migration utility exported archive is compatible with the Slack importer.

Details about the migration utility can be found on Exporting from Hipchat Server or Data Center for Data Portability.

If your Hipchat environment has more than 5 million messages, we recommend using the migration utility. To find out how many messages are in the Hipchat instance, paste the following commands in the Hipchat CLI.

Hipchat Server

curl -s GET 'http://localhost:9200/_cat/indices/*'|awk '{sum+=$6}END{print "total: "sum}'

Hipchat Data Center 3.14


sudo dont-blame-hipchat;

export LC_ALL=C;config=/hipchat/config/site.json;export PGPASSWORD=$(jq -r ."databases"."hipchat_postgres"."pass" $config);messages=$(for year in {2015..2019};do for month in {01..12};do psql -U `jq -r ."databases"."hipchat_postgres"."user" $config` -d `jq -r ."databases"."hipchat_postgres"."schema" $config` -h `jq -r ."databases"."hipchat_postgres"."servers[]" $config| cut -d: -f1` -t -c "select sum(muc.id + private.id) from (select count(id) as id from \"muc-$year.$month\") as muc, (select count(id) as id from \"private-$year.$month\") as private";done;done) ; echo $messages | tr ' ' '\n' | awk '{sum+=$1} END {print "total: "sum}'


Exports

When to use the scissortail exporter vs the hc-migrate exporter?

The built-in exporter (dubbed scissortail) and the hc-migrate scripts effectively perform the same function: exporting data in the Hipchat Server deployments.

To sum up: hc-migrate is much quicker than the scissortail exporter and includes more data in the exported archive. The hc-migrate script collects all of the data that scissortail does, plus the following:

  • custom emoticons

  • autojoins - the rooms and people open in the client's left sidebar

  • 'General' and 'Notifications' client preferences

However, the main drawback for hc-migrate is that it does not contain room or user filter arguments much like the scissortail exporter (as the purpose of the script is to migrate data).

In addition, hc-migrate also consumes more resources during the export and it is not recommended to run it during business hours (as this could cause some performance problems with end users).


Export MethodPro’sCon’sWhen to Use

scissortail (built-in)

  • Ranged export arguments (Web in 2.4.3, CLI only in older versions)

  • User and room filter arguments (CLI only)

  • Exporter is built into Hipchat Server (CLI and Web interface controls)

  • Doesn’t consume all available resources during export

  • Can exclude file attachments

  • Slack importer compatible

  • Is much slower than hc-migrate.

  • Can be problematic in earlier versions (v2.2.x and older)

  • Does not include custom emoticons, autojoins or notification client preferences.

  • Not available in Hipchat Data Center.

If you need room and/or user filters or if you need to delegate the export to an admin that doesn’t have CLI access, use this exporter.

hc-migrate (script)

  • Is significantly faster than scissortail exporter.

  • Can exclude file attachments (CLI)

  • Includes all data that scissortail exporter generates, plus custom emoticons, autojoins and 'General' and 'Notifications' client preferences.

  • Higher success rate

  • Ranged export arguments (CLI)

  • Slack importer compatible

  • Works in both HipChat Server and Hipchat Data Center

If you’re using Hipchat Data Center or need the archive as quickly as possible and the Hipchat instance is no longer in use, use hc-migrate.

How to decrypt an export archive?

If you want to view data inside the exported archive without importing them into another Hipchat instance, you can run the following command to decrypt the archive file inside the Hipchat CLI (or any other Linux distribution that has OpenSSL installed).

openssl aes-256-cbc -d -in path_to_encrypted_file -out path_to_decrypted_file -pass pass:<your_password>

Be sure to check the directory you’re in before decrypting and untaring the archive inside the Hipchat CLI as this will uncompress all of the contents into that directory. We recommend doing this on the /file_store/ partition if possible (as it has the most space allotted).


The following table explains those arguments more.

ArgumentNotes
aes-256-cbc
This is the cipher to use to decrypt the file.
-d
This argument is the command to decrypt the file.
-in
Use this to specify the path to the archive file you're about to decrypt.
-out
Use this to specify the path where you want to output the decrypted file.
-pass pass:
Enter the password you created when you exported the archive file.
-mdThis argument is used to adjust the cryptographic hash type

The export archives are encrypted with OpenSSL v1.0.1.

If you use OpenSSL version 1.1 to decrypt the archive, add the parameter "-md md5", when you specify the password. i.e.

openssl aes-256-cbc -d -in path_to_encrypted_file -out path_to_decrypted_file -md md5 -pass

Using the Scissortail Exporter

See Exporting and Importing your Hipchat Data for scissortail documentation.

Below are some additional scissortail commands that are not mentioned in the scissortail documentation

How to export only specific rooms (Using scissortail exporter)

Use the curl command below in the Hipchat CLI:

curl -X POST --header "content-type: application/json" -d '{"user_id":1, "passphrase":"your_password", "include_messages":true, "include_oto":true, "room_filter": [["id", [1, 2]]]}' 127.0.0.1:7777/export/group/1

The values [1, 2] are the database id’s of the requested rooms.

The database id of the room is can be seen in the URL.

Example:

https://<server>/rooms/show/1        relates to the room with database id 1
https://<server>/rooms/show/2        relates to the room with database id 2

How to export 1-1 chats of users (Using scissortail exporter)

Use the curl command below in the Hipchat CLI.

curl -X POST --header "content-type: application/json" -d '{"user_id":1, "passphrase":"your_password", "include_messages":true, "include_oto":true, "oto_filter": [1,2]}' 127.0.0.1:7777/export/group/1

The values [1,2] are database id’s of the requested users.

The database id of a user can be seen in the URL.

Example:

https://<server>/people/show/1       relates to the user with database id 1
https://<server>/people/show/2       relates to the user with database id 2

How to export users and rooms without any messages (Using scissortail exporter)

Use the curl command below in the Hipchat CLI.

curl -X POST --header "content-type: application/json" -d '{"user_id":1,"passphrase":"your_password", "include_messages":false, "include_oto":true}' 127.0.0.1:7777/export/group/1

How to export a specific date/time range (Using scissortail exporter)

Hipchat Server version 2.4.3 supports time range on the export page.

On other Hipchat versions use the command below in the Hipchat CLI.

curl -X POST --header "content-type: application/json" -d '{"user_id":1, "passphrase":"your_password", "include_messages":true, "include_oto":true, "include_attachments":true, "start_date":"2018-10-01T00:00:00+00:00", "end_date": "2016-07-01T00:00:00+00:00"}' 127.0.0.1:7777/export/group/1

‘end_date' represents the earliest date to fetch history, ‘start_date’ represents the latest date to fetch history. ‘start_date’ should be newer than 'end_date’.

Using the hc-migrate Exporter

The hc-migrate script was originally designed to migrate data from Hipchat Server to Hipchat Data Center. It has been recently updated to be able to export data from both Hipchat Server and Data Center as well as provide an ability to skip attachments or define a time range to export. It can do both import and export, however, for the purpose of this document, we’ll be focusing on the export side.

The hc-migrate scripts require that the Hipchat Server version be 2.2.3 or newer and can only be run in the Hipchat CLI.

The following arguments options are available for export (taken from How to migrate from Hipchat Server to Hipchat Data Center)

Export Arguments - hc-migrate

FlagWhat it doesDefault

--export

-e

The location of where to save the exported artifactnone
--aes_passwordThe password to use to encrypt the export artifactnone
--hcdcExport from HCDC, default is HCSfalse
--start_date

The earliest date to fetch history in the RFC3339 format

If set, messages before this date will be skipped.

empty
--end_date

The latest date to fetch history in the RFC3339 format

If set, messages after this date will be skipped.

empty
--skip_attachmentsSkip attachments in the exportfalse

RFC339 format yyyy-mm-ddThh:mm:ss+00:00, for example: 2018-05-01T00:00:00+00:00

How to export a specific date/time range (Using hc-migrate exporter)

Using the hc-migrate export script, you can use ‘--start_date’ and ‘--end_date’ arguments export only that range of data. For instance, in the example below, this command will export data between 5-13-2018 and 5-13-2019 (1 year) and will exclude all data outside of that range.

./hc-migrate --export hc-server.tar.gz.aes --aes_password <PASSWORD> --verbose=true --db_password "`cat /hipchat/config/site.json | jq -r '.databases.hipchat.pass'`" --start_date 2018-05-13T21:11:00+00:00 --end_date 2019-05-13T21:11:00+00:00

Please note that the ‘start’ and ‘end’ date arguments are different in both hc-migrate and scissortail exporters.

  • hc-migrate runs past (start) to present (end)

  • scissortail runs present (start) to past (end)

How to exclude attachments (Using hc-migrate exporter)

Using the hc-migrate export script, you can use the ‘--skip-attachments’ argument to exclude attachments from being included in the archive. This will significantly speed up the export and make the export bundle smaller. Using our example above, you simply need to add the ‘--skip-attachments’ flag to the command:

./hc-migrate --export hc-server.tar.gz.aes --aes_password <PASSWORD> --verbose=true --db_password "`cat /hipchat/config/site.json | jq -r '.databases.hipchat.pass'`" --skip_attachments --start_date 2018-05-13T21:11:00+00:00 --end_date 2019-05-13T21:11:00+00:00

Upgrades

Do I need to upgrade Hipchat?

It is recommended to run the latest Hipchat version or at least a supported version, a version that is not EOL (End Of Life).

While it is technically possible to keep using an Hipchat version past the EOL, please be aware that support will be limited.

Atlassian does not provide support for instances on versions that have reached End of Life. The only exception is for assistance related to upgrading from your EOL version to a supported version. See: Atlassian Support End of Life Policy

How do I check if an update is available for Hipchat Server?

To confirm your current version, use the command below in the Hipchat CLI.

hipchat upgrade --show

To see which version your instance will be upgraded to, use the command below in the Hipchat CLI.

hipchat upgrade --check


On upgrades from version 1.3 or older, please be sure to have at least 5GB of free disk space, give the upgrade at least 45 minutes to complete, and reboot afterward.

How do I upgrade Hipchat Server?

  • Upgrade using the web interface or via the Hipchat CLI

Please see Upgrading Hipchat Server

  • Upgrade without an internet connection.

If your Hipchat environment does not have access to the internet, it is possible to download the required files on an intermediate system, then transferring the files to the Hipchat Server.

For details please see How to perform offline upgrades in Hipchat Server

Other Stuff (HipChat Server only)

How to make Hipchat read-only?

Hipchat does not have a read-only mode feature, however, there are alternatives/workarounds.

See How to make HipChat Server 'read only'

How to increase disk space?

For root and log partitions, see Increasing Disk Capacity

For /file_store and /chat_history partitions, see the instructions that come with your virtual machine.

How to install/update SSL certificate?

For installing SSL certificates or generating CSR’s, please see Creating or Obtaining an SSL Key and Certificate

For troubleshooting SSL certificates, please see Hipchat Server SSL Installation and Troubleshooting Guide







Last modified on Jul 4, 2019

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.