cronn / jira-sync Goto Github PK
View Code? Open in Web Editor NEWJira-to-Jira synchronisation using the Jira REST API
License: Apache License 2.0
Jira-to-Jira synchronisation using the Jira REST API
License: Apache License 2.0
Good day.
Very good project, thank you for your effort.
Found issue when trying to get this project started, with empty versions
objects a target server rejects synchronizations with error
Bad Request: {"errorMessages":[],"errors":{"versions":"Field 'versions' cannot be set. It is not on the appropriate screen, or unknown."}}
"versions": [],
Use case
New unassigned items like stories in a backlog (Scrum project)
Hello!
jira-sync looks quite promising to solve some of our problems with multiple JIRA instances. I couldn't find any documentation, for example about how to configure the synchronisation of comments or changes made in the target project (some sort of bidirectional sync). Are there any guides or detailed references?
Thanks!
For some methods #root.target.url (java.net.URL) used as the cache key in ehcache
@Cacheable(value = CACHE_NAME_SERVER_INFO, key = "#root.target.url")
public JiraServerInfo getServerInfo()
The issue that java.net.URL#hashCode is based on IP address, so in some cases (for example with cloud JIRA), hashcode for two different JIRA's can be the same.
This is causing unpredictable issues, for example for me sometimes it's duplicating issues because JiraIssueWebLinker
working incorectly
Hi, I am trying to start the project but I keep getting login errors and there is almost no documentation.
`de.cronn.jira.sync.JiraSyncException: [https://project.atlassian.net] Unauthorized: {"errorMessages":["Login failed"],"errors":{}}
at de.cronn.jira.sync.service.JiraRestResponseErrorHandler.handleError(JiraRestResponseErrorHandler.java:31) ~[main/:na]
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:709) ~[spring-web-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:662) ~[spring-web-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:622) ~[spring-web-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:389) ~[spring-web-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at de.cronn.jira.sync.service.JiraServiceRestClient.login(JiraServiceRestClient.java:166) ~[main/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_362]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_362]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_362]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_362]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) ~[spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at com.sun.proxy.$Proxy57.login(Unknown Source) ~[na:na]
at de.cronn.jira.sync.JiraSyncTask.sync(JiraSyncTask.java:69) [main/:na]
at de.cronn.jira.sync.JiraSyncTask.run(JiraSyncTask.java:57) [main/:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:704) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:688) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.afterRefresh(SpringApplication.java:675) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:301) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1082) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1071) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at de.cronn.jira.sync.JiraSyncApplication.main(JiraSyncApplication.java:43) [main/:na]
2023-02-02 15:31:00.109 INFO 107428 --- [ main] utoConfigurationReportLoggingInitializer :
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2023-02-02 15:31:00.112 ERROR 107428 --- [ main] o.s.boot.SpringApplication : Application startup failed
java.lang.IllegalStateException: Failed to execute CommandLineRunner
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:707) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:688) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.afterRefresh(SpringApplication.java:675) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:301) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1082) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1071) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
at de.cronn.jira.sync.JiraSyncApplication.main(JiraSyncApplication.java:43) [main/:na]
Caused by: de.cronn.jira.sync.JiraSyncException: [https://project.atlassian.net] Unauthorized: {"errorMessages":["You are not authenticated. Authentication required to perform this operation."],"errors":{}}
at de.cronn.jira.sync.service.JiraRestResponseErrorHandler.handleError(JiraRestResponseErrorHandler.java:31) ~[main/:na]
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:709) ~[spring-web-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:662) ~[spring-web-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:622) ~[spring-web-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at org.springframework.web.client.RestTemplate.delete(RestTemplate.java:494) ~[spring-web-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at de.cronn.jira.sync.service.JiraServiceRestClient.logout(JiraServiceRestClient.java:172) ~[main/:na]
at de.cronn.jira.sync.service.JiraServiceRestClient.close(JiraServiceRestClient.java:187) ~[main/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_362]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_362]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_362]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_362]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) ~[spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
at com.sun.proxy.$Proxy57.close(Unknown Source) ~[na:na]
at de.cronn.jira.sync.JiraSyncTask.sync(JiraSyncTask.java:86) ~[main/:na]
at de.cronn.jira.sync.JiraSyncTask.run(JiraSyncTask.java:57) ~[main/:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:704) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
... 6 common frames omitted`
I have already tried following but does not work:
de.cronn.jira.sync.source: url: https://project.atlassian.net
username: email
password: password
de.cronn.jira.sync.source:
url: https://project.atlassian.net
username: email
password: api-token
de.cronn.jira.sync.source:
url: https://project.atlassian.net
username: email
password: password
basicAuth:
username: email
password: api-token
de.cronn.jira.sync.source:
url: https://project.atlassian.net
username: email
password: api-token
basicAuth:
username: email
password: api-token
Nothing works.
Could you help me? Thanks
Hi,
I have this configuration:
Source project:
Target project:
When I execute jira-sync a new issue has been created correctly to the destination project.
I would like to change source status to In Progress.
Can you suggest which configuration I can do for this ?
This is my failed try
de.cronn.jira.sync.projects[SDFER].transitions[InCarico].sourceStatusToSet=In Progress
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.