Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 21:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

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