Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,366,841
Community Members
 
Community Events
168
Community Groups

Atlassian Jira. Admin evolution. Part 6

Part 5

This solution should be avoided at all cost!

DB triggers and functions

If the manager has been deactivated we need to change this manager to the supermanager user. How to do it? Easy! We will create a trigger for the cwd_user table. And if a user is deactivated then we will update the customfieldvalue.

First we will create a pl sql procedure:

CREATE OR REPLACE FUNCTION public.changeusermanager()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
IF NEW.active <> OLD.active and NEW.active = 0 THEN
update customfieldvalue set stringvalue = 'supermanager' where customfield = 10300 and stringvalue = NEW.user_name;
END IF;

RETURN NEW;
END;
$function$
;

And now we can create a trigger:

create trigger changemanager before
update
on
public.cwd_user for each row execute procedure public.changeusermanager();

Let's check how it works. Open the User Management Jira settings and deactive the manager1 user:

Screenshot 2020-06-10 at 11.08.14.png

Click the Update button and let's open one of our created issues:

Screenshot 2020-06-10 at 11.09.31.png

It worked!

We created a solution for our approval process and ready to inform our manager that the task has been completed!

Conclusion

For this kind of solution we used the following techniques: JSP pages, JavaScript code in its worst form, database triggers and functions. If you have this kind of techniques in your Jira instance, you should be really worried about the quality of your solutions.

Moreover, if you or your Jira administrator/developer use the Developer Tools to find out how Jira works and make JavaScript code based on what he/she noticed in the Developer Tools, your solutions also must be low quality.

In the next articles I will explain why these techniques are low quality and, what is most important, how to make a better quality solutions.

Part 7

2 comments

Even though it work visually you won't have consistent indexes by updating directly on Database and JQL will break, no change logs in the issue from the previous field value...

As you stated in your conclusion, this should be avoided at all cost in Production environment.

Is it possible to add a banner in the top of this article? I was reading thinking that it was a good practice article and I was relieved when I read the conclusion 

Like Kat likes this
M Amine Community Leader Sep 26, 2020

great work

Comment

Log in or Sign up to comment
TAGS

Atlassian Community Events