Forums

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

How to add user properties in Confluence?

JIRA-Support ZKB May 10, 2022

Hi there

I am new with Confluence ScriptRunner, and I'm a bit lost. I have to create a screen, when a user connects to Confluence, where he has to accept the Conditions of use. 

I want to save the agreement as a user property, so I can later check who agreed and who didn't.

I couldn't find anything in Confluence about adding new properties/settings to the user.

Is there a way ? Did anybody do that ?

Thank you for your attention !

Pascal

1 answer

0 votes
JIRA-Support ZKB November 29, 2022 edited

So if some people are still interessted, the best solution is to use Bandana, that work with a context (could be global, a space key or a specific context for the properties you manage), a key (for me a string with the context name + user key + property version) and the value you want to store.

See Persistence in Confluence (atlassian.com) and What is Bandana? One form of Confluence persistence (atlassian.com)

 

Simple code: 

import com.atlassian.bandana.BandanaManager
import com.atlassian.bandana.BandanaContext
import com.atlassian.confluence.setup.bandana.ConfluenceBandanaContext

String myContext = "<your context name>"
String myKey = "<your key>"
def myValue ="This could be text or a structure, an object ..."

ConfluenceBandanaContext ctx = new ConfluenceBandanaContext(myContext)
def bandanaManager = ComponentLocator.getomponent(BandanaManager)

// Store the value
bandanaManager.setValue(ctx, myKey, myValue);

//Retrieve the value
def myNewValue = bandanaManager.getValue(ctx, myKey) 
Ok, now I'm fighting because I created a class to structure my data.
When I store data in bandana (setValue), it works (data are in the DB), but I can't retrieve them anymore (with getValue).
I have a warning when I store the data:
Non-serializable type groovy.util.myClass is not compatible with remote Bandana cache

but the data are anyway in the DB !

I don't get it ...

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, knowledge sharing, intentional knowledge sharing playbook, loom, confluence, team collaboration, knowledge management, workplace productivity, information silos, documentation best practices, internal communication, knowledge sharing strategies

Conquer collaboration chaos with Loom + Confluence

You don't need more tools. You need tools that actually work together – the way humans do. See how Loom + Confluence help teams collaborate with more context, more connection, and fewer calendar invites. 💪

See inside
AUG Leaders

Atlassian Community Events