Bitbucket Pipelines self-hosted runner setup fail - "uuid not configured correctly"

estherting
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
July 13, 2023

I followed the steps for setting up a self-hosted workspace-level linux docker runner (on AWS) using the following command (copy and pasted directly from the UI):

docker container run \
-v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/containers:/var/lib/docker/containers:ro \
-e ACCOUNT_UUID={<workspace-uuid>} \
-e RUNNER_UUID={<runner-id>} \
-e RUNTIME_PREREQUISITES_ENABLED=true \
-e OAUTH_CLIENT_ID=<client-id> \
-e OAUTH_CLIENT_SECRET=<client-secret> \
-e WORKING_DIRECTORY=/tmp \
--name runner-<runner-id> \
docker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-runner:1

 

I ran into the error pasted at the end of this post.

I think the main error is this:

Property: 'bitbucket.pipelines.runner.account.uuid' is not configured correctly.

I checked that the ACCOUNT_UUID matches our workspace uuid (listed on our OpenID Connect page).

What could be causing this error?

 

ERROR:

+ ./entrypoint.sh

22:23:21,411 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]

22:23:21,411 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]

22:23:21,412 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/logback.xml]

22:23:21,424 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@1700915 - URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/logback.xml] is not of type file

22:23:21,525 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set

22:23:21,526 |-INFO in ch.qos.logback.core.joran.action.DefinePropertyAction - About to instantiate property definer of type [com.atlassian.pipelines.runner.core.log.BaseLogPathPropertyDefiner]

22:23:21,527 |-INFO in ch.qos.logback.core.joran.action.DefinePropertyAction - Popping property definer for property named [BASE_LOG_PATH] from the object stack

22:23:21,532 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@2:110 - RuntimeException in Action for tag [define] java.lang.IllegalArgumentException: The value provided is not a valid uuid.

at java.lang.IllegalArgumentException: The value provided is not a valid uuid.

at at com.atlassian.bitbucketci.common.base.uuid.Uuid.from(Uuid.java:203)

at at com.atlassian.pipelines.runner.core.log.BaseLogPathPropertyDefiner.getPropertyValue(BaseLogPathPropertyDefiner.java:13)

at at ch.qos.logback.core.joran.action.DefinePropertyAction.end(DefinePropertyAction.java:100)

at at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)

at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)

at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179)

at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)

at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)

at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)

at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)

at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)

at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)

at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150)

at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)

at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)

at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)

at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)

at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)

at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)

at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)

at at com.atlassian.pipelines.runner.core.ApplicationImpl.<clinit>(ApplicationImpl.java:27)

22:23:21,532 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]

22:23:21,537 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]

22:23:21,544 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.boolex.JaninoEventEvaluator] for [evaluator] property

22:23:21,554 |-INFO in ch.qos.logback.classic.boolex.JaninoEventEvaluator@31d7b7bf - Adding [return] prefix and a semicolon suffix. Expression becomes [return com.atlassian.pipelines.stargate.client.core.exceptions.StargateForbiddenException.class.isInstance(throwable);]

22:23:21,554 |-INFO in ch.qos.logback.classic.boolex.JaninoEventEvaluator@31d7b7bf - See also http://logback.qos.ch/codes.html#block

22:23:21,682 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property

22:23:21,742 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]

22:23:21,744 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]

22:23:21,749 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1667148529 - setting totalSizeCap to 1 GB

22:23:21,751 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1667148529 - Archive files will be limited to [100 MB] each.

22:23:21,752 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1667148529 - No compression will be used

22:23:21,753 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1667148529 - Will use the pattern BASE_LOG_PATH_IS_UNDEFINED/runner.%d.%i.log for the active file

22:23:21,755 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c30a9b0 - The date pattern is 'yyyy-MM-dd' from file name pattern 'BASE_LOG_PATH_IS_UNDEFINED/runner.%d.%i.log'.

22:23:21,755 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c30a9b0 - Roll-over at midnight.

22:23:21,762 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c30a9b0 - Setting initial period to Thu Jul 13 22:23:21 UTC 2023

22:23:21,764 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property

22:23:21,765 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: BASE_LOG_PATH_IS_UNDEFINED/runner.log

22:23:21,765 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [BASE_LOG_PATH_IS_UNDEFINED/runner.log]

22:23:21,767 |-INFO in ch.qos.logback.classic.joran.action.LoggerContextListenerAction - Adding LoggerContextListener of type [ch.qos.logback.classic.jul.LevelChangePropagator] to the object stack

22:23:21,768 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@1ddf84b8 - Propagating DEBUG level on Logger[ROOT] onto the JUL framework

22:23:21,768 |-INFO in ch.qos.logback.classic.joran.action.LoggerContextListenerAction - Starting LoggerContextListener

22:23:21,768 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO

22:23:21,768 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@1ddf84b8 - Propagating INFO level on Logger[ROOT] onto the JUL framework

22:23:21,769 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]

22:23:21,769 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]

22:23:21,769 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.netflix] to OFF

22:23:21,769 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@1ddf84b8 - Propagating OFF level on Logger[com.netflix] onto the JUL framework

