Advanced JIRA configuration with jira-application.properties

JIRA Documentation

Index

In JIRA, most commonly accessed configuration items are editable from Administration -> Global Settings -> General Configuration. The default values here are set in the file WEB-INF/classes/jira-application.properties. In addition, jira-application.properties contains other properties which are not editable from the web interface. Usually these are of little interest to most users, but sometimes you may wish to edit them. Here is 'jira-application.properties' from JIRA 3.11:


jira-application.properties
# This file contains defaults for application properties
#
# The keys must match up with the keys found in APKeys.java
#
# NB - the values in this file are not automatically
# handed to the application.  The special call
# ApplicationProperties().getDefaultBackedString()
# will return the values in this file if they are not found
# in the database

jira.title = JIRA

jira.lf.logo.url = /images/jira_logo_small.gif
jira.lf.logo.width = 111
jira.lf.logo.height = 30

jira.lf.top.bgcolour =  #003366
jira.lf.top.textcolour = #ffffff

jira.lf.menu.bgcolour = #3c78b5
jira.lf.menu.textcolour = #ffffff
jira.lf.menu.highlightcolour = #003366
jira.lf.menu.texthighlightcolour = #ffffff

jira.lf.text.linkcolour = #003366
jira.lf.text.activelinkcolour = #660000

jira.lf.text.headingcolour = #003366
jira.option.logoutconfirm = never

# By default we want to receive trackbacks, but not send them
jira.option.trackback.send = false
jira.option.trackback.receive = true

jira.lf.date.time = hh:mm a
jira.lf.date.day = EEEE hh:mm a
jira.lf.date.complete = dd/MMM/yy hh:mm a
jira.lf.date.dmy = dd/MMM/yy
# Whether to display dates relative to now, eg. 'Today, 2:12pm'
jira.lf.date.relativize = true

# allowed values for format are "pretty", "hours", "days"
jira.timetracking.format=pretty
jira.timetracking.hours.per.day=24
jira.timetracking.days.per.week=7

# Set this to higher than your expected number of issues, if you want date range searches across all issues to work. See JRA-3127
jira.search.maxclauses=65000

# Whether to include pagebreaks between issues in the full content view. Setting to 'true' may break old Mozilla-based browsers - see JRA-4226
jira.search.fullcontentview.pagebreaks = true

# if you want to override your jvm locale uncomment the line below
# jira.i18n.default.locale = en_US

# These two properties need to match for the datepicker to perform correctly
# The first date is in Java format
# (http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html).
# The second in unix format (see the FORMAT section of http://unixhelp.ed.ac.uk/CGI/man-cgi?date)
# After editing ensure the date picker creates valid dates, we also recommend you make this format the same as Day/Month/Year Format
# in the administration section of JIRA
jira.date.picker.java.format = d/MMM/yy
jira.date.picker.javascript.format = %e/%b/%y

# These two properties need to match for the datetime picker to perform correctly
# The first date is in Java format
# (http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html).
# The second in unix format (see the FORMAT section of http://unixhelp.ed.ac.uk/CGI/man-cgi?date)
# After editing ensure the date time custom field picker creates valid dates
jira.date.time.picker.java.format = dd/MMM/yy hh:mm a
jira.date.time.picker.javascript.format = %e/%b/%y %I:%M %p

# These list the templates that can be used for generating changlogs.
# For each template, there needs to a corresponding entry in *both* properties
jira.releasenotes.templatenames = Text, Html
jira.releasenotes.templates = releasenotes-text.vm, releasenotes-html.vm

# By default, we should enable thumbnails
jira.option.allowthumbnails=true

# Whether to show the 'Remember my login on this computer' checkbox on login.
# Storing cookies is conceivably a security risk if users frequently use shared computers
jira.option.allowcookies=true

# Thumnail width and height params for creating thumbnails
# If you change this value, then you need to delete the thumbnails ('*_thumb_*') currently stored on disk
jira.thumbnail.maxwidth=200
jira.thumbnail.maxheight=200

# If you would like to disable the screenshot applet set this property to false
jira.screenshotapplet.enabled=true

# The number of attachment boxes to show on the attach file screen
jira.attachment.number = 3

# The prefix added to the summary of cloned issues and the clone linktype name
jira.clone.prefix = CLONE -
jira.clone.linktype.name = Cloners

