JWT project properties

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}

image2020-9-23_10-8-59.png

The screenshot shows an example with 5 JWT project properties:

Property key

Property value

Potential use case

codeReview

compulsory

Could 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

30

Could 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.

technology

java

Could be used in many JWT functions or expressions using the Advanced text mode.

database

oracle

Could be used in many JWT functions or expressions using the Advanced text mode.

stageURL

https://stage/myapp

Could 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 your workflow behavior depending on project features (metadata added to projects in the form of project properties).

For example you can use project properties to:

  • Enable/disable transitions depending on project property values.

  • Set project customized values for timelines (dates), costs, weights, or any other date/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 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.

Conditions and Validators

Post functions

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).

Available functions

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

Function Short description Output
defaultUserForRole()

Returns the user name of the default project role user. 

text

groupsUserBelongsTo()

Returns all groups for given users.

text list

projectKey()

Returns the project key from a given project.

text

nextUserInGroup()

Returns the name of the next active user in a group.

text

displayNameToUser()

Returns the user name for a given user.

text

rolesUserPlays()

Returns all project roles for given users.

text list

projectIDFromKey()

Returns the internal ID for given project keys.

text

leastBusyUserInRole()

Returns the name of the user in a given project role with the lowest number of unresolved issues assigned.

text

projectLeader()

Returns the project lead

text

usersWithEmail()

Returns the user names of users matching a given email address.

text list

isActive()

Checks whether users are active

boolean

projectLead()

Returns the project lead

text

projectKeys()

Returns specific project keys.

text list

isAClone()

Checks whether an issue is a clone.

boolean

componentLeads()

Returns the user name(s) of specified component leads

text

usersInGroup()

Returns the user names of active users in a given group.

text list

allCommenters()

Returns all comment authors and updaters

text list

getUserKey()

Returns the user key of a given user.

text  

projectPropertyExists()

Checks whether a project property exists.

boolean

projectType()

Returns the type of a given project.

text

attachmentUrls()

Returns all attachment URLs of the given issue(s).

text list

allCommentDates()

Returns the dates of specified comments

number list

userProperty()

Returns the values of user properties.

text

userFullName()

Returns the full name of a given user.

text   text list

isJwtTriggeredTransition()

Checks whether a transition was executed by a JWT post function.

boolean

isInGroup()

Checks whether users are a member of a specific group.

boolean

usersWhoTransitioned()

Returns the names of the users who executed a certain transition.

text list

filledInTransitionScreen()

Checks whether a selected field has has been populated on the transition screen.

boolean

projectName()

Returns the name of a given project.

text

issueKeyFromID()

Returns the issue key for given issue IDs.

text

timesOfTransition()

Returns the timestamps of when a certain transition was executed.

number list

userDisplayName()

Returns the full name of a given user.

text   text list

lastAssigneeInRole()

Returns the user name of the last assignee in a given project role.

text

issueIDFromKey()

Returns the internal ID for given issue keys.

text

allCommentCreators()

Returns all comment creators

text list

isBulkTriggeredTransition()

Checks whether a transition was executed by a bulk operation.

boolean

usersInRole()

Returns members of a given project role.

text list

allComments()

Returns defined comments

text list

userEmail()

Returns the email address(es) of given users.

text   text list

fullNameToUser()

Returns the user name for a given user.

text

isInRole()

Checks whether users are a member of a specific project role.

boolean

projectProperty()

Returns the value of a given project property.

text

projectCategory()

Returns the project category of a given project.

text

JWT project properties and JQL

You can use JWT project properties in JQL queries, by using any of the JQL functions provided by Jira Workflow Toolbox:

Function Short description Output
projectsWhereDateProperty()

Returns projects with specific properties containing a date

text list

usersWithDateTimeProperty()

Returns users with specific date or date-time properties.

text list

projectsWhereNumberProperty()

Returns projects with specific numeric properties.

text list

projectsWhereTextProperty()

Returns projects with specific text properties.

text list

Setting the default assignee for a project role

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

📚 Use cases and examples