22:23:21,769 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.atlassian.pipelines.stargate] to OFF

22:23:21,769 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@1ddf84b8 - Propagating OFF level on Logger[com.atlassian.pipelines.stargate] onto the JUL framework

22:23:21,770 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.github.dockerjava] to OFF

22:23:21,770 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@1ddf84b8 - Propagating OFF level on Logger[com.github.dockerjava] onto the JUL framework

22:23:21,770 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.

22:23:21,770 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@1139b2f3 - Registering current configuration as safe fallback point

 

[2023-07-13 22:23:21,783] Runner version: 1.487

[2023-07-13 22:23:21,815] Runner runtime: linux-docker

[2023-07-13 22:23:23,246] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'artifactDownloaderImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/artifact/ArtifactDownloaderImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'artifactServiceImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/service/ArtifactServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'linuxDirectoryFactoryImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/factory/linux/LinuxDirectoryFactoryImpl.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.pipelines.runner.core.factory.linux.LinuxDirectoryFactoryImpl]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Property: 'bitbucket.pipelines.runner.account.uuid' is not configured correctly.

Exception in thread "main" org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'artifactDownloaderImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/artifact/ArtifactDownloaderImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'artifactServiceImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/service/ArtifactServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'linuxDirectoryFactoryImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/factory/linux/LinuxDirectoryFactoryImpl.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.pipelines.runner.core.factory.linux.LinuxDirectoryFactoryImpl]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Property: 'bitbucket.pipelines.runner.account.uuid' is not configured correctly.

at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)

at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)

at com.atlassian.pipelines.runner.core.ApplicationImpl.main(ApplicationImpl.java:52)

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'artifactServiceImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/service/ArtifactServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'linuxDirectoryFactoryImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/factory/linux/LinuxDirectoryFactoryImpl.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.pipelines.runner.core.factory.linux.LinuxDirectoryFactoryImpl]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Property: 'bitbucket.pipelines.runner.account.uuid' is not configured correctly.

at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)

at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)

at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)

at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)

at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)

... 13 more

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'linuxDirectoryFactoryImpl' defined in URL [jar:file:/opt/atlassian/pipelines/runner/bin/runner.jar!/com/atlassian/pipelines/runner/core/factory/linux/LinuxDirectoryFactoryImpl.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.pipelines.runner.core.factory.linux.LinuxDirectoryFactoryImpl]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Property: 'bitbucket.pipelines.runner.account.uuid' is not configured correctly.

at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:315)

at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:296)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)

at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)

at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)

at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)

... 27 more

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.pipelines.runner.core.factory.linux.LinuxDirectoryFactoryImpl]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Property: 'bitbucket.pipelines.runner.account.uuid' is not configured correctly.

at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224)

at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117)

at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:311)

... 41 more

Caused by: java.lang.IllegalStateException: Property: 'bitbucket.pipelines.runner.account.uuid' is not configured correctly.

at com.atlassian.pipelines.runner.core.configuration.RunnerConfigurationImpl.lambda$map$4(RunnerConfigurationImpl.java:288)

at io.vavr.control.Try.getOrElseThrow(Try.java:684)

at com.atlassian.pipelines.runner.core.configuration.RunnerConfigurationImpl.map(RunnerConfigurationImpl.java:285)

at com.atlassian.pipelines.runner.core.configuration.RunnerConfigurationImpl.lambda$getValue$1(RunnerConfigurationImpl.java:272)

at io.vavr.control.Option.map(Option.java:373)

at com.atlassian.pipelines.runner.core.configuration.RunnerConfigurationImpl.getValue(RunnerConfigurationImpl.java:272)

at com.atlassian.pipelines.runner.core.configuration.RunnerConfigurationImpl.getWorkspaceRunnerId(RunnerConfigurationImpl.java:152)

at com.atlassian.pipelines.runner.core.configuration.RunnerConfigurationImpl.getRunnerId(RunnerConfigurationImpl.java:162)

at com.atlassian.pipelines.runner.core.factory.linux.LinuxDirectoryFactoryImpl.<init>(LinuxDirectoryFactoryImpl.java:66)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)

at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211)

... 43 more

Caused by: java.lang.IllegalArgumentException: The value provided is not a valid uuid.

at com.atlassian.bitbucketci.common.base.uuid.Uuid.from(Uuid.java:203)

at com.atlassian.pipelines.runner.core.configuration.RunnerConfigurationImpl.lambda$map$3(RunnerConfigurationImpl.java:284)

at io.vavr.control.Try.of(Try.java:75)

at io.vavr.control.Try.ofCallable(Try.java:105)

at com.atlassian.pipelines.runner.core.configuration.RunnerConfigurationImpl.map(RunnerConfigurationImpl.java:284)

... 54 more

 

1 answer

1 accepted

0 votes
Answer accepted
estherting
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
July 26, 2023

It turned out to be a copy/paste issue. I pasted the command into a tc shell and resulted in some unwanted characters.

Solution: spin up a bash shell and run the command there.

(Thanks to Atlassian support for figuring out the issue).

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events