CINXE.COM
Java Integration Libraries - Crowd 6.1 documentation (Latest) - Atlassian Documentation
<!DOCTYPE html> <html lang="en-GB" > <head> <title>Java Integration Libraries - Crowd 6.1 documentation (Latest) - Atlassian Documentation</title> <meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=IE7"> <meta charset="UTF-8"> <meta id="confluence-context-path" name="confluence-context-path" content=""> <meta id="confluence-base-url" name="confluence-base-url" content="https://confluence.atlassian.com"> <meta id="confluence-cluster-node-id" name="confluence-cluster-node-id" value="5161787b"> <meta id="confluence-cluster-node-name" name="confluence-cluster-node-name" value="i-029e2bc3e26c43971-ipp-10.226.27.207"> <meta id="confluence-space-key" name="confluence-space-key" content="CROWD"> <script type="text/javascript"> var contextPath = ''; </script> <meta name="robots" content="noindex,nofollow"> <meta name="robots" content="noarchive"> <meta name="confluence-request-time" content="1732731045157"> <script type="text/x-template" title="create-draft"> <div class="publisher-dialog"> <form action="#" method="post" class="aui create-draft-dialog"> <div> <label for="create-draft-title">Title</label> <input class="text" type="text" id="create-draft-title" name="title" title="Title"> </div> </form> </div> </script> <script type="text/x-template" title="publisher-dialog-page1"> <div class="publisher-dialog"> <div class="publisher-dialog-comment"> <form action="#" method="post" class="aui publish-comment-form"> <div> <label for="publish-comment">Version Comment</label> <input class="text" type="text" id="publish-comment" name="publish-comment" title="Version Comment"> </div> </form> </div> <div class="publisher-dialog-pages"> <table class="aui"> <tr> <th class="publisher-dialog-pages-title">Page Title</th> </tr> </table> </div> </div> </script> <script type="text/x-template" title="publisher-dialog-page2"> <div class="publisher-dialog"> <div class="publisher-dialog-progress"> <div class="publisher-dialog-progress-icon"></div><span class="publisher-dialog-progress-message">Progress ...</span> </div> <div class="publisher-dialog-pages-progress"> <table class="aui"> <tr> <th class="publisher-dialog-pages-title">Page Title</th> <th class="publisher-dialog-pages-status">Changes in Original</th> </tr> </table> </div> </div> </script> <script type="text/x-template" title="publisher-dialog-page"> <tr> <td class="publisher-dialog-pages-title"><a href="{1}" target="_blank">{0}</a></td> </tr> </script> <script type="text/x-template" title="publisher-dialog-page-progress"> <tr> <td class="publisher-dialog-pages-title"><a href="{1}" target="_blank">{0}</a></td> <td class="publisher-dialog-pages-status">{2}<a href="{3}" target="_blank">{4}</a></td> </tr> </script> <style>.ia-fixed-sidebar, .ia-splitter-left {width: 285px;}.theme-default .ia-splitter #main {margin-left: 285px;}.ia-fixed-sidebar {visibility: hidden;}</style> <meta name="ajs-use-keyboard-shortcuts" content="true"> <meta name="ajs-discovered-plugin-features" content="$discoveredList"> <meta name="ajs-keyboardshortcut-hash" content="5de54475ae509098e239e6108bb66487"> <meta id="sv-space-config" name="sv-space-config" content=" sv-sc-isTargetSpace sv-sc-any-isTargetSpace-enableVersionManagement-enableTranslation-enableVariants-enablePermalinks sv-sc-any-isTargetSpace-enableVersionManagement-enableTranslation-enableVariants sv-sc-any " class=" sv-sc-isTargetSpace sv-sc-any-isTargetSpace-enableVersionManagement-enableTranslation-enableVariants-enablePermalinks sv-sc-any-isTargetSpace-enableVersionManagement-enableTranslation-enableVariants sv-sc-any "></meta> <meta id="sv-scroll-page-context" name="sv-scroll-page-context" content="{"editor":{"useDraft":false},"product":{"pluginKey":"com.k15t.scroll.scroll-platform","version":"4.6.8"},"confluenceMarketplaceBuildNumber":18076,"page":{"scrollBreadcrumbs":[]},"user":{"settings":{"isShowTopLevelPages":false,"isDisplayDefaultLanguageContent":false,"isRememberTreeState":true,"isHighlightIncludes":true,"isDisplayPageInfoPanel":true,"isReadOnlyView":false,"isHighlightConditionalContent":true,"isShowUnavailablePages":true,"isShowArchivedVersions":false},"currentVariant":{"id":"all","name":"all","description":"","isPublic":false,"isDefault":false,"conditions":[]},"currentLanguage":{"key":"en","encodedKey":"en","displayName":"English","isOriginal":true},"permissions":{"AdministerSpace":false,"ManageContent":false,"Contribute":false,"Review":false,"View":true,"Translate":false},"hasEditRestrictionForVersion":true,"workingVersion":{"id":"current","name":"Currently Published","archived":false,"color":"#999999","runtimeAccessible":true,"versionId":"current","releaseDateAsString":"","isArchived":false,"isEditableVersion":true}},"modules":{"Publishing":{"hasValidLicense":true,"type":"Publishing","isActive":true,"licenseValidationMessageAsHtml":"License for Scroll Versions is valid.","isEnabledInSpace":false},"TranslationManagement":{"hasValidLicense":false,"type":"TranslationManagement","isActive":false,"licenseValidationMessageAsHtml":"<p>Error in <b>TranslationManagement</b> module of <b>Scroll Translations</b>. Ask your Confluence administrator to make sure that the app is installed and working correctly. </p> <ul class=\"aui-nav-actions-list\"> <li><button class=\"aui-button aui-button-link\"><a href=\"/plugins/servlet/upm?fragment=manage/com.k15t.scroll.scroll-translations\">Manage Apps</a></button></li> <li><button class=\"aui-button aui-button-link\"><a href=\"https://marketplace.atlassian.com/plugins/com.k15t.scroll.scroll-translations\">Atlassian Marketplace</a></button></li> </ul>","isEnabledInSpace":false},"WorkflowManagement":{"isComalaIntegrationPluginEnabled":false,"isComalaPluginEnabled":false,"hasValidLicense":true,"type":"WorkflowManagement","isActive":true,"licenseValidationMessageAsHtml":"License for Scroll Versions is valid.","isEnabledInSpace":false},"PermalinkSupport":{"hasValidLicense":true,"type":"PermalinkSupport","isActive":true,"licenseValidationMessageAsHtml":"License for Scroll Versions is valid.","isEnabledInSpace":false},"TargetSpace":{"hasValidLicense":true,"type":"TargetSpace","isActive":true,"licenseValidationMessageAsHtml":"","isEnabledInSpace":true},"Seo":{"hasValidLicense":true,"type":"Seo","isActive":true,"licenseValidationMessageAsHtml":"License for Scroll Versions is valid.","isEnabledInSpace":false},"VersionManagement":{"hasValidLicense":true,"type":"VersionManagement","isActive":true,"licenseValidationMessageAsHtml":"License for Scroll Versions is valid.","isEnabledInSpace":false},"VariantManagement":{"hasValidLicense":true,"type":"VariantManagement","isActive":true,"licenseValidationMessageAsHtml":"License for Scroll Versions is valid.","isEnabledInSpace":false}},"space":{"isUnrecommendedFeatureRestrictEditInReaderViewEnabled":false,"allLanguages":[],"isTargetSpace":true,"isRestrictEditInReaderView":false,"isScrollVersionsEnabled":false,"allRemoteSystems":[],"homePage":{"scrollPageTitle":"Crowd documentation","pageId":16482400,"scrollPageId":"7F000101015C15AF40FBB2814386F5F5"},"allVariants":[],"isUnrecommendedFeaturePublishToSameEnabled":false,"allVersions":[],"isRemotePublishingToSameSystemAllowed":false,"messages":[],"theme":{"selectedTheme":"com.atlassian.confluence.themes.default:theme-default","isDerived":true,"isThemeCompatible":true,"pageTitleSelector":"#title-text a:first-of-type","pageKeySelector":"#title-text","contentManagementToolbarSelector":".theme-default #custom-content-header, .theme-default #main-header","breadcrumbsSelector":"#breadcrumbs","breadcrumbsFilter":"> li:has(a[href*=\"collector\"]) ~ li","breadcrumbsTypeFilter":"space","pageTreeContainerSelector":".ia-secondary-container[data-tree-type=page-tree] .ia-secondary-content","pageTreeContainerTemplate":"Scroll.Versions.Templates.ThemeIntegration.ConfluenceDefault.defaultThemeIntegration","pageTreeChildrenTemplate":"Scroll.Versions.Templates.ThemeIntegration.ConfluenceDefault.childrenDefaultTheme","pageTreeChildrenContainerSelector":".sv-pt-children.plugin_pagetree_children_list","pageTreeChildrenToggleClassesToToggle":"icon-section-opened icon-section-closed","customJavaScript":"Scroll.Versions.ThemeIntegration.ConfluenceDefault.postProcess","customCssSelectorsToHide":".ia-secondary-container[data-tree-type=pages]","svContentFooterSelector":"append: #main","svContentHeaderSelector":"before: #main-header","svNavigationSelector":"after: .acs-nav-wrapper","svBylineSelector":"append: .page-metadata"},"config":{"enableVersionManagement":false,"enableTranslation":false,"enableVariants":false,"isAllVariantVisibleInViewport":false,"enablePermalinks":false,"enableSeo":false,"isTargetSpace":true,"restrictEditInReaderView":false,"workflowType":"NONE","hasCorrectComalaSpaceSetup":false,"enableSearch":false}},"products":{"com.k15t.scroll.scroll-platform":{"pluginKey":"com.k15t.scroll.scroll-platform","version":"4.6.8"},"com.k15t.scroll.scroll-versions":{"pluginKey":"com.k15t.scroll.scroll-versions","version":"4.6.8"}}}"></meta> <script> (function() { 'use strict'; var pageContext = document.getElementById('sv-scroll-page-context').getAttribute("content"); if (pageContext) { var scrollContext = JSON.parse(pageContext); if (window.Scroll) { if (window.Scroll.Versions) { window.Scroll.Versions.Context = scrollContext; } else { window.Scroll.Versions = { Context: scrollContext }; } } else { window.Scroll = { Versions: { Context: scrollContext } }; } } })(); </script> <meta name="ajs-is-confluence-admin" content="false"> <meta name="ajs-connection-timeout" content="20000"> <script type="text/x-template" title="gliffy-webpanel-footer"> <div class="gliffy-webpanel-footer"><span></span></div> </script> <meta name="ajs-page-id" content=""> <meta name="ajs-from-page-title" content=""> <meta name="ajs-can-remove-page" content="false"> <meta name="ajs-can-remove-page-hierarchy" content="false"> <meta name="ajs-context-path" content=""> <meta name="ajs-base-url" content="https://confluence.atlassian.com"> <meta name="ajs-version-number" content="7.19.26"> <meta name="ajs-build-number" content="8804"> <meta name="ajs-remote-user" content=""> <meta name="ajs-remote-user-key" content=""> <meta name="ajs-remote-user-has-licensed-access" content="false"> <meta name="ajs-remote-user-has-browse-users-permission" content="false"> <meta name="ajs-current-user-fullname" content=""> <meta name="ajs-current-user-avatar-url" content=""> <meta name="ajs-current-user-avatar-uri-reference" content="/images/icons/profilepics/anonymous.svg"> <meta name="ajs-static-resource-url-prefix" content="/s/rmdnqu/8804/1jpfuow/_"> <meta name="ajs-global-settings-attachment-max-size" content="146800640"> <meta name="ajs-global-settings-quick-search-enabled" content="true"> <meta name="ajs-user-locale" content="en_GB"> <meta name="ajs-user-timezone-offset" content="0"> <meta name="ajs-enabled-dark-features" content="draggable.disabled,confluence-monitoring.enable,applinks.v3.ui,captcha-level.easy,confluence.onboarding.bypass,cst-search-key,com.atlassian.profiling.ita.metrics.deny,com.atlassian.analytics.auto.whitelist.grow.events,clc.quick.create,confluence.view.edit.transition,cql.search.screen,confluence-inline-comments-resolved,frontend.editor.v4,http.session.registrar,nps.survey.inline.dialog,confluence.efi.onboarding.new.templates,frontend.editor.v4.compatibility,atlassian.cdn.static.assets,pdf-preview,previews.sharing,previews.versions,file-annotations,confluence.efi.onboarding.rich.space.content,collaborative-audit-log,confluence.reindex.improvements,previews.conversion-service,editor.ajax.save,read.only.mode,graphql,previews.trigger-all-file-types,attachment.extracted.text.extractor,lucene.caching.filter,confluence.table.resizable,notification.batch,previews.sharing.pushstate,confluence-inline-comments-rich-editor,tc.tacca.dacca,site-wide.synchrony.opt-in,atlassian.webresource.twophase.js.i18n.disabled,confluence.denormalisedpermissions,file-annotations.likes,gatekeeper-ui-v2,v2.content.name.searcher,mobile.supported.version,confluence.editor.tinymce.tables,pulp,confluence-inline-comments,confluence-inline-comments-dangling-comment,quick-reload-inline-comments-flags,confluence.retention.rules"> <meta name="ajs-confluence-flavour" content="VANILLA"> <meta name="ajs-user-date-pattern" content="dd MMM yyyy"> <meta name="ajs-access-mode" content="READ_WRITE"> <meta name="ajs-render-mode" content="READ_WRITE"> <meta name="ajs-date.format" content="MMM dd, yyyy"> <link rel="shortcut icon" href="/s/ym1mk8/8804/1jpfuow/29/_/favicon.ico"> <link rel="icon" type="image/x-icon" href="/s/ym1mk8/8804/1jpfuow/29/_/favicon.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch/osd.action" title="Atlassian Documentation"/> <script> window.WRM=window.WRM||{};window.WRM._unparsedData=window.WRM._unparsedData||{};window.WRM._unparsedErrors=window.WRM._unparsedErrors||{}; WRM._unparsedData["com.atlassian.applinks.applinks-plugin:applinks-common-exported.entity-types"]="{\u0022singular\u0022:{\u0022refapp.charlie\u0022:\u0022Charlie\u0022,\u0022fecru.project\u0022:\u0022Crucible Project\u0022,\u0022fecru.repository\u0022:\u0022FishEye Repository\u0022,\u0022stash.project\u0022:\u0022Stash Project\u0022,\u0022generic.entity\u0022:\u0022Generic Project\u0022,\u0022confluence.space\u0022:\u0022Confluence Space\u0022,\u0022bamboo.project\u0022:\u0022Bamboo Project\u0022,\u0022jira.project\u0022:\u0022Jira Project\u0022},\u0022plural\u0022:{\u0022refapp.charlie\u0022:\u0022Charlies\u0022,\u0022fecru.project\u0022:\u0022Crucible Projects\u0022,\u0022fecru.repository\u0022:\u0022FishEye Repositories\u0022,\u0022stash.project\u0022:\u0022Stash Projects\u0022,\u0022generic.entity\u0022:\u0022Generic Projects\u0022,\u0022confluence.space\u0022:\u0022Confluence Spaces\u0022,\u0022bamboo.project\u0022:\u0022Bamboo Projects\u0022,\u0022jira.project\u0022:\u0022Jira Projects\u0022}}"; WRM._unparsedData["com.atlassian.analytics.analytics-client:programmatic-analytics-init.programmatic-analytics-data-provider"]="false"; WRM._unparsedData["com.atlassian.confluence.plugins.confluence-license-banner:confluence-license-banner-resources.license-details"]="{\u0022daysBeforeLicenseExpiry\u0022:0,\u0022daysBeforeMaintenanceExpiry\u0022:0,\u0022showLicenseExpiryBanner\u0022:false,\u0022showMaintenanceExpiryBanner\u0022:false,\u0022renewUrl\u0022:null,\u0022salesUrl\u0022:null}"; WRM._unparsedData["com.atlassian.plugins.atlassian-plugins-webresource-plugin:context-path.context-path"]="\u0022\u0022"; WRM._unparsedData["com.atlassian.analytics.analytics-client:policy-update-init.policy-update-data-provider"]="false"; WRM._unparsedData["com.atlassian.applinks.applinks-plugin:applinks-common-exported.authentication-types"]="{\u0022com.atlassian.applinks.api.auth.types.BasicAuthenticationProvider\u0022:\u0022Basic Access\u0022,\u0022com.atlassian.applinks.api.auth.types.TrustedAppsAuthenticationProvider\u0022:\u0022Trusted Applications\u0022,\u0022com.atlassian.applinks.api.auth.types.CorsAuthenticationProvider\u0022:\u0022CORS\u0022,\u0022com.atlassian.applinks.api.auth.types.OAuthAuthenticationProvider\u0022:\u0022OAuth\u0022,\u0022com.atlassian.applinks.api.auth.types.TwoLeggedOAuthAuthenticationProvider\u0022:\u0022OAuth\u0022,\u0022com.atlassian.applinks.api.auth.types.TwoLeggedOAuthWithImpersonationAuthenticationProvider\u0022:\u0022OAuth\u0022}"; WRM._unparsedData["com.atlassian.confluence.plugins.confluence-search-ui-plugin:confluence-search-ui-plugin-resources.i18n-data"]="{\u0022search.ui.recent.link.text\u0022:\u0022View more recently visited\u0022,\u0022search.ui.search.results.empty\u0022:\u0022We couldn\u0027\u0027t find anything matching \u005C\u0022{0}\u005C\u0022.\u0022,\u0022search.ui.filter.clear.selected\u0022:\u0022Clear selected items\u0022,\u0022search.ui.content.name.search.items.panel.load.all.top.items.button.text\u0022:\u0022Show more app results...\u0022,\u0022search.ui.filter.contributor.button.text\u0022:\u0022Contributor\u0022,\u0022search.ui.filter.space.current.label\u0022:\u0022CURRENT\u0022,\u0022search.ui.clear.input.button.text\u0022:\u0022Clear text\u0022,\u0022search.ui.search.results.clear.button\u0022:\u0022clear your filters.\u0022,\u0022help.search.ui.link.title\u0022:\u0022Search tips\u0022,\u0022search.ui.container.close.text\u0022:\u0022Close\u0022,\u0022search.ui.filter.date.month.text\u0022:\u0022The past month\u0022,\u0022search.ui.infinite.scroll.button.text\u0022:\u0022More results\u0022,\u0022search.ui.filter.date.button.text\u0022:\u0022Date\u0022,\u0022search.ui.filter.date.week.text\u0022:\u0022The past week\u0022,\u0022search.ui.result.subtitle.calendar\u0022:\u0022Team calendar\u0022,\u0022search.ui.filter.date.heading\u0022:\u0022Last modified within\u0022,\u0022search.ui.filter.space.input.label\u0022:\u0022Find spaces...\u0022,\u0022search.ui.generic.error\u0022:\u0022Something went wrong. Refresh the page, or contact your admin if this keeps happening.\u0022,\u0022search.ui.recent.spaces\u0022:\u0022Recent Spaces\u0022,\u0022search.ui.result.subtitle.space\u0022:\u0022Space\u0022,\u0022search.ui.filter.space.category.input.label\u0022:\u0022Find space categories...\u0022,\u0022search.ui.filter.space.archive.label\u0022:\u0022Search archived spaces\u0022,\u0022search.ui.filter.label\u0022:\u0022filter\u0022,\u0022search.ui.filter.date.all.text\u0022:\u0022Any time\u0022,\u0022search.ui.filter.date.hour.text\u0022:\u0022The past day\u0022,\u0022search.ui.filters.heading\u0022:\u0022Filter by\u0022,\u0022search.ui.filter.label.input.label\u0022:\u0022Find labels...\u0022,\u0022search.ui.recent.items.anonymous\u0022:\u0022Start exploring. Your search results will appear here.\u0022,\u0022search.ui.input.label\u0022:\u0022Search\u0022,\u0022search.ui.input.aria.label\u0022:\u0022Search, when you type, your results will be displayed below.\u0022,\u0022search.ui.search.result\u0022:\u0022{0,choice,1#{0} search result|1\u003c{0} search results}\u0022,\u0022search.ui.filter.label.button.text\u0022:\u0022Label\u0022,\u0022search.ui.container.clear.ariaLabel\u0022:\u0022Clear\u0022,\u0022search.ui.input.alert\u0022:\u0022Hit enter to search\u0022,\u0022search.ui.filter.no.result.text\u0022:\u0022We can\u0027\u0027t find anything matching your search\u0022,\u0022search.ui.result.subtitle.user\u0022:\u0022User profile\u0022,\u0022search.ui.filter.contributor.input.label\u0022:\u0022Find people...\u0022,\u0022search.ui.filter.content.type.button.text\u0022:\u0022Type\u0022,\u0022search.ui.filter.date.year.text\u0022:\u0022The past year\u0022,\u0022search.ui.advanced.search.link.text\u0022:\u0022Advanced search\u0022,\u0022search.ui.filter.space.button.text\u0022:\u0022Space\u0022,\u0022search.ui.search.results.clear.line2\u0022:\u0022Try a different search term or\u0022,\u0022search.ui.filter.space.category.button.text\u0022:\u0022Space category\u0022,\u0022search.ui.search.results.clear.line1\u0022:\u0022We couldn\u0027\u0027t find anything matching your search.\u0022,\u0022search.ui.content.name.search.items.panel.load.all.top.items.admin.button.text\u0022:\u0022Show more settings and app results...\u0022,\u0022search.ui.recent.pages\u0022:\u0022Recently visited\u0022,\u0022search.ui.search.result.anonymous\u0022:\u0022{0,choice,1#{0} search result|1\u003c{0} search results}. Have an account? {1}Log in{2} to expand your search.\u0022,\u0022search.ui.recent.items.empty\u0022:\u0022Start exploring. Pages and spaces you\u0027\u0027ve visited recently will appear here.\u0022,\u0022search.ui.filter.space.init.heading\u0022:\u0022recent spaces\u0022}"; WRM._unparsedData["com.atlassian.applinks.applinks-plugin:applinks-common-exported.applinks-types"]="{\u0022crowd\u0022:\u0022Crowd\u0022,\u0022confluence\u0022:\u0022Confluence\u0022,\u0022fecru\u0022:\u0022FishEye / Crucible\u0022,\u0022stash\u0022:\u0022Stash\u0022,\u0022jira\u0022:\u0022Jira\u0022,\u0022refapp\u0022:\u0022Reference Application\u0022,\u0022bamboo\u0022:\u0022Bamboo\u0022,\u0022generic\u0022:\u0022Generic Application\u0022}"; WRM._unparsedData["com.atlassian.confluence.plugins.synchrony-interop:synchrony-status-banner-loader.synchrony-status"]="false"; WRM._unparsedData["com.atlassian.applinks.applinks-plugin:applinks-common-exported.applinks-help-paths"]="{\u0022entries\u0022:{\u0022applinks.docs.root\u0022:\u0022https://confluence.atlassian.com/display/APPLINKS-082/\u0022,\u0022applinks.docs.diagnostics.troubleshoot.sslunmatched\u0022:\u0022SSL+and+application+link+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.oauthsignatureinvalid\u0022:\u0022OAuth+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.oauthtimestamprefused\u0022:\u0022OAuth+troubleshooting+guide\u0022,\u0022applinks.docs.delete.entity.link\u0022:\u0022Create+links+between+projects\u0022,\u0022applinks.docs.adding.application.link\u0022:\u0022Link+Atlassian+applications+to+work+together\u0022,\u0022applinks.docs.administration.guide\u0022:\u0022Application+Links+Documentation\u0022,\u0022applinks.docs.oauth.security\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.troubleshoot.application.links\u0022:\u0022Troubleshoot+application+links\u0022,\u0022applinks.docs.diagnostics.troubleshoot.unknownerror\u0022:\u0022Network+and+connectivity+troubleshooting+guide\u0022,\u0022applinks.docs.configuring.auth.trusted.apps\u0022:\u0022Configuring+Trusted+Applications+authentication+for+an+application+link\u0022,\u0022applinks.docs.diagnostics.troubleshoot.authlevelunsupported\u0022:\u0022OAuth+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.ssluntrusted\u0022:\u0022SSL+and+application+link+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.unknownhost\u0022:\u0022Network+and+connectivity+troubleshooting+guide\u0022,\u0022applinks.docs.delete.application.link\u0022:\u0022Link+Atlassian+applications+to+work+together\u0022,\u0022applinks.docs.adding.project.link\u0022:\u0022Configuring+Project+links+across+Applications\u0022,\u0022applinks.docs.link.applications\u0022:\u0022Link+Atlassian+applications+to+work+together\u0022,\u0022applinks.docs.diagnostics.troubleshoot.oauthproblem\u0022:\u0022OAuth+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.migration\u0022:\u0022Update+application+links+to+use+OAuth\u0022,\u0022applinks.docs.relocate.application.link\u0022:\u0022Link+Atlassian+applications+to+work+together\u0022,\u0022applinks.docs.administering.entity.links\u0022:\u0022Create+links+between+projects\u0022,\u0022applinks.docs.upgrade.application.link\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.diagnostics.troubleshoot.connectionrefused\u0022:\u0022Network+and+connectivity+troubleshooting+guide\u0022,\u0022applinks.docs.configuring.auth.oauth\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.insufficient.remote.permission\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.configuring.application.link.auth\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.diagnostics\u0022:\u0022Application+links+diagnostics\u0022,\u0022applinks.docs.configured.authentication.types\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.adding.entity.link\u0022:\u0022Create+links+between+projects\u0022,\u0022applinks.docs.diagnostics.troubleshoot.unexpectedresponse\u0022:\u0022Network+and+connectivity+troubleshooting+guide\u0022,\u0022applinks.docs.configuring.auth.basic\u0022:\u0022Configuring+Basic+HTTP+Authentication+for+an+Application+Link\u0022,\u0022applinks.docs.diagnostics.troubleshoot.authlevelmismatch\u0022:\u0022OAuth+troubleshooting+guide\u0022}}"; WRM._unparsedData["com.atlassian.confluence.plugins.confluence-feature-discovery-plugin:confluence-feature-discovery-plugin-resources.test-mode"]="false"; if(window.WRM._dataArrived)window.WRM._dataArrived();</script> <link rel="stylesheet" href="/s/5891c4bc386d9b7eb92d12ec45f39b1d-CDN/ym1mk8/8804/1jpfuow/46dd15702187958a1bfc2708dcff2a2e/_/download/contextbatch/css/_super,-com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer/batch.css" data-wrm-key="_super,-com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer" data-wrm-batch-type="context" media="all"> <link rel="stylesheet" href="/s/4813c9f825240a308323889ff18495c9-CDN/ym1mk8/8804/1jpfuow/dbe68a8c37bc83232150ba9d8b02b064/_/download/contextbatch/css/atl.confluence.plugins.pagetree-desktop,main,page,atl.general,-_super/batch.css?scm-display-getting-started=false" data-wrm-key="atl.confluence.plugins.pagetree-desktop,main,page,atl.general,-_super" data-wrm-batch-type="context" media="all"> <link rel="stylesheet" href="/s/d6113f858533d735a575b66626e8e3c5-CDN/ym1mk8/8804/1jpfuow/17.19.8/_/download/batch/confluence.extra.livesearch:livesearch-macro-web-resources/confluence.extra.livesearch:livesearch-macro-web-resources.css" data-wrm-key="confluence.extra.livesearch:livesearch-macro-web-resources" data-wrm-batch-type="resource" media="all"> <link rel="stylesheet" href="/s/d41d8cd98f00b204e9800998ecf8427e-CDN/ym1mk8/8804/1jpfuow/9.2.2-patch-2/_/download/batch/com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1/com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1.css" data-wrm-key="com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1" data-wrm-batch-type="resource" media="all"> <link rel="stylesheet" href="/s/d41d8cd98f00b204e9800998ecf8427e-CDN/ym1mk8/8804/1jpfuow/17.19.19/_/download/batch/com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar/com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar.css" data-wrm-key="com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar" data-wrm-batch-type="resource" media="all"> <link rel="stylesheet" href="/s/ym1mk8/8804/1jpfuow/16/_/styles/custom.css?spaceKey=CROWD" media="all"> <script data-wrm-key="com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer" data-wrm-batch-type="resource" data-initially-rendered> !function(){"use strict";if("PerformanceObserver"in window){const e=[];window.__observedResources=e;const r=e=>"script"===e?"script":"css";new PerformanceObserver((n=>{n.getEntries().filter((({initiatorType:e,name:r})=>{const n="script"===e||((e,r)=>"link"===e&&"css"===new URL(r).pathname.split(".").pop())(e,r),i=new URL(location.href).origin===new URL(r).origin;return n&&i})).forEach((({name:n,transferSize:i,encodedBodySize:s,initiatorType:o})=>{e.push([i,s,n,r(o)])}))})).observe({type:"resource"})}}(); </script> <script src="/s/5bb9839c32c00c56162309ddd967bb03-CDN/ym1mk8/8804/1jpfuow/46dd15702187958a1bfc2708dcff2a2e/_/download/contextbatch/js/_super,-com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer/batch.js?locale=en-GB" data-wrm-key="_super,-com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer" data-wrm-batch-type="context" data-initially-rendered></script> <script src="/s/58185b272e8d37966085e793b1848aa8-CDN/ym1mk8/8804/1jpfuow/dbe68a8c37bc83232150ba9d8b02b064/_/download/contextbatch/js/atl.confluence.plugins.pagetree-desktop,main,page,atl.general,-_super/batch.js?locale=en-GB&scm-display-getting-started=false" data-wrm-key="atl.confluence.plugins.pagetree-desktop,main,page,atl.general,-_super" data-wrm-batch-type="context" data-initially-rendered></script> <script src="/s/aabe1ef43352650f8241e9af82904203-CDN/ym1mk8/8804/1jpfuow/17.19.8/_/download/batch/confluence.extra.livesearch:livesearch-macro-web-resources/confluence.extra.livesearch:livesearch-macro-web-resources.js?locale=en-GB" data-wrm-key="confluence.extra.livesearch:livesearch-macro-web-resources" data-wrm-batch-type="resource" data-initially-rendered></script> <script src="/s/99914b932bd37a50b983c5e7c90ae93b-CDN/ym1mk8/8804/1jpfuow/17.19.19/_/download/batch/com.atlassian.confluence.plugins.confluence-space-ia:soy-resources/com.atlassian.confluence.plugins.confluence-space-ia:soy-resources.js?locale=en-GB" data-wrm-key="com.atlassian.confluence.plugins.confluence-space-ia:soy-resources" data-wrm-batch-type="resource" data-initially-rendered></script> <script src="/s/aabe1ef43352650f8241e9af82904203-CDN/ym1mk8/8804/1jpfuow/7.19.26/_/download/batch/com.atlassian.confluence.plugins.editor-loader:background-loading-editor/com.atlassian.confluence.plugins.editor-loader:background-loading-editor.js?locale=en-GB" data-wrm-key="com.atlassian.confluence.plugins.editor-loader:background-loading-editor" data-wrm-batch-type="resource" data-initially-rendered></script> <script src="/s/aabe1ef43352650f8241e9af82904203-CDN/ym1mk8/8804/1jpfuow/9.2.2-patch-2/_/download/batch/com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1/com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1.js?locale=en-GB" data-wrm-key="com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1" data-wrm-batch-type="resource" data-initially-rendered></script> <script src="/s/aabe1ef43352650f8241e9af82904203-CDN/ym1mk8/8804/1jpfuow/9.2.2-patch-2/_/download/batch/com.atlassian.auiplugin:split_jquery.ui.sortable/com.atlassian.auiplugin:split_jquery.ui.sortable.js?locale=en-GB" data-wrm-key="com.atlassian.auiplugin:split_jquery.ui.sortable" data-wrm-batch-type="resource" data-initially-rendered></script> <script src="/s/aabe1ef43352650f8241e9af82904203-CDN/ym1mk8/8804/1jpfuow/17.19.19/_/download/batch/com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar/com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar.js?locale=en-GB" data-wrm-key="com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar" data-wrm-batch-type="resource" data-initially-rendered></script> <script type="module">WRM.requireLazily(["wr!com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-async"])</script> <meta name="infopanel-width" content="25%"> <!-- ADM-76246 - Add Google Webmaster Tools site verification code to Custom HTML on CAC --> <meta name="google-site-verification" content="WJJ7tHb2VT43pW6XPfWrJWJecm-VO42XsG7KVG_Dp8E" /> <script src="//cdn.optimizely.com/js/10828395850.js"></script> <script> if (typeof window['ace'] == 'undefined') { document.write('<script type="text/javascript" src="https://ace-cdn.atlassian.com/stp/current/analytics/js/atl-analytics.min.js"><' + '/script>'); document.write('<script type="text/javascript">ace.analytics.Initializer.initWithPageAnalytics(\'9nfqb81km3\');<' + '/script>'); } </script> <script class="SL_swap” id=”transifex_live_js"></script> <!-- SL:swap-start:id:transifex-live-js-head --> <script type="text/javascript"></script> <!-- SL:swap-end --> </head> <body id="com-atlassian-confluence" class="theme-default aui-layout aui-theme-default"> <div id='stp-licenseStatus-banner'></div> <script> var spaceConfigElement = document.getElementById('sv-space-config'); if (spaceConfigElement) { var cssClasses = spaceConfigElement.getAttribute('content'); document.body.className += ' ' + cssClasses; } </script> <meta name="ajs-is-scroll-viewport-available" content="true"> <div id="page"> <div id="full-height-container"> <div id="header-precursor"> <div class="cell"> </div> </div> <header id="header" role="banner"> <a class="aui-skip-link" href="https://confluence.atlassian.com/login.action?os_destination=%2Fdisplay%2FCROWD%2FJava%2BIntegration%2BLibraries">Log in</a> <a class="aui-skip-link" href="#nav-sidebar">Skip to sidebar</a> <a class="aui-skip-link" href="#main">Skip to main content</a> <nav class="aui-header aui-dropdown2-trigger-group" aria-label="Site"><div class="aui-header-inner"><div class="aui-header-before"><button class=" aui-dropdown2-trigger app-switcher-trigger aui-dropdown2-trigger-arrowless" aria-controls="app-switcher" aria-haspopup="true" role="button" data-aui-trigger href="#app-switcher"><span class="aui-icon aui-icon-small aui-iconfont-appswitcher">Linked Applications</span></button><div id="app-switcher" class="aui-dropdown2 aui-style-default" role="menu" hidden data-is-user-admin="false" data-is-switcher="true"><div class="app-switcher-loading">Loading…</div></div></div><div class="aui-header-primary"><span id="logo" class="aui-header-logo aui-header-logo-custom"><a href="/" aria-label="Go to home page"><img src="/download/attachments/163938305/atl.site.logo?version=2&modificationDate=1364459793393&api=v2" alt="Atlassian Documentation" /></a></span><ul class="aui-nav"> <li> <a id="space-directory-link" href="/spacedirectory/view.action" class=" aui-nav-imagelink" title="Spaces"> <span>Spaces</span> </a> </li> <li class="aui-buttons"> </li> </ul> </div><div class="aui-header-secondary"><ul class="aui-nav"> <li> <div id="search-ui" class="aui-quicksearch dont-default-focus header-quicksearch"><button id="quick-search-query-button" aria-label="Search" aria-haspopup= "dialog" aria-controls="search_drawer" ></button><input id="quick-search-query" aria-label="Search" placeholder="Search" type="text" aria-haspopup= "dialog" aria-controls="search_drawer" /><div id="quick-search-alert" role="alert">Hit enter to search</div><aui-spinner size="small"></aui-spinner></div> </li> <li> <a id="help-menu-link" class="aui-nav-link aui-dropdown2-trigger aui-dropdown2-trigger-arrowless" href="#" aria-haspopup="true" aria-owns="help-menu-link-content" title="Help"> <span class="aui-icon aui-icon-small aui-iconfont-question-filled">Help</span> </a> <nav id="help-menu-link-content" class="aui-dropdown2 aui-style-default"> <div class="aui-dropdown2-section"> <ul id="help-menu-link-leading" class="aui-list-truncate section-leading first"> <li> <a id="confluence-help-link" href="https://docs.atlassian.com/confluence/docs-719/" class=" " title="Visit the Confluence documentation home" target="_blank" > Online Help </a> </li> <li> <a id="keyboard-shortcuts-link" href="#" class=" " title="View available keyboard shortcuts" > Keyboard Shortcuts </a> </li> <li> <a id="feed-builder-link" href="/dashboard/configurerssfeed.action" class=" " title="Create your custom RSS feed." > Feed Builder </a> </li> <li> <a id="whats-new-menu-link" href="https://confluence.atlassian.com/display/DOC/Confluence+7.19+Release+Notes" class=" " title="" > What’s new </a> </li> <li> <a id="gadget-directory-link" href="#" class=" user-item administration-link " title="Browse gadgets provided by Confluence" > Available Gadgets </a> </li> <li> <a id="confluence-about-link" href="/aboutconfluencepage.action" class=" " title="Get more information about Confluence" > About Confluence </a> </li> </ul> </div> </nav> </li> <li> </li> <li> </li> <li> <li> <a id="login-link" href="/login.action?os_destination=%2Fdisplay%2FCROWD%2FJava%2BIntegration%2BLibraries" class=" user-item login-link " title="" > Log in </a> </li> </li> </ul> </div></div><!-- .aui-header-inner--></nav><!-- .aui-header --> <br class="clear"> </header> <div class="ia-splitter"> <div class="ia-splitter-left"> <div class="ia-fixed-sidebar" role="complementary" aria-label=sidebar> <div class="acs-side-bar ia-scrollable-section"><div class="acs-side-bar-space-info tipsy-enabled" data-configure-tooltip="Edit space details"><div class="avatar"><div class="space-logo" data-key="CROWD" data-name="Crowd 6.1 documentation (Latest)" data-entity-type="confluence.space"><div class="avatar-img-container"><div class="avatar-img-wrapper"><a href="/display/CROWD/Crowd+documentation" title="Crowd 6.1 documentation (Latest)"><img class="avatar-img" src="/images/logo/default-space-logo.svg" alt="Crowd 6.1 documentation (Latest)"></a></div></div></div></div><div class="space-information-container"><div class="name"><a href="/display/CROWD/Crowd+documentation" title="Crowd 6.1 documentation (Latest)">Crowd 6.1 documentation (Latest)</a></div><div class="flyout-handle icon aui-icon aui-icon-small aui-iconfont-edit"></div></div></div><div class="acs-side-bar-content"><div class="acs-nav-wrapper"><div class="acs-nav" data-has-create-permission="false" data-quick-links-state="hide" data-page-tree-state="null" data-nav-type="page-tree"><div class="acs-nav-sections"><div class="custom-sidebar"><div class="custom-sidebar-content"><div class="content"><p> <div class="search-macro search-macro-medium"> <div class="aui-dd-parent"></div> <form class="aui aui-dd-parent" name="livesearchForm" method="GET" action="/dosearchsite.action" role="search"> <fieldset class="search-macro-fields"> <div class="search-macro-query"> <input class="text" type="text" name="queryString" autocomplete="off" placeholder="" aria-label=""> </div> <button type="submit" class="search-macro-button aui-button"> <span class="aui-icon aui-icon-small aui-iconfont-search">Search</span> </button> <input type="hidden" name="where" value="CROWD"> <input type="hidden" name="additional" value="space name"> <input type="hidden" name="labels" value=""> <input type="hidden" name="contentType" value="page"> </fieldset> </form> </div> </p></div></div></div></div></div></div></div><div class="hidden"><a href="/collector/pages.action?key=CROWD" id="space-pages-link"></a><script type="text/x-template" title="logo-config-content"><h2>Space Details</h2><div class="personal-space-logo-hint">Your profile picture is used as the logo for your personal space. <a href="/users/profile/editmyprofilepicture.action" target="_blank">Change your profile picture</a>.</div></script></div></div><div class="space-tools-section"><div id="space-tools-menu-additional-items" class="hidden"><div data-label="Browse pages" data-class="" data-href="/pages/reorderpages.action?key=CROWD">Browse pages</div></div><button id="space-tools-menu-trigger" class=" aui-dropdown2-trigger aui-button aui-button-subtle tipsy-enabled aui-dropdown2-trigger-arrowless " aria-controls="space-tools-menu" aria-haspopup="true" role="button" data-aui-trigger><span class="aui-icon aui-icon-small aui-iconfont-configure">Configure</span><span class="aui-button-label">Space tools</span><span class="aui-icon "></span></button><div id="space-tools-menu" class="aui-dropdown2 aui-style-default space-tools-dropdown" role="menu" hidden data-aui-alignment="top left"></div><a href="#" role="button" class="expand-collapse-trigger aui-icon aui-icon-small aui-iconfont-chevron-double-left" aria-expanded="true"></a></div> </div> </div> <!-- \#header --> <main role="main" id="main" class=" aui-page-panel"> <div id="main-header"> <div id="navigation" class="content-navigation view-information" role="region" aria-label="Page tools"> <ul class="ajs-menu-bar"> </ul> </div> <div id="title-heading" class="pagetitle with-breadcrumbs"> <div id="breadcrumb-section"> <nav aria-label="Breadcrumbs"> <ol id="breadcrumbs"> </ol> </nav> </div> <h1 id="title-text" class="with-breadcrumbs"> Java Integration Libraries </h1> </div> </div><!-- \#main-header --> <div id="sidebar-container"> </div><!-- \#sidebar-container --> <div id="content" class="page view-information"> <div id="action-messages"> </div> <script type="text/x-template" title="searchResultsGrid"> <table class="aui"> <thead> <tr class="header"> <th class="search-result-title">Page Title</th> <th class="search-result-space">Space</th> <th class="search-result-date">Updated</th> </tr> </thead> </table> </script> <script type="text/x-template" title="searchResultsGridCount"> <p class="search-result-count">{0}</p> </script> <script type="text/x-template" title="searchResultsGridRow"> <tr class="search-result"> <td class="search-result-title"><a href="{1}" class="content-type-{2}"><span>{0}</span></a></td> <td class="search-result-space"><a class="space" href="/display/{4}/" title="{3}">{3}</a></td> <td class="search-result-date"><span class="date" title="{6}">{5}</span></td> </tr> </script> <div id="action-messages"> </div> <div class="aui-message aui-message-hint hint shadowed"> <p class="title">Page Not Found</p> <p>The page you were trying to reach could not be found: it may have been renamed or moved to another space, or the name you requested may be incomplete.</p> </div> <h2>In Other Spaces</h2> <p>The page you were looking for may have moved to another space:</p> <ul id="alternative-pages-elsewhere" class="alternative-page-list"> <li> <span class="icon aui-icon content-type-page" title="Page">Page:</span> <a href="/display/CROWD016/Java+Integration+Libraries">Java Integration Libraries</a> <span class="smalltext">(Crowd 1.6)</span> <div class="smalltext excerpt"> This page provides sample code for creating a Crowd Client using the supplied Java integration libraries. We recommend that you use the SOAP API for long-term compatibility. If you have a Java application,...</div> </li> <li> <span class="icon aui-icon content-type-page" title="Page">Page:</span> <a href="/display/CROWD013/Java+Integration+Libraries">Java Integration Libraries</a> <span class="smalltext">(Crowd 1.3)</span> <div class="smalltext excerpt"> This page provides sample code for creating a Crowd Client using the supplied Java Integration Libraries. SecurityServerClient The SecurityServerClient is useful for common create, update and delete operations for principals, groups and roles....</div> </li> <li> <span class="icon aui-icon content-type-page" title="Page">Page:</span> <a href="/display/CROWD014/Java+Integration+Libraries">Java Integration Libraries</a> <span class="smalltext">(Crowd 1.4)</span> <div class="smalltext excerpt"> This page provides sample code for creating a Crowd Client using the supplied Java Integration Libraries. SecurityServerClient The SecurityServerClient is useful for common create, update and delete operations for principals, groups and roles....</div> </li> <li> <span class="icon aui-icon content-type-page" title="Page">Page:</span> <a href="/display/CROWD015/Java+Integration+Libraries">Java Integration Libraries</a> <span class="smalltext">(Crowd 1.5)</span> <div class="smalltext excerpt"> This page provides sample code for creating a Crowd Client using the supplied Java Integration Libraries. SecurityServerClient The SecurityServerClient is useful for common create, update and delete operations for principals, groups and roles....</div> </li> <li> <span class="icon aui-icon content-type-page" title="Page">Page:</span> <a href="/display/CROWD012/Java+Integration+Libraries">Java Integration Libraries</a> <span class="smalltext">(Crowd 1.2)</span> <div class="smalltext excerpt"> This page provides sample code for creating a Crowd Client using the supplied Java Integration Libraries. SecurityServerClient The SecurityServerClient is useful for common create, update and delete operations for principals, groups and roles....</div> </li> <li> <span class="icon aui-icon content-type-page" title="Page">Page:</span> <a href="/display/CROWD011/Java+Integration+Libraries">Java Integration Libraries</a> <span class="smalltext">(Crowd 1.1)</span> <div class="smalltext excerpt"> This page provides sample code for creating a Crowd Client using the supplied Java Integration Libraries. SecurityServerClient The SecurityServerClient is useful for common create, update and delete operations for principals, groups and roles....</div> </li> <li> <span class="icon aui-icon content-type-page" title="Page">Page:</span> <a href="/display/CROWD010/Java+Integration+Libraries">Java Integration Libraries</a> <span class="smalltext">(Crowd 1.0)</span> <div class="smalltext excerpt"> This page provides sample code for creating a Crowd Client using the supplied Java Integration Libraries. SecurityServerClient The SecurityServerClient is useful for common create, update and delete operations for principals, groups and roles....</div> </li> </ul> </div> <div id="space-tools-web-items" class="hidden"> <div data-label="Overview" data-href="/spaces/viewspacesummary.action?key=CROWD">Overview</div> <div data-label="Content Tools" data-href="/pages/reorderpages.action?key=CROWD">Content Tools</div> <div data-label="Apps" data-href="/spaces/scroll-viewport/config.action?key=CROWD#/list">Apps</div> </div> </main><!-- \#main --> <div id="footer" role="contentinfo"> <section class="footer-body"> <ul id="poweredby"> <li class="noprint">Powered by <a href="https://www.atlassian.com/software/confluence" class="hover-footer-link" rel="nofollow">Atlassian Confluence</a> <span id='footer-build-information'>7.19.26</span> <span id='footer-cluster-node'>(i-029e2bc3e26c43971-ipp-10.226.27.207: 5161787b)</span></li> <li class="print-only">Printed by Atlassian Confluence 7.19.26</li> <li class="noprint"><a href="https://support.atlassian.com/confluence-server/" class="hover-footer-link" rel="nofollow">Report a bug</a></li> <li class="noprint"><a href="https://www.atlassian.com/company" class="hover-footer-link" rel="nofollow">Atlassian News</a></li> </ul> <div id="footer-logo"><a href="https://www.atlassian.com/" rel="nofollow">Atlassian</a></div> <!-- Google Analytics is no longer embedded directly into CAC pages from this location. We now capture Google Analytics events via Segment IO, a third party analytics service. Additionally, the Scroll Viewports plugin which is now installed on CAC does not respect the settings in this Custom HTML section, and does its own handling of JS snippets via the custom ADG Brand theme for the Viewport plugin. As such, I have removed the ga.js API integration from this area, and additionally I have removed the custom GA event tracking which was added in ADM-19936 and ADM-26328. <3 Joe Clark, 2015-10-19 --> <script type="text/javascript"> AJS.$("#poweredby").append("<li class='noprint'>" + (getCookie("JSESSIONID") != null ? new RegExp("node\\d").exec(getCookie("JSESSIONID")) : "") + "<li>"); // This logic adds banners to the top of KB articles if they meet the // KCS banner criteria (see CST-20821). This approach is necessary to reach // parity with the scrollviewport theme. These banners are only visible // to Atlassians and contractors after if they are in the necessary Confluence group. // // IMPORTANT: To prevent scope leakage, this should be a self executing function. (function () { // Helper that injects a new alert at the top of the article's main content. function injectAlertMacro(title, content) { const newMacro = $( '<div class="confluence-information-macro confluence-information-macro-warning conf-macro output-block" data-hasbody="true" data-macro-name="warning">' + ' <p class="title" />' + ' <span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon" />' + ' <div class="confluence-information-macro-body">' + ' <p />' + ' </div>' + '</div>' ); newMacro.find(".title").text(title); newMacro.find(".confluence-information-macro-body > p").append(content); $('#main-content').prepend(newMacro); } // Helper that injects a new note at the top of the article's main content. function injectNoteMacro(title, content) { const newMacro = $( '<div class="confluence-information-macro confluence-information-macro-note conf-macro output-block" data-hasbody="true" data-macro-name="note">' + ' <p class="title" />' + ' <span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon" />' + ' <div class="confluence-information-macro-body">' + ' <p />' + ' </div>' + '</div>' ); newMacro.find(".title").text(title); newMacro.find(".confluence-information-macro-body > p").append(content); $('#main-content').prepend(newMacro); } // Add a variety of banners to the top of a KB article to match the SV theme. function addKCSBanners() { const labels = $(".aui-label").map(function () { return this.innerText.toLowerCase() }).toArray(); let hasKcsLabel = false; if (labels && labels.length > 0) { for(const label of labels) { if (label.startsWith("kcs-")) { hasKcsLabel = true; break; } } } if (labels.includes("kcs-archived")) { injectNoteMacro( "For Atlassian eyes only", $("<span>This article is <b>Archived</b> and cannot be shared with customers.</span>") ) } else if (labels.includes("kcs-wip") || labels.includes("kcs-not-validated")) { injectNoteMacro( "For Atlassian eyes only", $("<span>This article is <b>Work In Progress</b> and cannot be shared with customers.</span>") ) } else if (labels.includes("kcs-reviewme")) { injectNoteMacro( "For Atlassian eyes only", $("<span>This article is <b>Not Validated</b> and cannot be shared with customers.</span>") ) } else if($("#content-metadata-page-restrictions.restricted").length > 0 && $("#content-metadata-page-restrictions.aui-iconfont-locked").length > 0) { injectNoteMacro( "For Atlassian eyes only", $("<span>This article is <b>Internal</b> only and cannot be shared with customers.</span>") ) } // The KB article has kcs label(s) and at the same time it is external. This should not happen if it happens // we need to mark the KB article as Invalid if (hasKcsLabel && $("#content-metadata-page-restrictions.restricted").length == 0) { injectAlertMacro( "For Atlassian eyes only", $("<span>This article is in an <b>Invalid</b> state, it is public but has KCS labels. Please remove the labels or restrict visibility to the to the 'ssam-managed-cac-dl-atlassians' group.</span>") ) } if (labels.includes("kcs-flagged")) { injectAlertMacro( "This article requires fixes", $("<span>This article has been <b>Flagged</b> for fixing. Use caution when using it and fix it if you have Publisher rights.</span>") ) } } $(document).ready(function () { // Validate that the space key exists and belongs to a KB space. const spaceKey = $('meta#confluence-space-key').attr('content'); if (!(typeof spaceKey === "string") || !spaceKey.toUpperCase().endsWith("KB")) { return; } // Removes the edit labels button within the article draft view // https://hello.atlassian.net/browse/CST-23128 $('#rte-button-labels').remove(); // Expected SSAM group on CAC const cacAtlassianGroup = 'ssam-managed-cac-dl-atlassians'; // We need to check if the user is in the correct group to view the banner on the KB article fetch(`${AJS.contextPath()}/rest/api/user/memberof?key=${AJS.params.remoteUserKey}`, { credentials: 'same-origin', }) .then(response => response.json()) .then(function(data) { const groups = data.results; for(let i = 0; i < groups.length; i++) { if (groups[i].name === cacAtlassianGroup) { return addKCSBanners(); } } }); }); })(); </script> </section> </div> </div> </div><!-- \#full-height-container --> </div><!-- \#page --> <span style="display:none;" id="confluence-server-performance">{"serverDuration": 160, "requestCorrelationId": "a91b1ec60268c920"}</span> </body> </html>