You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

On this page

What are JWT project properties?

Project Properties is a simple mechanism implemented by Jira Workflow Toolbox, to include machine-readable key-value pairs into projects description, using the format {property=value}, thereby operating as an effective way for adding metadata to your Jira projects.

Examples of project properties

The following screenshot shows Jira edit project details dialog with 5 examples of project properties:

  • codeReview: used to enforce or to make optional certain parts of the workflow related to code reviews.
  • maxResponseTime: time elapsed since issue notification to first responders. Can be used to set alarms with JQL filters and subscriptions, to increase priority when the deadline approaches, etc.
  • technology: project technology. Can be used in auto-composed texts, workflow customization, JQL searches, etc.
  • database: database provider. Can be used in auto-composed texts, workflow customization, JQL searches, etc.
  • stageURL: URL of stage environment. Can be used to compose an auto-comment to inform the user where to test the solution before release. 

Purpose of project properties

Customizing workflow behavior depending on projects

Project properties are initially aimed to customize your workflow behavior depending on project features (metadata added to projects in the form of project properties), this way highly improving workflow reusability.

For example you can use project properties to:

  • Enable/disable transitions depending on project properties values
  • Set project customized values for timelines (dates), costs, weights, or any other date or numerical values used in your workflows. Can also be used for implementing non-numerical or non-date attributes
  • Set priorities among projects, that may be inherited to issues, for example by using priority adjustment tables
  • Provide project related metadata that may be used by the workflow post functions to compose project customized dynamic text, setting custom or virtual fields with project customized values, etc, e.g., customer information, servers URLs, etc.

Tools for customizing workflows

  • Conditions and Validators:
    • Check project property: compare the value of a project property with a literal value, a custom or virtual field value, or a composed text, disabling a transition if the comparison fails.
  • Post functions:
    • Set or create project property: updates the value of a project property, or creates it in case it doesn't exist. Works on the current issue's project, or on any project its key can be provided.
    • Read a project property: read the value of a project property and store its value into a custom or virtual field. Works on the current issue's project, or on any project its key can be provided.
  • Function in the boolean Expression Parser, which is used in many features of the plugin:
    Function "projectProperty(property_name)" is available in the plugin's parser for reading the value of project property. The parser is a common module of the plugin available for the following features of the plugin:
    • Condition "Boolean Condition with math, date-time or text-string terms"
    • Validator "Boolean Validator with math, date-time or text-string terms"
    • Post function "Set a field as a function of other fields" and "Mathematical and date-time expression calculator".

Enhancing JQL search capability by project attributes

You can ask for the value of project properties in your JQL queries, by using 3 JQL functions provided by Jira Workflow Toolbox:

  • projectsWhereTextProperty( project_property, operator, string_literal | regular_expression )
  • projectsWhereNumberProperty( project_property, operator, numeric_literal )
  • projectsWhereDateProperty( project_property, operator, date_literal )

You can use it, among other things, to extend the Jira native Project Category concept, by creating several project classifications by using Project Properties.

Setting default assignee for a project role

One of the two ways available in post-function "Assign to project role" for setting default assignee for a project role uses Project Properties with a certain format.

Example

Setting user "feynman" as default assignee for project role "Developers", with internal identifier 10100. As you can be seen in the picture, you can use the name of the project role, or the internal identifier as the project property name. The second option has the de advantage that it's immune to project role renaming. 


If you still have questions, feel free to refer to our support team.