Archive

Jira Workflow Report Update

I’ve refreshed the workflow plugin a bit. If you want jump straight to the installation section.

A problem I’ve noticed with the workflows people create (not my own ones of course!) is that the resolution is often inconsistent.

This might stem from a lack of understanding of the resolution field and what it’s used for. In the default workflow, there is a state called Resolved, and when you get to that state the resolution must be set, and if you reopen the issue it’s unset, so people tend to think it happens by magic. It doesn’t, that’s the way the default workflow has been written, and there is no relationship between workflow states and the resolution, unless you define one. Continue reading ‘Jira Workflow Report Update’

Confluence Groovy Runner

This simple plugin allows you to run Groovy scripts in the context of confluence. Groovy scripts have full access to the API.

This is in the same spirit as the Jira groovy runner, that is, it lets you quickly develop proofs of concepts and simple macros, without having to worry about all the boilerplate of a Confluence plugin, and the agonisingly slow edit-debug-deploy cycle (even with JavaRebel). Developing should be as simple as adding your macro, saving the page, make changes to your groovy script, then reload the page.

If you use IDEA (probably true of Eclipse too) you can attach the debugger, and break in to your groovy scripts.

Example page output from running the three supplied scripts:

conflu1.gif

Continue reading ‘Confluence Groovy Runner’

Impersonating another user within JIRA

This plugin allows an administrator to impersonate another user, i.e. to
become that user in jira, without knowing their password - which is often
impractical if authentication is handled by LDAP.

Impersonation is useful for administration of shared filters, shared
dashboards, double-checking a user has permission to do an action etc.

The implementation is surprising simple, so simple in fact that I doubt it
will work in all circumstances. So far I have only tested on Jira 3.12.2
and Jira 3.13, with the DefaultAuthenticator and also an SSO solution that we use.

Installation

Drop the jar file: jira-plugin-switchuser-09.jar in to WEB-INF/lib and restart.

Note: This is compiled with Java 5 so you must be using a Java 5 or above
JVM. If you are still on 1.4 consider upgrading or compile the source yourself.

Usage

In the Administration page, under “User, Groups & Roles” you should see a new
link “Switch User”. Further details are on that page.

Synchronising LDAP Groups with Confluence Groups

 I set up Confluence to integrate with our LDAP infrastructure, to take advantage of protecting spaces with LDAP groups. We had performance issues but I increased the cache timeout in the confluence-coherence-cache-config.xml properties file as documented here.

I then thought everything was well as performance seemed “OK”, however reports of poor performance, like 15-25 seconds to get the dashboard page, started to trickle through to me. It turned out I had been in a fool’s paradise, as if you are in the confluence-administrators group all the permissions checks are bypassed.

Continue reading ‘Synchronising LDAP Groups with Confluence Groups’

Setting issue security level by issue type

 It’s not possible in JIRA to create an Issue Security Scheme by issue type. For instance, you may want that defects should default to Private, and enhancements should default to public (or none). You might expect that issue type security scheme would be a mapping of issue types to issue security schemes (in the same way as Field Configuration Schemes), but unfortunately not.

There are two ways to get round this, one using Javascript, one with a post-function.

Continue reading ‘Setting issue security level by issue type’

Categorising Projects in the JIRA Project Picker

We have around 250 projects in JIRA, and the list of projects was becoming unmanageable when creating an issue, and in the issue navigator. I modified the templates so it groups them in to “my” projects, versus “other” projects:

img21.jpg

Continue reading ‘Categorising Projects in the JIRA Project Picker’

Showing Unavailable Actions

 BTW - sign-up to the blog is currently not working, so you cannot comment.

This is an attempt to deal with something I’ve mentioned previously, and is JRA-5705:

The problem I have with conditions, is that when a condition is failed, the transition is not displayed. This can lead to confusion for users - “I’m sure I saw that action the last issue I looked at, and I think I’m supposed to resolve this, but the link isn’t there”… followed by a support call.

Ideally if a condition is failed the link should be present but disabled… when you mouse over it it could you give you some explanatory text, eg “Cannot resolve because this issue depends on issues that are not resolved”. You could provide that message as a parameter in the condition.

I had a bit of a monkey around with the code and came up with this:

imgb7.gif 

Continue reading ‘Showing Unavailable Actions’

Deactiveating Old JIRA Users

BTW - sign-up to the blog is currently not working, so you cannot comment.

I’m trying to make our installation JIRA as self-supporting as possible. This means things like using SSO so there are no separate passwords for users to remember, and of course forget, and automatic creation of users on their first visit to jira. Of course, this is only possible for sites whose users are all internal.

Something else that we need to do is deactivate users who have left the firm. That’s not for security reasons, but to:

  • keep the number of users in jira-users below the soft limit for the ajax user picker - 5000.
  • help keep drop-down lists like assignee manageable, project managers won’t remember to update the roles for their project when someone leaves.
  • keep tabs on which projects are active - eg if there are no projects admins for a project, perhaps it’s time to close that project down or assign someone else.
  • and regularatory reasons - we need to confirm on a periodic basis that each user should still be members of their roles - the fewer the active users, the easier that is.

The logic is simple enough - for each user in jira-users, work out if the user should be retired, if so remove them from all groups and roles they are in.

Continue reading ‘Deactiveating Old JIRA Users’

Copy Project Plugin

This plugin allows you to create a new project based on another, basically it attempts to copy everything except the issues. It will copy:

  • Schemes
  • Role memberships
  • Custom field configurations
  • Optionally, versions and components.

copyproject.png

Continue reading ‘Copy Project Plugin’

JIRA-Groovy Plugin

This plugin moved to http://confluence.atlassian.com/display/JIRAEXT/Groovy+Runner. There is some background info here though.

I discovered the JIRA Groovy Runner recently, whilst looking for a starting point to integrate Jython in to JIRA. I succeeded in adding a Python runner, but then realised it wasn’t particularly useful, me not being a strong Python programmer.

However, it did make me look harder at the Groovy Runner, and manage to extend it somewhat to cover Conditions, Post-Functions, Validators and services… In theory you can cover all the areas where JIRA provides something to hook in to, eg Portlets, Reports, Listeners, Services etc.

Continue reading ‘JIRA-Groovy Plugin’




; Maximum allowed size for uploaded files. upload_max_filesize = 100M