Hello!
Looking for some guidance!
I recently had to change my teams process to accommodate Word Documents. We were using Scroll Office to export Confluence Pages into Word Documents. Unfortunately the add on has a few flaws that won't be fixed any time soon.
My Team will now import their Word Documents into Confluence each time they want to electronically publish a document. In the import we need to have a few labels that will kick off a workflow.
Instead of having my users manually enter the Label I want the labels to be added automatically or have the macro below add the label "behind the scene".
We currently have a macro (this is is a snippet of the actual one) that asks the user to input a unique document number the macro takes that Macro and adds it as a label. I want to at minimum add code to this macro that adds two labels "docparent" and "controlled-document".
## @Param
## @Param DocNum:title=Enter Document ID # REQUIRED |type=string|required=false|desc=Test
<table>
<tr>
<td>Document ID # = $paramDocNum</td>
</tr>
</table>
###Script adds Document number to Parent Page, Child Pages and Descendants
#if ( $paramDocNum )
#set ( $hasLabel = false )
#foreach ( $label in $content.getLabels() )
#if ( $label == $paramDocNum )
#set ( $hasLabel = true )
#end
#end
#if ( !$hasLabel )
<script>
AJS.toInit(function() {
jQuery.post(contextPath + "/json/addlabelactivity.action", {
"entityIdString": "$content.id",
"labelString": "$paramDocNum",
"atl_token": jQuery("#atlassian-token").attr("content")
});
});
</script>
#end
#set($childpages = $content.getDescendants())
#foreach($page in $childpages)
#set ( $hasLabel = false )
#foreach ( $label in $content.getLabels() )
#if ( $label == $paramDocNum )
#set ( $hasLabel = true )
#end
#end
#if ( !$hasLabel )
<script>
AJS.toInit(function() {
jQuery.post(contextPath + "/json/addlabelactivity.action", {
"entityIdString": "$page.id",
"labelString": "$paramDocNum",
"atl_token": jQuery("#atlassian-token").attr("content")
});
});
</script>
#end
#end
#end
Looks like I answered my Own Question!!!
I added the following and worked like a charm
#if ( !$hasLabel )
<script>
AJS.toInit(function() {
jQuery.post(contextPath + "/json/addlabelactivity.action", {
"entityIdString": "$content.id",
"labelString": "docparent, controlled-document",
"atl_token": jQuery("#atlassian-token").attr("content")
});
});
</script>
#end
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.