# Project Key Pattern
# Specify the perl5 regexp for defining the project key - this regex will be prepended with "^" and closed with "$" for an exact matching rule.
# Note that the project key must only be allowed to contain ASCII characters, as it is used in HTTP GET requests.  This means that
# you should not allow slashes (/) in your project keys, as they will make it impossible for JIRA to distinguish between
# project keys and unrelated URL parts.  See http://jira.atlassian.com/browse/JRA-12819 for more information.
#
# Also specify the warning and description that will be displayed to inform the user how the project key should be formed.
#
# If you wish to have alphaNumeric project keys, use the pattern:  ([A-Z][A-Z0-9]+)
jira.projectkey.pattern = ([A-Z][A-Z]+)

# Uncomment the following option if you'd like to revert back to the old issue key detection behaviour.
# For more info see http://jira.atlassian.com/browse/JRA-12354
#
#jira.option.key.detection.backwards.compatible=true

# The 2 properties below use the i18n packages to obtain the project key warning and description
# However it is still possible change the text here. For example, the below will still work:
# jira.projectkey.warning = This is a test warning!
jira.projectkey.warning = admin.errors.must.specify.unique.project.key
jira.projectkey.description = admin.projects.key.description

# If this is true, JIRA will removed invalid characters during an import
# WARNING: Don't enable under Tomcat in 3.0-beta, as it breaks things
jira.exportimport.cleanxml = true

# Specifies the From: header format in notification emails. Default is of the form "John Doe (JIRA) <jira@company.com>".
# Available variables are ${fullname}, ${email} and ${email.hostname}
# If commented out, format is just 'jira@company.com'.
jira.email.fromheader.format = ${fullname} (JIRA)

# Set the encoding to use in outgoing emails
# jira.i18n.email.encoding = UTF-8

# Auto Export
# Configure if auto export occurs on upgrade
jira.autoexport=true

# HTML header to put across the top of all pages (if set).  This can be used to communicate system wide information
#jira.alertheader =
# Set the visibility of the HTML alert header. values are: 'public' (show to anyone) or 'private' (show to logged in users only)
jira.alertheader.visibility=private

# The default order of actions (tab items like comments, change history etc) on the view issue screen, by date, from top to bottom
# Possible values are: asc desc
jira.issue.actions.order=asc

# A prefix for the custom field that links to the old issue for imported issues (eg Mantis / Bugzilla)
# Bugzilla example:
# jira.importid.prefix = http://localhost/bugzilla/show_bug.cgi?id=
# Mantis example:
# jira.importid.prefix = http://localhost/mantis/bug_view_advanced_page.php?bug_id=
# Commenting out this property will render the ID non-linked.
# Special (default) value 'unconfigured' notifies the admin that the property needs configuring
jira.importid.prefix = unconfigured

# Option determining how user email addresses are displayed on the profile page
# The options are "show", "mask", "hide", "logged-in"
jira.option.emailvisible = show

# Option to control the maximum number of issue records that will be retrieved in one database 'OR' query
# A larger value should lead to better performance, however will consume more database resources
# Please ensure the database has enough resources to handle large 'OR' queries if you are increasing this value
jira.databasequery.batch.size = 100

# Option to set how many issues to fetch at once for re-indexing
# This number of issues is fetched at once from the database & re-indexed.
# This option limits the amount of memory used by JIRA whilst re-indexing
jira.issueindex.fetch.size = 200

# Option specifying the CVS root type to pass when accessing ViewCVS
# Example ViewCVS URL: http://viewcvspath/viewcvs.cgi/path?<CVS ROOT _TYPE>=cvs_root
# Valid CVS root types are:
# 1. cvsroot
# 2. root
jira.viewcvs.root.type=cvsroot

# Specifys the default values for user preferences
# notifcation mimetype preference, html or text emails
user.notifications.mimetype=text
# number of issues per issue navigator page
user.issues.per.page=50
# does the user want to be notified about their own changes on watched issues
user.notify.own.changes=true

# A space/comma separated list of reserved words that cannot be used as key-words
# Please see JRA-8051 for more information.  Generally this is a list of keywords
# that are reserved, and cannot be used for creating directories on the filesystem
jira.projectkey.reservedwords.list = PRN, AUX, CLOCK$, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, CON, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9

# Controls the maximum number of users that will be displayed for a group when
# managing user membership in bulk
jira.usermanagement.maxdisplaymembers = 200

# Option specifying if a string containing URLs with a JIRA Key on the end
# should be considered to contain a JIRA Key.
# Set to true to ignore keys on the ends of URLs
# Set to false to include keys on the ends of URLs
jira.option.ignore.url.with.key=true

