Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> request.getParameter("groupId")  [in template "20100#20136#642122" at line 17, column 71]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if articleId?has_content && journalA...  [in template "20100#20136#642122" at line 17, column 1]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
2 
3<#assign currentURL = portalUtil.getCurrentURL(request)/> 
4 
5<#if request.getParameter("redirect")?has_content> 
6    <#assign backURL = request.getParameter("redirect")/> 
7    <a href="${backURL}">${languageUtil.get(locale, 'back')}</a> 
8</#if> 
9 
10<hr/> 
11 
12<#assign currentURL = currentURL?keep_before("?")/> 
13 
14<#assign articleId = currentURL?keep_after_last("asset_publisher/")/> 
15 
16 
17<#if articleId?has_content && journalArticleLocalService.fetchArticle(request.getParameter("groupId")?number, articleId)?has_content> 
18 
19        <#assign journalArticle = journalArticleLocalService.fetchArticle(request.getParameter("groupId")?number, articleId)> 
20         
21        <@liferay_journal["journal-article"] 
22        	articleId=journalArticle.getArticleId() 
23            ddmTemplateKey=journalArticle.getDDMTemplateKey() 
24        	groupId=journalArticle.getGroupId() 
25        /> 
26         
27<#else> 
28 
29<div class="alert alert-danger"> 
30  ${languageUtil.get(locale, 'the-requested-resource-could-not-be-found')} 
31</div> 
32 
33</#if>