Parser function server | Parser function cloud | Map | Notes |
---|---|---|---|
siblingIssuesUnderEpic() | siblingIssuesUnderEpic() | ||
userDisplayName() | Workaroundissue.reporter.displayName //and issue.watchers.map(u=>u.displayName) Only possible to access it using an user field, but it is not possible to access to an user with an username, only with the account ID. | ||
filterByPredicate() | WorkaroundText list let list = ["abc", "def", "ghij", "klmn"]; list.filter(t=> t.length>3) Number list let list = [3,2,5,1,6,0]; list.filter(t=> t>3) Issue list let current = issue; let list = issue.links.map(l=>l.linkedIssue); list.filter(i=>i.priority>=issue.priority) It won't be possible to use the seed itself, but as long as you have the current issue and the list of issues in variables, it's possible to replicate the functionality. | ||
getRemoteLinks() | |||
count() | count() | ||
mathOnNumberList() | WorkaroundJust like for mathOnIssueList() but using a number list. | ||
componentLeader() | Not possible to replicate because the only available component's properties are ID and name. | ||
defaultUserForRole() | It's only possible to access to the ID, name and description of the Project Roles. | ||
lastDayOfTheMonth() | Workaround%{stringToDate(toString(year({issue.created}, RUN_AS_LOCAL)) + "/" + toString(month({issue.created}, RUN_AS_LOCAL)) + "/" + toString(getMatchingValue(month({issue.created}, RUN_AS_LOCAL), [1,2,3,4,5,6,7,8,9,10,11,12], [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31])), RUN_AS_LOCAL)} | ||
round() | round(number) | ||
timeLogged() | Workaround%{sum(toNumberList(jiraExpression("issue.links.map(l=>l.linkedIssue) .map(e=>e.timeSpent)")))} It's only possible to do it using our General parser. | ||
filterByResolution() | Workaroundlet list = issue.links.map(l=>l.linkedIssue); list.filter(i=>i.resolution!=null && ["Done", "Resolved"].includes(i.resolution.name)) | ||
filterByIssueType() | Workaroundlet issues = issue.links.map(l=>l.linkedIssue); issues.filter(i=>i.issueType.name=="Bug") | ||
linkedIssues() | linkedIssues() | The Cloud's version doesn't include Epic-Tasks links. | |
project() | Workaroundnew Project(10000) | ||
isAClone() | WorkaroundThere is no direct way of implementing the same behaviour, but we can filter an issue list comparing some of its fields with the Current issue, so we can check if the current issue has the same fields as any other on that issue list, which would mean that it is a clone. For example: let current = issue; let list = issue.links.map(l=>l.linkedIssue); list.some(i=>i.priority==issue.priority && i.summary==issue.summary) | ||
mathOnIssueList() | Workaroundlet list = issue.links.map(l=>l.linkedIssue); list.map(i=>i.customfield_10016 * issue.customfield_10017) It can be done as long as the mathematical calculations are not complex. | ||
lastAssigneeInRole() | Not possible to access the historic values of the Assignee field. | ||
withinCalendar() | Not possible because JWT's Calendars are not implemented in the Cloud version. | ||
year() | year() | ||
userEmail() | Not possible to access to a user's email. | ||
wikiToHTML() | Not possible to convert the rich text wiki content into HTML. | ||
weekOfTheYear() | Not possible to access to that kind of information. | ||
usersWithEmail() | Not possible to access to a user's email. | ||
usersWhoTransitioned() | Not possible to get the user who transition an issue. | ||
usersInRole() | Not possible to get all the users that belongs to a project role. | ||
usersInGroup() | Not possible to get all the users that belongs to a group. | ||
userProperty() | Workaorundissue.reporter.properties.get("key") This should work, but it is not working for me. | ||
userFullName() | Workaorundissue.reporter.displayName //and issue.watchers.map(u=>u.displayName) Only possible to access it using an user field, but it is not possible to access to an user with an username, only with the account ID. | ||
unreleasedVersionsBySequence() | Not possible to access to the versions that belongs to a project, only to the versions that belongs to an issue. | ||
unreleasedVersions() | Not possible to access to the versions that belongs to a project, only to the versions that belongs to an issue. | ||
union() | union() | ||
unescapeHTML() | It's not really necessary a workaround, because, for example, if the HTML escapes are in the description and in the summary, then we can just do the following: issue.summary //or issue.description.plainText //Because it's rich text | ||
trim() | trim() | ||
transitivelyLinkedIssues() | Workaround%{union(linkedIssues("is blocked by", linkedIssues("is blocked by")), linkedIssues("is blocked by"))} Using our General parser we can access the current issue's linked issues and theirs linked issues. | ||
transitionLinkedIssues() | Not possible because that kind of information is not available. | ||
toUpperCase() | toUpperCase() | ||
toStringList() | toStringList() | ||
toString() | toString() | ||
toRadians() | Not possible because that kind of information is not available. | ||
toNumberList() | toNumberList() | ||
toNumber() | toNumber() | ||
toLowerCase() | toLowerCase() | ||
toInteger() | Not possible to cast string into number in other representation different than the decimal. | ||
toDegree() | Not possible to make complex/trigonometric calculations using Jira Expressions. | ||
timeZone() | WorkaroundSince to convert string to date time values the string needs to be written in the ISO 8601 format, the time zones will always be just like it is explained here. With this in mind, a workaround can be build if needed using our parser function getMatchingValue(). | ||
timesOfTransition() | Not possible because that kind of information is not available. | ||
timePart() | timePart() | ||
timeInValue() | Not possible because that kind of information is not available. | ||
timeInStatus() | Not possible because that kind of information is not available. |
If you still have questions, feel free to refer to our support team.