# Option to disable email notifications for all bulk change operations
jira.option.bulk.send.notifications=true

# Should we show the form for creating subtasks in the parent issue even when there are no subtasks yet?
jira.view.issue.show.quicksubtask.when.no.subtasks=false

# Specifies the sort order of the issue links on the view issue screen.
# The value is a comma seperated list of 'key', 'type', 'status', 'priority' or 'resolution'
jira.view.issue.links.sort.order = type, status, priority

# The columns to view when viewing issues in a table.  The values that you can put
# here are valid values from IssueFieldConstants.
jira.table.cols.linkedissue = issuetype, issuekey, summary, status, priority

# The columns to view when viewing issues in a table.  The values that you can put
# here are valid values from IssueFieldConstants.
# Note that the summary field is put in by default, as it uses a different summary field to normal
jira.table.cols.subtasks = issuetype, status, assignee, progress

# This template formats the sub-task quick creation form that appears on the View Issue page.
# Horizontal and vertical forms are provided (vertical works better if fields need labels or use textareas)
#jira.subtask.quickcreateform.template = templates/jira/issue/subtask/quickcreationform-vertical.vm
jira.subtask.quickcreateform.template = templates/jira/issue/subtask/quickcreationform-horizontal.vm

# The fields to show on the sub-task quick creation form that appears on the View Issue page
# The values must be valid issue field ids (see IssueFieldConstants class) and can contain custom fields
# The issue field id may be followed by the label text or an i18n message key for the label, separated by colon (':').
# This will be used to display the label for this field if horizontal template is selected.
# The format of the custom field is 'customfield_<id>' where <id> is the numeric id of the field in the database
# Field values may be preset, eg. 'summary,issuetype=7,assignee=-1' where only 'summary' would show.
jira.subtask.quickcreateform.fields = summary,issuetype,,assignee

# Specified the 'wait time' for a file lock in the Lucene IssueIndexManager (in milliseconds)
# This value should only be modified if you are seeing a jira.issue.index.DefaultIndexManager 'Giving up reindex' ERROR
# in your log files or requested to do so by Atlassian support.
jira.index.lock.waittime=30000

# Number of issue index updates before automatic index optimization is triggered
jira.index.max.reindexes=4000

# Number of issue indexes performed in bulk that will trigger index optimization
jira.index.update.bulk.optimization=400

#--------------------------------------------------------------------------------------------
# Lucene IndexWriter settings
#--------------------------------------------------------------------------------------------

# Maximum number of Terms (words) that will be indexed for each field (eg. Issue Description or Environment)
jira.index.maxfieldlength = 10000

## Note: cannot set maxmergedocs any higher than 2147483647 as that is the MAXIMUM value for an integer

#
# Batch mode
#

jira.index.batch.mergefactor = 50
jira.index.batch.maxmergedocs = 2147483647
jira.index.batch.maxbuffereddocs = 300

#
# Intereactive mode
#

jira.index.interactive.mergefactor = 4
jira.index.interactive.maxmergedocs = 2147483647
jira.index.interactive.maxbuffereddocs = 300

#--------------------------------------------------------------------------------------------

# Setting for comment visibility level for project roles and groups
# true = Both Groups and Project Roles enabled
# false = groups disabled
jira.comment.level.visibility.groups=false

# Setting for how many schemes you can run a comparison against at one time. This should stay at or around 5 as
# the tool presents far too much information as the number goes up.
jira.schemes.comparison.max=5

# The number of recipients to send in each email when using the 'send bulk email' function in JIRA.
jira.sendmail.recipient.batch.size=100

# A counter that signifies the last time that static web resources were flushed
jira.webresource.flushcounter=1

# Number of results to display in the AJAX autocomplete pickers
jira.ajax.autocomplete.limit=20

# Whether or not ajax issue picker is enabled
jira.ajax.autocomplete.issuepicker.enabled = true

# The max number of users that can be used with AJAX user picker
jira.ajax.autocomplete.userpicker.limit = 5000

##
# The maximum number of results to issue navigator will request from a query
# - set this to zero or negative to be unrestricted (note that the server may forbid this, see below)
#
jira.search.views.default.max = 1000

##
# Whether search results are capped to a hard limit, otherwise return a 403 (Forbidden) to the client.
#
# Set this to negative (-1) or empty for unlimited results.
#
# NOTE: this SHOULD BE EQUALS OR GREATER THAN than jira.search.views.default.max above, otherwise all issue navigator links will fail with a 403
#
#jira.search.views.max.limit =

