Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Access attachment labels and pages using ContentService, SpaceService and PageService

ofendri May 17, 2021

Hello everyone,

I have some trouble adjusting to the deprecated methods and classes, like PageManager.getPage(long l) for example. 

I need to build a script that parses through a space and deletes all attachments that are labeled "delete" in the pages of that space.

If I use ContentService like so :

String pageTitle = "ipsum lorem"

def contentService = ScriptRunnerImpl.getPluginComponent(ContentService)

def findMatchingPages = contentService.find(new Expansion('id'))
.withType(ContentType.PAGE)
.withTitle(pageTitle)
.fetch()
.get()

 I can't access the attachments through 

def attachments = findMatchingPages.getAttachments()

because that method doesn't exist, and findMatchingPages is a Content, not a Page.
The second method I tried was this : 

def attachments = contentService.find(new Expansion('name'))
.withType(ContentType.ATTACHMENT)
.fetch()
.get()

but again, there is no way of accessing the labels of an attachment. I can't use .withLabels('delete') or attachments.getLabels()

Does anyone know how this works?
Also, is it wise to use ContentService and PageService since it says they are "ExperimentalApi"s on the version that I use 7.7.3 : 

ContentService Class.png 

If not, what classes should I use to avoid applying deprecated methods and still get the result I need.

PS : If anyone can also give me any information on the Expansion class, I'd be very thankful.

Thank you in advance for you help :)

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events