-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathenable-rut-auth.groovy
31 lines (24 loc) · 1.22 KB
/
enable-rut-auth.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import groovy.json.JsonOutput
import org.sonatype.nexus.capability.CapabilityReference
import org.sonatype.nexus.capability.CapabilityType
import org.sonatype.nexus.internal.capability.DefaultCapabilityReference
import org.sonatype.nexus.internal.capability.DefaultCapabilityRegistry
returnValue = JsonOutput.toJson([result : 'Did NOT add Rut Auth'])
def capabilityRegistry = container.lookup(DefaultCapabilityRegistry.class.getName())
//Capability specific values/properties
def capabilityType = CapabilityType.capabilityType("rutauth")
def capabilityProps = ['httpHeader': 'X-SSO-USER']
def capabilityNotes = 'configured through scripting api'
//check if existing Rut Auth capability exists
DefaultCapabilityReference existing = capabilityRegistry.all.find { CapabilityReference capabilityReference ->
capabilityReference.context().descriptor().type() == capabilityType
}
//If it doesn't, add it with given values/properties
//This should also enable the rutauth-realm
if (!existing)
{
log.info('Rut Auth capability created as: {}',
capabilityRegistry.add(capabilityType, true, capabilityNotes, capabilityProps).toString())
returnValue = JsonOutput.toJson([result : 'Successfully added Rut Auth!'])
}
return returnValue