Discussions
-
Clean code in SIL
SIL is a programming language for automating actions in Atlassian Jira and Confluence. You can find more information about SIL here. I often meet code written in SIL and I would like to share with you my thoughts on how to make SIL code clean. First I will provide my rules on SIL clean code and then I will take an example…
-
How to remove a commit from Atlassian Bitbucket
Hello! In this article I will show you how to delete a commit from a Bitbucket repository. Why would we need to delete a commit? It can happen if you accidentally pushed sensitive information into your Bitbucket repository. For example, you forgot to exclude a file with passwords from adding to git or you provided your…
-
How to kill a jvm thread in Atlassian products
Hello! In this article I would like to tell you about a way to kill a jvm thread in Atlassian Server products. Let s first discuss why would we want to kill a jvm thread? Suppose, you see that Atlassian Jira takes too much cpu. You can not restart Atlassian Jira because it would make your Atlassian Jira unavailable. In…
-
Extend the Power Scripts add-on for Jira Server with your own functions
Hello! The Power Scripts add-on lets you customize your Jira Server the way you need. You can read more about the Power Scripts add-on and its features here. In this article will will talk about the Server and Data Center versions of this plugin. Power Scripts uses its own language called SIL. This language hides the…
-
How to write integration tests for Atlassian Jira (jira-func-test-plugin)
Hello! There are three ways to write integration tests in Jira: 1. Wired tests - these tests can check if your exported services in your plugin work correctly. 2. Integration tests written with the help of jira-func-test-plugin and jira-testkit-plugin - these tests check the web-UI of your plugin, using HTTP requests and…
-
Deploy 2 data center nodes of Confluence in docker
Hello! In this article I will show you how you can deploy 2 data center nodes of Confluence in your local environments using the docker image provided by Atlassian. This deployment will not include the load balancer because I need these nodes for app development to check if my app works properly in Data Center environment.…
-
Prometheus Exporters: monitoring web requests
Hello! In this article we will talk about web requests monitoring with Prometheus Exporters. Prometheus Exporters exist in two versions – Lite (free version) and Pro (payed version). There are 4 Lite versions – Prometheus Exporter for Jira Lite, Prometheus Exporter for Confluence Lite, Prometheus Exporter for Bitbucket…
-
Jira Server/Data Center apps: Make REST API Browser see what your POST REST method consumes
In this article I will show you how to make REST API Browser see that your POST REST endpoint consumes application/json in Jira Server/ Data Center apps. Problem Let's create a new Jira Server app via Atlassian SDK and add a new REST plugin module. By default your file…
-
React and Atlaskit in Atlassian Server/Data center apps Part 1
Hello! In this article I would like to provide a solution on how to use React and Atlaskit in Atlassian Server/Data center apps. Intro Currently, if you develop an app for Atlassian Sever/Data center apps all you have for building UI out of the box is vm, soy, requirejs, jquery, backbone. I wrote an article on the out of…
-
Atlassian Jira Docker for Apple M1 processors
I got a new mac device with Apple M1 processor and decided to put up an Atlassian Jira docker container. Official Atlassian docker image does not work for M1 processors. There is a ticket in Atlassian Support to provide a docker image for M1 but it is not resolved on the date of writing this article. That is why I searched…
-
React and Atlaskit in Atlassian Server/Data center apps Part 3
Part 2 Backend I added the following plugins to backend/pom.xml <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>1.0.0</version> <executions> <execution> <phase>generate-resources</phase> <goals> <goal>write-project-properties</goal> </goals> <configuration>…
-
How to clean irrelative ActiveObjects data in Jira backup programmatically
Hello! In this article we will learn how to handle errors with ActiveObjects data upon restoring a Jira backup, and we will write a Jira plugin to clean the ActiveObjects data from a Jira backup file. While installing a backup, we can come across errors with ActiveObjects data. For example, we can see the following errors:…
-
Shared Sprints in Jira Software
Hello! In this article I would like to talk about Shared Sprints in Jira Software. If you look at the official documentation for Jira Software, you will not find any mention about Shared Sprints. The first mention about Shared Sprints I saw in this article. It is written well there, what the Shared Sprint is. Shared…
-
Jira Cloud app: React and Atlaskit
Hello! We created a Jira Cloud app in this article. Now we will add React and Atlaskit to this app. You can take the complete version of the code for this article here. We will start form this code: git clone git clone https://alex1mmm@bitbucket.org/alex1mmm/jira-cloud-hello-world.git --branch v.1 --single-branch Move…
-
Deploy 2 data center nodes of Jira in docker
Hello! In this article I will show you how you can deploy 2 data center nodes of Jira Software in your local environments using the docker image provided by Atlassian. This deployment will not include the load balancer because I need these nodes for app development to check if my app works properly in Data Center…
-
Jira Data Center Docker for M1 processor with 2 nodes and debug mode
Hello! In my previous article I showed how to create your own docker image with Atlassian Jira Data Center for M1 processors. But it is not enough for development of apps. We need to start 2 nodes and each node should be available for connecting in debug mode. I intended to modify my Dockerfile but then I found this repo…
-
Monitoring of Atlassian applications with Prometheus
Hi all, In this article we will talk about real-time monitoring of Atlassian applications. But first, let us define what monitoring is and why it is important to monitor Atlassian applications. Monitoring is used for measuring performance and availability of software applications. Another words, it visualizes the current…
-
Three ways to update an issue in Jira Java Api
In this article I would like to examine three ways to update an issue in Jira, using Jira Java API. I tested all the code, provided in this article, in Jira 7.7.0 and Adaptivist ScriptRunner 5.3.7. I will use Issue.setCustomFieldValue, CustomField.updateValue and IssueService.update methods. I will write example scripts on…
-
Work with your Jira plugin from Adaptivist ScriptRunner or how to avoid code duplication
In this article I would like to discuss code duplication in ScriptRunner scripts. When you begin to write scripts in ScriptRunner you usually put all the required code in a script and then attach the script to a post-function, validator etc. Everything goes smoothly until you realize that you made a mistake in your code or…
-
Performance testing of Jira, Confluence and Bitbucket with dc_app_performance_toolkit Part1
Hello! In these series of articles I want to talk about performance testing of Atlassian Jira, Confluence and Bitbucket. I will not discuss the methodology of performance testing, I will discuss only the technical aspects of performance testing with dc-app-performance-toolkit provided by Atlassian. This toolkit lets you…
-
dc-app-performance-toolkit: run on AWS Linux 2
Hello! In this article we will talk how to use dc-app-performance-toolkit on AWS Linux2. You can watch the video for the article here. dc-app-performance-toolkit is developed by Atlassian to test your Jira, Confluence and Bitbucket Data Center versions for performance. This toolkit is primarily used for testing apps for…
-
atlassian-connect-spring-boot: call bitbucket Rest Api
Hello! In this article we will talk about developing a Bitbucket Cloud app with atlassian-connect-spring-boot. We will change the app developed here. You can find the code for this article here. Add admin page We will delete the current module in backend/src/main/resources/atlassian-connect.json and add the following…
-
Migrate your own data with Jira Cloud Migration Assistant
Hello! In this article I will show you how you can migrate your own data with Jira Cloud Migration Assistant (JCMA). JCMA helps you to migrate Jira Software and Jira Core data from Server or Data Center to Cloud. When you develop your app for Jira Server you can store your data in multiple places: issue properties, project…
-
Library to handle cluster services for all Atlassian Data Center products
Hello! In this article I will show you how to create a library to manage clusters for Atlassian Data Center products. You can find the source code for this article here. You can watch my video here. The problem is that if I want to work with a cluster in Jira, Confluence and Bitbucket, we will have to use 3 different…
-
Deploy 2 data center nodes of Bitbucket in docker
Hello! In this article I will show you how you can deploy 2 data center nodes of Bitbucket in your local environments using the docker image provided by Atlassian. This deployment will not include the load balancer because I need these nodes for app development to check if my app works properly in Data Center environment.…
-
Prometheus Exporter Pro 3+: add a listener metric
Hello! In this article I will show you how you can add your own metric which is counted by a listener event. This article is based on my previous article. The video for the article you can watch here. You can find the final code for this article here. In this article we will write a metric which counts the number of times…
-
Prometheus Exporter Pro v.3+: add custom metric for monitoring web requests
Hello! In this article we will continue to talk about adding custom metrics in Prometheus Exporter Pro v3+. You can read the basics of adding custom metrics here. In this article we will discuss how to add your custom metrics to monitor web requests. You can find the source code for the article here. You can find the video…
-
Prometheus 3+: create calculation function for your custom metric module
Hello! In this article we will continue to talk about adding your own custom metrics. You can find the previous article here. You can find the video for the article here. You can find the final source code here. This time we will discuss how to create a calculation function for a custom metric module and then use the…
-
How to run Jira in a docker container
Everything below is tested on Ubuntu 17.10. I prefer to use Jira in a docker container because: 1. I can install Jira with a couple of commands. 2. I can start and stop Jira just by starting and stopping containers. 3. I can easily delete any Jira, which I do not need. 4. I do not make my folder structure "messy" with all…