Can not set epic links with Jira REST API. We are using REST API to integrate 2 Jira instances and I can not figure out a way to set epic links.

      Here are the problems:
      1) When using POST /rest/api/2/issue/12345 to set epic link, it only works when there is no previous epic set. So it only works when setting the epic for the first time. Using this to move issues between epics fails. (Internal Server Error 500 is returned)
      2) Agile API POST /rest/agile/1.0/epic/521/issue does not seem to work. I only get 404
      3) Also any oldschool greenhopper API-s that can be used to set epic link dont work. Also 404

      Please help, this is major annoyance, we have over 50 issues at the moment that are not syncing, because epic link has changed. This would take significant amount of time to fix manually and the problem is growing every day. I would very much prefer if you would just allow us to set epic link using /rest/api/2/issue/12345. Why is this not allowed?

          Form Name

            [JSWSERVER-13156] Cannot set Epic link using Jira REST API

            Bugfix Automation Bot made changes -
            Minimum Version New: 7
            Owen made changes -
            Workflow Original: JAC Bug Workflow v2 [ 2852960 ] New: JAC Bug Workflow v3 [ 2935849 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Owen made changes -
            Workflow Original: JIRA Bug Workflow w Kanban v7 - Restricted [ 2545657 ] New: JAC Bug Workflow v2 [ 2852960 ]
            Kamil Kolonko made changes -
            Fix Version/s New: 7.1.0 [ 59897 ]
            Fix Version/s Original: 7.1.0 Server [ 61099 ]
            Ignat (Inactive) made changes -
            Workflow Original: JIRA Bug Workflow w Kanban v6 - Restricted [ 1548468 ] New: JIRA Bug Workflow w Kanban v7 - Restricted [ 2545657 ]
            Confluence Escalation Bot (Inactive) made changes -
            Labels New: affects-server
            Ignat (Inactive) made changes -
            Link New: This issue is duplicated by JSW-7017 [ JSW-7017 ]
            Owen made changes -
            Workflow Original: JIRA Bug Workflow w Kanban v6 [ 1133253 ] New: JIRA Bug Workflow w Kanban v6 - Restricted [ 1548468 ]

            While this issue is listed as resolved in 7.1.0. In version 7.1.2, I am receiving a "500 Internal server error" when attempting to set the Epic link while creating an issue via the REST API.

            REST call
            POST: http://.../issues/rest/api/2/issue
            json body just contains just the required fields and the epic link

            {
                "fields": {
                   "project":
                   { 
                      "key": "MYPROJ"
                   },
                   "summary": "test issue create",
                   "description": "test issue create",
                   "issuetype": {
                      "name": "MyIssueType"
                   },
                  "customfield_11913": "EPIC-123"
               }
            }
            

            Stack dump in the log

            2016-06-03 14:35:26,403 http-nio-8080-exec-6 ERROR pjwiley 875x3695442x1 18yl0iz 131.198.88.104,198.151.224.69 /rest/api/2/issue [c.a.j.rest.exception.ExceptionInterceptor] Returning internal server error in response
            java.lang.reflect.InvocationTargetException
            	at sun.reflect.GeneratedMethodAccessor4392.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:498)
            	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:192)
            	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:83)
            	... 3 filtered
            	at com.atlassian.jira.rest.exception.ExceptionInterceptor.intercept(ExceptionInterceptor.java:55)
            	... 1 filtered
            	at com.atlassian.jira.rest.v2.issue.scope.RequestScopeInterceptor.intercept(RequestScopeInterceptor.java:39)
            	... 14 filtered
            	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)
            	... 1 filtered
            	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)
            	... 86 filtered
            	at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70)
            	... 15 filtered
            	at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
            	... 27 filtered
            	at com.adaptavist.orientdb.OrientShutdownFilter.doFilter(OrientShutdownFilter.java:29)
            	... 50 filtered
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            	at java.lang.Thread.run(Thread.java:745)
            Caused by: java.lang.NullPointerException
            	at com.atlassian.greenhopper.service.issuelink.EpicServiceImpl.addIssuesToEpic(EpicServiceImpl.java:90)
            	at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.update(EpicLinkRestFieldOperationsHandler.java:104)
            	at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.handleOperation(EpicLinkRestFieldOperationsHandler.java:76)
            	at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.updateIssueInputParameters(EpicLinkRestFieldOperationsHandler.java:64)
            	at com.atlassian.jira.rest.v2.issue.IssueInputParametersAssembler$IssueInputParametersBuilder.finalizeIssueInputParams(IssueInputParametersAssembler.java:428)
            	at com.atlassian.jira.rest.v2.issue.IssueInputParametersAssembler.makeCreateAssembler(IssueInputParametersAssembler.java:131)
            	at com.atlassian.jira.rest.v2.issue.CreateIssueResource.createIssue(CreateIssueResource.java:49)
            	at com.atlassian.jira.rest.v2.issue.IssueResource.createIssue(IssueResource.java:596)
            	... 213 more
            2016-06-03 14:35:27,834 http-nio-8080-exec-83 ERROR pjwiley 875x3695486x2 1gv3xan 131.198.88.104,198.151.224.69 /rest/api/2/issue [c.a.j.rest.exception.ExceptionInterceptor] Returning internal server error in response
            java.lang.reflect.InvocationTargetException
            	at sun.reflect.GeneratedMethodAccessor4392.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:498)
            	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:192)
            	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:83)
            	... 3 filtered
            	at com.atlassian.jira.rest.exception.ExceptionInterceptor.intercept(ExceptionInterceptor.java:55)
            	... 1 filtered
            	at com.atlassian.jira.rest.v2.issue.scope.RequestScopeInterceptor.intercept(RequestScopeInterceptor.java:39)
            	... 14 filtered
            	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)
            	... 1 filtered
            	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)
            	... 86 filtered
            	at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70)
            	... 15 filtered
            	at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
            	... 27 filtered
            	at com.adaptavist.orientdb.OrientShutdownFilter.doFilter(OrientShutdownFilter.java:29)
            	... 50 filtered
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            	at java.lang.Thread.run(Thread.java:745)
            Caused by: java.lang.NullPointerException
            	at com.atlassian.greenhopper.service.issuelink.EpicServiceImpl.addIssuesToEpic(EpicServiceImpl.java:90)
            	at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.update(EpicLinkRestFieldOperationsHandler.java:104)
            	at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.handleOperation(EpicLinkRestFieldOperationsHandler.java:76)
            	at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.updateIssueInputParameters(EpicLinkRestFieldOperationsHandler.java:64)
            	at com.atlassian.jira.rest.v2.issue.IssueInputParametersAssembler$IssueInputParametersBuilder.finalizeIssueInputParams(IssueInputParametersAssembler.java:428)
            	at com.atlassian.jira.rest.v2.issue.IssueInputParametersAssembler.makeCreateAssembler(IssueInputParametersAssembler.java:131)
            	at com.atlassian.jira.rest.v2.issue.CreateIssueResource.createIssue(CreateIssueResource.java:49)
            	at com.atlassian.jira.rest.v2.issue.IssueResource.createIssue(IssueResource.java:596)
            	... 213 more
            
            

            Philip Wiley added a comment - While this issue is listed as resolved in 7.1.0. In version 7.1.2, I am receiving a "500 Internal server error" when attempting to set the Epic link while creating an issue via the REST API. REST call POST: http://.../issues/rest/api/2/issue json body just contains just the required fields and the epic link { "fields" : { "project" : { "key" : "MYPROJ" }, "summary" : "test issue create" , "description" : "test issue create" , "issuetype" : { "name" : "MyIssueType" }, "customfield_11913" : "EPIC-123" } } Stack dump in the log 2016-06-03 14:35:26,403 http-nio-8080-exec-6 ERROR pjwiley 875x3695442x1 18yl0iz 131.198.88.104,198.151.224.69 / rest /api/2/issue [c.a.j. rest .exception.ExceptionInterceptor] Returning internal server error in response java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor4392.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugins. rest .common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:192) at com.atlassian.plugins. rest .common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:83) ... 3 filtered at com.atlassian.jira. rest .exception.ExceptionInterceptor.intercept(ExceptionInterceptor.java:55) ... 1 filtered at com.atlassian.jira. rest .v2.issue.scope.RequestScopeInterceptor.intercept(RequestScopeInterceptor.java:39) ... 14 filtered at com.atlassian.plugins. rest .module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154) ... 1 filtered at com.atlassian.plugins. rest .module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68) ... 86 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70) ... 15 filtered at com.atlassian.plugins. rest .module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37) ... 27 filtered at com.adaptavist.orientdb.OrientShutdownFilter.doFilter(OrientShutdownFilter.java:29) ... 50 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang. Thread .run( Thread .java:745) Caused by: java.lang.NullPointerException at com.atlassian.greenhopper.service.issuelink.EpicServiceImpl.addIssuesToEpic(EpicServiceImpl.java:90) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.update(EpicLinkRestFieldOperationsHandler.java:104) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.handleOperation(EpicLinkRestFieldOperationsHandler.java:76) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.updateIssueInputParameters(EpicLinkRestFieldOperationsHandler.java:64) at com.atlassian.jira. rest .v2.issue.IssueInputParametersAssembler$IssueInputParametersBuilder.finalizeIssueInputParams(IssueInputParametersAssembler.java:428) at com.atlassian.jira. rest .v2.issue.IssueInputParametersAssembler.makeCreateAssembler(IssueInputParametersAssembler.java:131) at com.atlassian.jira. rest .v2.issue.CreateIssueResource.createIssue(CreateIssueResource.java:49) at com.atlassian.jira. rest .v2.issue.IssueResource.createIssue(IssueResource.java:596) ... 213 more 2016-06-03 14:35:27,834 http-nio-8080-exec-83 ERROR pjwiley 875x3695486x2 1gv3xan 131.198.88.104,198.151.224.69 / rest /api/2/issue [c.a.j. rest .exception.ExceptionInterceptor] Returning internal server error in response java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor4392.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugins. rest .common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:192) at com.atlassian.plugins. rest .common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:83) ... 3 filtered at com.atlassian.jira. rest .exception.ExceptionInterceptor.intercept(ExceptionInterceptor.java:55) ... 1 filtered at com.atlassian.jira. rest .v2.issue.scope.RequestScopeInterceptor.intercept(RequestScopeInterceptor.java:39) ... 14 filtered at com.atlassian.plugins. rest .module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154) ... 1 filtered at com.atlassian.plugins. rest .module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68) ... 86 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70) ... 15 filtered at com.atlassian.plugins. rest .module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37) ... 27 filtered at com.adaptavist.orientdb.OrientShutdownFilter.doFilter(OrientShutdownFilter.java:29) ... 50 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang. Thread .run( Thread .java:745) Caused by: java.lang.NullPointerException at com.atlassian.greenhopper.service.issuelink.EpicServiceImpl.addIssuesToEpic(EpicServiceImpl.java:90) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.update(EpicLinkRestFieldOperationsHandler.java:104) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.handleOperation(EpicLinkRestFieldOperationsHandler.java:76) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkRestFieldOperationsHandler.updateIssueInputParameters(EpicLinkRestFieldOperationsHandler.java:64) at com.atlassian.jira. rest .v2.issue.IssueInputParametersAssembler$IssueInputParametersBuilder.finalizeIssueInputParams(IssueInputParametersAssembler.java:428) at com.atlassian.jira. rest .v2.issue.IssueInputParametersAssembler.makeCreateAssembler(IssueInputParametersAssembler.java:131) at com.atlassian.jira. rest .v2.issue.CreateIssueResource.createIssue(CreateIssueResource.java:49) at com.atlassian.jira. rest .v2.issue.IssueResource.createIssue(IssueResource.java:596) ... 213 more
            Kiran (Inactive) made changes -
            Fix Version/s New: 7.1.0 Server [ 61099 ]
            Resolution New: Fixed [ 1 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]

              Unassigned Unassigned
              martin.tints Martin Tints
              Affected customers:
              0 This affects my team
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: