Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Script listener function failed on event: com.atlassian.jira.event.issue.IssueEvent, file: null

baz89103
May 24, 2023

Hi Community, I am having some difficulty getting the code to work for auto creating tempo plans to users based upon getting assigned.

I referred following link - https://library.adaptavist.com/entity/create-tempo-planning-information-when-issue-is-assigned

for my use case.

Use Case: Auto create tempo plans with Time Tracking and assigned user

However when i am assigning issue to a user i am getting following error:

-----------------------------------------------------------------------------------------------------

*************************************************************************************************

ERROR:

2023-05-24 11:49:29,991 ERROR [runner.AbstractScriptListener]: ************************************************************************************* 2023-05-24 11:49:29,999 ERROR [runner.AbstractScriptListener]: Script function failed on event: com.atlassian.jira.event.issue.IssueEvent, file: null com.atlassian.sal.api.net.ResponseStatusException: Unexpected response received. Status code: 400 at com.atlassian.sal.core.net.HttpClientRequest.lambda$execute$0(HttpClientRequest.java:77) at com.atlassian.sal.core.net.HttpClientRequest.executeAndReturn(HttpClientRequest.java:102) at com.atlassian.sal.core.net.HttpClientTrustedRequest.executeAndReturn(HttpClientTrustedRequest.java:53) at com.atlassian.sal.core.net.HttpClientRequest.execute(HttpClientRequest.java:75) at com.atlassian.sal.api.net.Request$execute$0.call(Unknown Source) at Script1.run(Script1.groovy:59) 

-----------------------------------------------------------------------------------------------------

*************************************************************************************************

 

Script used:

import com.atlassian.sal.api.ApplicationProperties
import com.atlassian.sal.api.UrlMode
import com.atlassian.sal.api.net.Request
import com.atlassian.sal.api.net.TrustedRequestFactory
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import groovy.json.JsonOutput
import groovyx.net.http.URIBuilder

import java.time.LocalDate
import java.time.format.DateTimeFormatter

@WithPlugin('com.tempoplugin.tempo-plan-core')

@PluginModule
ApplicationProperties applicationProperties

@PluginModule
TrustedRequestFactory trustedRequestFactory

// Default start time
final startTime = '09:00'

// Weekends and holidays are not included by default. If a plan needs to be created on weekends and holidays, set this to "true"
final includeNonWorkingDays = false

final today = LocalDate.now()

def issue = event.issue
def endDate = issue.dueDate?.toLocalDateTime()?.toLocalDate()

// Do nothing if the issue has been unassigned
if (!issue.assignee) {
return
}

if (!(issue.estimate && endDate)) {
log.error('Issue requires both an estimate and a due date. Plan not created')
return
}

def url = applicationProperties.getBaseUrl(UrlMode.CANONICAL) + '/rest/tempo-planning/1/plan'
def request = trustedRequestFactory.createTrustedRequest(Request.MethodType.POST, url)

def host = new URIBuilder(url).host
request.addTrustedTokenAuthentication(host)
request.setRequestBody(JsonOutput.toJson([
planItemType : 'ISSUE',
planItemId : issue.id,
assigneeKey : 'admin',
start : DateTimeFormatter.ISO_LOCAL_DATE.format(today),
startTime : startTime,
day : DateTimeFormatter.ISO_LOCAL_DATE.format(today),
end : DateTimeFormatter.ISO_LOCAL_DATE.format(endDate),
includeNonWorkingDays: includeNonWorkingDays,
secondsPerDay : issue.estimate
]), 'application/json')

request.execute()

-----------------------------------------------------------------------------------------------------

*************************************************************************************************

 

Thanks,

BAZ

2 answers

1 vote
sudhakar
Contributor
June 29, 2018

Hi

Hi

We can  get this using   JQL Search Extensions plugin

JQL : (commentedByUser = "Jane Potter" AND commentedOnDate = "2016/03/14") 

query gives us list of issues commented by user on given date 

 

Cloud Link : https://marketplace.atlassian.com/apps/1214791/jql-search-extensions-for-jira?hosting=cloud&tab=overview

Regards

Sudhakar

0 votes
Tansu Akdeniz
Community Champion
July 2, 2018

Hi @Fiona,

You can find some different alternatives from this page; https://community.atlassian.com/t5/Jira-questions/How-can-I-search-issues-to-which-a-user-has-commented/qaq-p/91873

If you have Script Runner add-on, you can do it via JQL below;

issueFunction in commented("after 2018/06/01 before 2018/07/01 by tansu.akdeniz")

Tansu

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events