hygieia/hygieia-feature-jira-collector

Jira collector - Parser exception when parsing teams org.json.simple.parser.ParseException: null

Closed this issue · 0 comments

Hi All,

While running the jira collector, I am getting the below error.

2021-07-06 12:37:26,145 [main] INFO  com.capitalone.dashboard.Application - Started Application in 4.491 seconds (JVM running for 4.878)
2021-07-06 12:38:00,001 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Getting Collector: Jira
2021-07-06 12:38:00,344 [taskScheduler-1] INFO  c.c.dashboard.client.RestClient - makeRestCall op=GET url=https://xxxxxxxxxxxxx.com/jira/browse/Z00042-264/rest/api/2/issuetype status=200 duration=327
2021-07-06 12:38:00,346 [taskScheduler-1] ERROR c.c.d.collector.DefaultJiraClient - Parser exception when parsing teams
org.json.simple.parser.ParseException: null
        at org.json.simple.parser.Yylex.yylex(Yylex.java:610)
        at org.json.simple.parser.JSONParser.nextToken(JSONParser.java:269)
        at org.json.simple.parser.JSONParser.parse(JSONParser.java:118)
        at org.json.simple.parser.JSONParser.parse(JSONParser.java:81)
        at org.json.simple.parser.JSONParser.parse(JSONParser.java:75)
        at com.capitalone.dashboard.collector.DefaultJiraClient.getJiraIssueTypeIds(DefaultJiraClient.java:302)
        at com.capitalone.dashboard.collector.FeatureCollectorTask.getCollector(FeatureCollectorTask.java:98)
        at com.capitalone.dashboard.collector.FeatureCollectorTask.getCollector(FeatureCollectorTask.java:50)
        at com.capitalone.dashboard.collector.CollectorTask.run(CollectorTask.java:56)
        at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
        at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
2021-07-06 12:38:00,352 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Starting Collector=Jira
2021-07-06 12:38:00,352 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - -----------------------------------
2021-07-06 12:38:00,352 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - https://xxxxxxxxxxxxxxxx.com/jira/browse/Z00042-264
2021-07-06 12:38:00,352 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - -----------------------------------
2021-07-06 12:38:00,352 [taskScheduler-1] INFO  c.c.d.collector.FeatureCollectorTask - JIRA Collector is set to work in Board mode
2021-07-06 12:38:00,352 [taskScheduler-1] INFO  c.c.d.collector.FeatureCollectorTask - Hours since last run = 1. Collector is only collecting updated/new issues.
2021-07-06 12:38:00,364 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Finished                         0s
2021-07-06 12:38:00,364 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Finished running Collector=Jira timeTaken=12 collectorItems=0
2021-07-06 12:39:00,000 [taskScheduler-1] INFO  c.c.d.collector.CollectorTask - Getting Collector: Jira

When i check the api connector its showing below error:

ERROR c.c.d.rest.RestApiExceptionHandler - Required String parameter 'projectId' is not present

Jira.properties File :

# Database Name
dbname=dashboarddb

# Database HostName - default is localhost
dbhost=localhost

# Database Port - default is 27017
dbport=27017

# MongoDB replicaset
dbreplicaset=false
dbhostport=localhost:27017

server.contextPath=/api
server.port=8720

# Logging File location
logging.file=./logs/jira.log

**# PageSize - Expand contract this value depending on Jira implementation's

default server timeout setting (You will likely receive a SocketTimeoutException)**

feature.pageSize=100

**# Delta change date that modulates the collector item task

Occasionally, these values should be modified if database size is a concern**

feature.deltaStartDate=2016-03-01T00:00:00.000000
feature.masterStartDate=2016-03-01T00:00:00.000000
feature.deltaCollectorItemStartDate=2016-03-01T00:00:00.000000

# Chron schedule: S M D M Y [Day of the Week]
feature.cron=0 * * * * *

# ST Query File Details - Required, but DO NOT MODIFY
feature.queryFolder=jiraapi-queries
feature.storyQuery=story
feature.epicQuery=epic

**# JIRA CONNECTION DETAILS:

Enterprise Proxy - ONLY INCLUDE IF YOU HAVE A PROXY**

#feature.jiraProxyUrl=http://proxy.com
#feature.jiraProxyPort=9000
feature.jiraBaseUrl=https://xxxxxxxxxxxxxx.com/jira/browse/Z00042-264
feature.jiraQueryEndpoint=rest/api/2/
**# For basic authentication, requires username:password as string in base64

This command will make this for you: echo -n username:password | base64**

feature.jiraCredentials=dmVua2F0ZXNocmVkZHkucjpTZWN1cmUqKjMwOTIwNTk=
# OAuth is not fully implemented; please blank-out the OAuth values:

feature.jiraOauthAuthtoken=
feature.jiraOauthRefreshtoken=
feature.jiraOauthRedirecturi=
feature.jiraOauthExpiretime=

**#############################################################################

In Jira, general IssueType IDs are associated to various 'issue'

attributes. However, there is one attribute which this collector's

queries rely on that change between different instantiations of Jira.

Please provide a string name reference to your instance's IssueType for

the lowest level of Issues (for example, 'user story') specific to your Jira

instance. Note: You can retrieve your instance's IssueType Name

listings via the following URI: https://[your-jira-domain-name]/rest/api/2/issuetype/

Multiple comma-separated values can be specified.

#############################################################################**
feature.jiraIssueTypeNames=Story
**#############################################################################

In Jira, your instance will have its own custom field created for 'sprint' or 'timebox' details,

which includes a list of information. This field allows you to specify that data field for your

instance of Jira. Note: You can retrieve your instance's sprint data field name

via the following URI, and look for a package name com.atlassian.greenhopper.service.sprint.Sprint;

your custom field name describes the values in this field:

https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]

#############################################################################**
feature.jiraSprintDataFieldName=customfield_10104

**#############################################################################

In Jira, your instance will have its own custom field created for 'super story' or 'epic' back-end ID,

which includes a list of information. This field allows you to specify that data field for your instance

of Jira. Note: You can retrieve your instance's epic ID field name via the following URI where your

queried user story issue has a super issue (for example, epic) tied to it; your custom field name describes the

epic value you expect to see, and is the only field that does this for a given issue:

https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]

#############################################################################**
feature.jiraEpicIdFieldName=customfield_10100

**#############################################################################

In Jira, your instance will have its own custom field created for 'story points'

This field allows you to specify that data field for your instance

of Jira. Note: You can retrieve your instance's storypoints ID field name via the following URI where your

queried user story issue has story points set on it; your custom field name describes the

story points value you expect to see:

https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]

#############################################################################**
feature.jiraStoryPointsFieldName=customfield_10106

**#############################################################################

In Jira, your instance will have its own custom field created for 'team'

This field allows you to specify that data field for your instance

of Jira. Note: You can retrieve your instance's team ID field name via the following URI where your

queried user story issue has team set on it; your custom field name describes the

team value you expect to see:

https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]

#############################################################################**
feature.jiraTeamFieldName=customfield_10308

# Defines how to update features per board. If true then only update based on enabled collectorItems otherwise full update
feature.collectorItemOnlyUpdate=false

#Defines the maximum number of features allow per board. If limit is reach collection will not happen for given board
feature.maxNumberOfFeaturesPerBoard=1000

# Set this to true if you use boards as team
feature.jiraBoardAsTeam=true

#Defines the number of hours between each board/team and project data refresh
feature.refreshTeamAndProjectHours=3

Thanks in advance