Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel

On this page

Table of Contents
exclude(On this page).*
stylecircle
typeflat
separatorpipe

What are JWT project properties?

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

Image Removed

codeReview: used to enforce or to make optional
UI Text Box
sizemedium
typeinfo

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

UI Expand
titleExamples of project properties

added to a project description.

The main goal of the properties is to provide project metadata, which can be referenced and used in multiple JWT features.


Format of JWT project properties

A JWT project property can be added to any project description in the following format:

{propertyKey=propertyValue}

Image Added


The screenshot shows an example with 5 JWT project properties:

Property keyProperty valuePotential use case
codeReviewcompulsoryCould be used to enforce certain parts of the workflow related to code reviews using Condition on JWT project property or Validation of JWT project property.
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.
30Could be used to set individual SLA times per project. These could be used in combination with JWT JQL functions to set up filter subscription or to automatically update an issue priority using an Update field action.
technologyjavaCould be used in many JWT functions or expressions using the Advanced text mode.
databaseoracleCould be used in many JWT functions or expressions using the Advanced text mode.
stageURLhttps://stage/myappCould be used in many JWT functions or expressions using the Advanced text mode.



JWT project properties and workflows

Project properties were initially aimed at customizing

  • 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

    Info
    iconfalse
    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
    • property 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
    • by 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
    Info
    iconfalse

    Conditions and Validators

    :

    Check : 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:

    Post functions

    : 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.
  • Logical expressions

    JWT project properties can be referenced and validated when writing a logical expression in the Logical mode (e.g in the conditional execution parameter of post functions).


    Image AddedAvailable functions

    JWT provides special parser functions to work with JWT project properties.

    Page properties report
    firstcolumnFunction
    headingsShort description, Output
    sortByTitle
    cqllabel in ("miscellaneous","user_group_role_function") and space = currentSpace() and text ~ "project property"

    JWT project properties and JQL

  • 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

    Info
    iconfalse
    You can ask for the value of project properties in your JQL queries, by using 3

    You can use JWT project properties in JQL queries, by using any of the

    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

    Info
    iconfalse

    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.

    Image RemovedAvailable functions

    Page properties report
    firstcolumnFunction
    headingsShort description, Output

    , Available since

    sortByTitle
    cqllabel = "

    miscellaneous

    project-properties" and space = currentSpace() and ancestor = "

    27066621" and text ~ "property"

    projectProperty

    Example

    Info
    iconfalse
    Setting user "feynman" as

    27066670"

    Setting the default assignee for a 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. 

    You can use JWT project properties in the Assign to project role post function for setting a default assignee for a specific project role.


    Image AddedUse cases and examples

    Page properties report
    headingsJWT feature, Workflow function, Parser functions, Label
    cqllabel = "use-case" and parent = currentContent()

    Image Removed


    Excerpt Include
    DECADIS:Contact support
    DECADIS:Contact support
    nopaneltrue


    Status
    Page properties
    hiddentrue


    Tech review

    Status
    colourGreen
    titledone

    Style guide

    Status
    colourGreen
    titledone

    Page status

    Status
    colourGreen
    titletodocomplete

    Status
    titletodo
    Status
    colourYellow
    titleReady for review
    Status
    colourGreen
    titledone
    Status
    colourRed
    titleflagged