##
# Regardless of the above, users in this group will be able to request search requests that are unlimited.
#
# This MUST be a valid group or empty.
#
#jira.search.views.max.unlimited.group =

Making changes to jira-application.properties

The process of changing this file depends on whether you are running JIRA Standalone (JIRA deployed as an 'open' webapp) or JIRA deployed as a packed '.war' file deployed in an app server.

JIRA Standalone

The file is located in atlassian-jira/WEB-INF/classes/jira-application.properties. Edit the file here, and then restart JIRA by running bin\shutdown.bat and bin\startup.bat (or .sh equivalents).

JIRA as a webapp

If you have downloaded the .WAR/Webapp distribution of JIRA:

  1. Copy webapp/WEB-INF/classes/jira-application.properties to edit-webapp/WEB-INF/classes/jira-application.properties
  2. Make your changes in edit-webapp/WEB-INF/classes/jira-application.properties
  3. In the root directory, run build.bat or build.sh to regenerate the webapp (.war file)
  4. Redeploy the new .war file in your app server.

See also

Setting properties and options on startup - for changes like setting available memory, disabling email, enabling Jelly, etc.

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Aug 14, 2006

    Karl-Koenig Koenigsson says:

    It would be splendid with some elaboration on the different properties that can ...

    It would be splendid with some elaboration on the different properties that can be set this way.

    I am, in particular, interested in Project Key Pattern, and want to know what caveats there are if I change this. I have requests from the developers to try to make the project key better reflect the particual branch of the code they apply to and am considering changing this to include underscore and digits, and perhaps even allowing lower case characters.

     I realise that there might be problems involved with this but I can not forsee them all, hence the need for some best-practices here, I suppose.

    1. Aug 17, 2006

      Nick Menere says:

      Hi, you should be able to use most ASCII characters without a problem. It usuall...

      Hi, you should be able to use most ASCII characters without a problem.
      It usually best practice to keep the keys, short and memorable. I have seen numbers work well as well.
      Lower case will not work as we upper a lot of the keys. All keys are case insensitive.

      Cheers,
      Nick

  2. Sep 18, 2006

    hugo says:

    We need numbers in the Project Key. So, when I change the pattern, what's the up...

    We need numbers in the Project Key. So, when I change the pattern, what's the update scenario. Do I have to update manually jira-application.properties for every update? Or are those handled the same way as the configuration changes in the Administration section?

    1. Sep 18, 2006

      Michelle de Guzman says:

      Hi Marc, When you say update, do you mean when you need to upgrade JIRA? If so ...

      Hi Marc,

      When you say update, do you mean when you need to upgrade JIRA? If so the following doc on Upgrading JIRA:

      http://www.atlassian.com/software/jira/docs/latest/upgrading.html

      states that you must update the new properties file with your changes.

      Hope that helps.

      -Michelle

      1. Sep 19, 2006

        hugo says:

        Hi Michelle Thanks for the answer. I hope the settings of jiraapplication.prope...

        Hi Michelle

        Thanks for the answer. I hope the settings of jira-application.properties wander one day into the database...

        Cheers, Marc

  3. Nov 14, 2006

    Harry Saddler says:

    Is it possible to specify the component in the project key? For example, for iss...

    Is it possible to specify the component in the project key? For example, for issues in project "Foo" and component "Bar", then the pattern might be something like "Foo$Bar", and the keys would be FooBar1, FooBar2, etc.

    1. Nov 14, 2006

      Harry Saddler says:

      Oops... what I meant was "Foo$component" produces FooBar1, FooBar2, etc.

      Oops... what I meant was "Foo$component" produces FooBar1, FooBar2, etc.

      1. Nov 16, 2006

        Lee Kay Nny says:

        I doubt this idea will ever be implemented. An issue is tracked under a project ...

        I doubt this idea will ever be implemented. An issue is tracked under a project with the possibility of being under multiple components of it.

        I can't imagine how complex the key name will turn out to be due to multiple components or component name changes.

        Cheers,
        Kay Nny

        1. Nov 17, 2006

          Harry Saddler says:

          The rationale for this is that the issue number is a commonlyused term in discus...

          The rationale for this is that the issue number is a commonly-used term in discussion, e.g. "who's dealing with FOO-UE-289?" In this example, I know it's a user experience issue.

          1. Jan 31, 2007

            George Zhang says:

            I don't think it is a good idea to specify the component in a key.&nbsp; You kno...

            I don't think it is a good idea to specify the component in a key.  You know some issues are caused by a defect in system design and we cannot simply say that they are in a single component. 

            What's more, I even doubt the fact that an issue's key is associated with the project key.  A project will be closed but the product will exist.  Not all issue, or bugs found in a project will necessarily be fixed before the project is closed.  Later you will start a new project to improve the product, those issues not fixed should be reused instead of creating some issues same as those not fixed before. 

            In short, a bug is found in, as a negative feature of, a product, a release, a build, or a work product. It is not a feature of a project. Its ID or key should be maintained automatically by the bug tracking system and independently of any projects.

            You know what. I don't like many phrases and terms used in JIRA. For example, project component is very confusing. A product component, or simply a component, is more reasonable.

        2. Jan 31, 2007

          George Zhang says:

          I agree&nbsp;with you&nbsp;on an issue possibly being in multiple components. An...

          I agree with you on an issue possibly being in multiple components.

          And also we thought an issue was in component A and now we know it is in component Z in fact. Change its key? Yes! But you will find the references to it become rubbish!! A key should not be changed at will!!!

  4. Aug 13, 2007

    Royce Wong says:

    For jira.subtask.quickcreateform.fields, the comment says "The values must be va...

    For jira.subtask.quickcreateform.fields, the comment says "The values must be valid issue field ids (see IssueFieldConstants class)". I looked at IssueFieldConstants (http://docs.atlassian.com/software/jira/docs/api/3.10/com/atlassian/jira/issue/IssueFieldConstants.html), I found summary,assignee but not issuetype. Maybe the comment need to be corrected?

  5. Jan 30, 2008

    luke crouch says:

    how would I add "Original Estimate" to the subtask quickform? I tried using the ...

    how would I add "Original Estimate" to the subtask quick-form? I tried using the value specified in (http://docs.atlassian.com/software/jira/docs/api/3.12/constant-values.html#com.atlassian.jira.issue.IssueFieldConstants.TIME_ORIGINAL_ESTIMATE):

    jira.subtask.quickcreateform.fields = summary, issuetype=7, assignee, timeoriginalestimate

    when I try to submit the quick subtask form. stacktrace below: 

    java.lang.NullPointerException
    at com.atlassian.jira.issue.fields.screen.issuetype.DefaultIssueTypeScreenSchemeManager.getFieldScreenScheme(DefaultIssueTypeScreenSchemeManager.java:126)
    at com.atlassian.jira.issue.fields.screen.FieldScreenRendererImpl.(FieldScreenRendererImpl.java:50)
    at com.atlassian.jira.issue.fields.screen.FieldScreenRendererFactoryImpl.getFieldScreenRenderer(FieldScreenRendererFactoryImpl.java:35)
    at com.atlassian.jira.web.action.issue.IssueCreationHelperBeanImpl.createFieldScreenRenderer(IssueCreationHelperBeanImpl.java:167)
    at com.atlassian.jira.web.action.issue.CreateIssue.getFieldScreenRenderer(CreateIssue.java:228)
    at com.atlassian.jira.web.action.issue.CreateSubTaskIssueDetails.getFieldScreenRenderer(CreateSubTaskIssueDetails.java:133)
    at com.atlassian.jira.web.action.issue.CreateSubTaskIssueDetails.hasMandatoryFields(CreateSubTaskIssueDetails.java:142)
    at com.atlassian.jira.web.action.issue.CreateSubTaskIssueDetails.doValidation(CreateSubTaskIssueDetails.java:78)
    at webwork.action.ActionSupport.validate(ActionSupport.java:373)
    at webwork.action.ActionSupport.execute(ActionSupport.java:150)
    at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54)
    at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132)
    at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:211)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:73)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
    at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
    at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:114)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:110)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
    at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:43)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:50)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:350)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:89)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)

    1. Feb 23, 2008

      Francis Martens says:

      Same problem here.

      Same problem here.

    2. Feb 27, 2008

      Ian Daniel [Atlassian] says:

      Hi Luke and Francis, The solution to this is to use "timetracking" instead of "...

      Hi Luke and Francis,

      The solution to this is to use "timetracking" instead of "timeoriginalestimate". See JRA-14542. As documented there, I was able to reproduce that the field didn't appear if you used "timeoriginalestimate", but not your NullPointerException.

      If using "timetracking" doesn't fix it for you, can you please create a case in our support system, https://support.atlassian.com.

      Kind regards,
      Ian


      Ian Daniel
      JIRA Support Lead
      ATLASSIAN - http://www.atlassian.com
      Tried our new products yet? http://www.atlassian.com/software