Best practices for continuous addon tests in Jira

Hi,

We’ve got a quite big number of Jira test environments.

1.Test data

What we did. We started with Jira 6.3 and generated the data manually. Then copied home and db to 6.4 updated and so on up to 7.5.
Painful and time consuming.

My idea would be to use Jira rest Api to generate fresh data before tests. Before we do that is there a better way?

2.Licence expiration

Our Jira Dev license and our addon license expires every 12 months. What is the best way to apply a license using Api or rest?

  1. Headless tests on bamboo using Phantom Js

Any recommendations on that one?
I’d appreciate if someone could share his recipe or bamboo specs code samples.

Cheers
Przemyslaw

We did a blog write up at https://www.atlassian.com/blog/continuous-delivery/conquer-your-ci-infrastructure-continuous-integration-thats-lean-and-nimble a while back about it a while back. Because our instances are newly started for each test run we are able to use the timebomb licenses.

Hi @daniel

So what is the process to create a new droplet? Manually setup for each product version?

And how do you apply a timebomb license?

P

We build them once when the initial release is done and then apply and modifications we need to do at the time spin-up (ie if we need to get up to certain patch level - we do it dynamically before starting things up).

As far as time bomb licenses - they’re available on developer.atlassian.com https://developer.atlassian.com/platform/marketplace/timebomb-licenses-for-testing-server-apps/ . We looked at the upm rest call that is made when you key in a license and pass it in that way.

1 Like

@pch Creating fresh data via the REST api works well and that’s what we do.

You might want to check out the Test Data Builder Pattern

2 Likes

Thx for hints.

One more question.
Before you apply the time-bomb license ho do you skip the initial jira setup wizard?
I assume for testing purposes you use hsql db.

Cheers
Przemyslaw

In our case we have the database already where we want it to be at. We’re running against real databases. I would highly recommend that since there are slight variations where activeobjects breaks (I’m looking at you Oracle).