Crowd module¶
API reference¶
- class atlassian.crowd.Crowd(url, username, password, timeout=60, api_root='rest', api_version='latest')¶
Crowd API wrapper. Important to note that you will have to use an application credentials, not user credentials, in order to access Crowd APIs
- account_change_password(username, old_password, new_password)¶
Change the current user’s password. :param username: str - username :param old_password: str - current password :param new_password: str - new password :return:
- account_forgotten_password(username)¶
Start the forgotten password procedure. :param username: str - username :return:
- account_forgotten_username(email)¶
Start the forgotten username procedure. :param email: str - email address :return:
- account_reset_password(username, token, password, directory_id=None)¶
Reset a forgotten password. :param username: str - username :param token: str - reset token :param password: str - new password :param directory_id: int - directory id :return:
- account_validate_token(username, token, directory_id=None)¶
Check whether a user’s reset token is still valid. :param username: str - username :param token: str - reset token :param directory_id: int - directory id :return:
- add_admin_group_nested_groups(group_id, data)¶
Add nested groups to a group. :param group_id: str - group id :param data: dict - group membership request body :return:
- add_audit_log_changeset(data)¶
Add an audit log changeset. :param data: dict - changeset data :return:
- add_directory_mapping(application_id, data)¶
Add a directory mapping to an application. :param application_id: str - application id :param data: dict - directory mapping representation :return:
- add_group_administrators(group_id, data)¶
Add administrators to a group. :param group_id: str - group id :param data: dict - administrator request body :return:
- add_remote_address(application_id, address)¶
Add a remote address to an application. :param application_id: str - application id :param address: dict - remote address representation or string value :return:
- add_user_to_admin_group(user_id, data)¶
Add a user to groups. :param user_id: str - user id :param data: dict - groups to add :return:
- add_users_to_admin_group(group_id, data)¶
Add users to a group. :param group_id: str - group id :param data: dict - users to add :return:
- check_plugin_manager_status()¶
- create_application(data, include_request_address=None)¶
Add a new application. :param data: dict - application representation :param include_request_address: bool - include request address in response :return:
- create_backup(data=None)¶
Create a backup. :param data: dict - optional backup request body :return:
- delete_alias(application_id, username)¶
Delete a user’s alias in a specific application. :param application_id: str - application id :param username: str - username :return:
- delete_application(application_id)¶
Delete an application. :param application_id: str - application id :return:
- delete_directory_mapping(application_id, directory_id)¶
Delete a directory mapping from an application. :param application_id: str - application id :param directory_id: str - directory id :return:
- delete_plugin(plugin_key)¶
Delete plugin :param plugin_key: :return:
- delete_user_aliases(username)¶
Delete all aliases for a user. :param username: str - username in Crowd :return:
- directory_test_azure_ad(config, directory_id=None)¶
Test Microsoft Entra ID (Azure AD) directory connection. :param config: dict - Azure AD connection test data :param directory_id: int - optional directory id to test against :return: connection test result
- directory_test_crowd(config, directory_id=None)¶
Test Crowd directory connection. :param config: dict - Crowd connection test data :param directory_id: int - optional directory id to test against :return: connection test result
- directory_test_ldap(config, directory_id=None)¶
Test LDAP directory connection. :param config: dict - LDAP connection test data :param directory_id: int - optional directory id to test against :return: connection test result
- directory_test_ldap_search(config, directory_id=None)¶
Test LDAP directory search. :param config: dict - LDAP search test data :param directory_id: int - optional directory id to test against :return: search test result
- expire_all_remember_me_tokens()¶
Expire all remember me tokens.
- expire_session(random_hash)¶
Expire a session by random hash. :param random_hash: str - session random hash :return:
- export_licensed_users(application_id, search=None, directory_id=None, jira_type=None, last_login_before=None, search_version=None)¶
Export licensed users for an application. :param application_id: str - application id :param search: str - optional search text :param directory_id: str - optional directory id filter :param jira_type: str - optional Jira subtype :param last_login_before: str - optional last logged in date filter :param search_version: str - optional licensing data version :return: exported users
- find_saml_directory_mapping_mismatch(application_id)¶
Find directory mappings mismatch for SAML application. :param application_id: str - application id :return: mismatch info
- get_access_based_synchronization(application_id)¶
Get access-based synchronization settings for an application. :param application_id: str - application id :return: synchronization settings
- get_admin_application(application_id)¶
Get an application by id. :param application_id: str - application id :return: application
- get_admin_applications(name=None, active=None, start=0, limit=99999)¶
Get all applications or filter by name and active status. :param name: str - optional application name filter :param active: bool - optional active status filter :param start: int - start index for paging :param limit: int - maximum number of results :return: applications
- get_admin_group_details(group_id)¶
Get group details. :param group_id: str - group id :return: group details
- get_admin_group_members(group_id, start=0, limit=99999)¶
Get members of a group. :param group_id: str - group id :param start: int - start index for paging :param limit: int - maximum number of results :return: members
- get_admin_group_nested_groups(group_id, start=0, limit=99999)¶
Get nested groups for a group. :param group_id: str - group id :param start: int - start index for paging :param limit: int - maximum number of results :return: groups
- get_alias(application_id, username)¶
Get a user’s alias in a specific application. :param application_id: str - application id :param username: str - username :return: alias
- get_application(application_id)¶
Get an application by id. :param application_id: str - application id :return: application
- get_application_sessions(search=None, start=0, limit=99999)¶
Get application sessions. :param search: str - optional search keyword :param start: int - start index for paging :param limit: int - maximum number of results :return: sessions
- get_applications(name=None)¶
Get all applications or a specific application by name. :param name: str - optional application name to filter by :return: applications
- get_audit_log_configuration()¶
Get audit log configuration.
- get_audit_log_filter_values(projection=None, search=None, start=0, limit=99999)¶
Get audit log filter values. :param projection: str - item type requested :param search: str - optional search string :param start: int - start index for paging :param limit: int - maximum number of results :return: filter values
- get_backup_configuration()¶
Get backup configuration.
- get_backup_summary()¶
Get backup summary.
- get_cookie_config()¶
Get the Crowd cookie configuration.
- get_detailed_directories(search=None, active=None, start=0, limit=99999)¶
Get detailed directory data list. :param search: str - optional search query :param active: bool - optional active status filter :param start: int - start index for paging :param limit: int - maximum number of results :return: directories
- get_detailed_directory(directory_id)¶
Get detailed directory data. :param directory_id: str - directory id :return: directory
- get_directory_mapping(application_id, directory_id)¶
Get a directory mapping for an application. :param application_id: str - application id :param directory_id: str - directory id :return: directory mapping
- get_directory_mappings(application_id, start=0, limit=99999)¶
Get directory mappings for an application. :param application_id: str - application id :param start: int - start index for paging :param limit: int - maximum number of results :return: directory mappings
- get_dynamic_ldap_pool_statistics()¶
Get dynamic LDAP pool statistics.
- get_group_admin_candidates(group_id, search=None, limit=99999)¶
Get group administrator candidates. :param group_id: str - group id :param search: str - optional search string :param limit: int - maximum number of results :return: candidates
- get_group_administrators(group_id, start=0, limit=99999)¶
Get administrators of a group. :param group_id: str - group id :param start: int - start index for paging :param limit: int - maximum number of results :return: administrators
- get_licensed_directories(application_id, version=None, jira_type=None, start=0, limit=99999)¶
Get licensed directories for an application. :param application_id: str - application id :param version: str - optional licensing data version :param jira_type: str - optional Jira subtype :param start: int - start index for paging :param limit: int - maximum number of results :return: directories
- get_licensed_jira_types(application_id, version=None)¶
Get Jira types for licensing. :param application_id: str - application id :param version: str - optional licensing data version :return: Jira types
- get_licensing_summary(application_id, version=None, jira_type=None)¶
Get licensing summary for an application. :param application_id: str - application id :param version: str - optional licensing data version :param jira_type: str - optional Jira subtype :return: licensing summary
- get_look_and_feel_config()¶
Get look and feel configuration.
- get_managed_directories(start=0, limit=99999)¶
Get managed directories. :param start: int - start index for paging :param limit: int - maximum number of results :return: directories
- get_plugin_info(plugin_key)¶
Provide plugin info :return a json of installed plugins
- get_plugin_license_info(plugin_key)¶
Provide plugin license info :return a json specific License query
- get_plugins_info()¶
Provide plugins info :return a json of installed plugins
- get_remember_me_config()¶
Get remember me configuration.
- get_remote_addresses(application_id)¶
Get remote addresses for an application. :param application_id: str - application id :return: remote addresses
- get_saml_application_config(application_id)¶
Get SAML configuration for an application. :param application_id: str - application id :return: SAML application configuration
- get_saml_config()¶
Get SAML configuration.
- get_saml_idp_metadata()¶
Get SAML identity provider metadata.
- get_server_info()¶
Get Crowd server information.
- get_user_sessions(search=None, directory_id=None, start=0, limit=99999)¶
Get user sessions. :param search: str - optional search keyword :param directory_id: str - optional directory id filter :param start: int - start index for paging :param limit: int - maximum number of results :return: sessions
- get_username_for_alias(application_id, alias)¶
Get the username for an alias in a specific application. :param application_id: str - application id :param alias: str - alias :return: username
- group(groupname)¶
Return a group by name.
- group_add_child_group(groupname, child_groupname)¶
Add a direct child group membership to a group. :param groupname: str - parent group name :param child_groupname: str - child group name to add :return:
- group_add_parent_group(groupname, parent_groupname)¶
Add a direct parent group membership to a group. :param groupname: str - child group name :param parent_groupname: str - parent group name to add :return:
- group_add_user(username, groupname)¶
Add user to group :param username: str - username :param groupname: str - group name :return:
- group_attributes(groupname)¶
Return all attributes for a group.
- group_child_groups(groupname, child_groupname=None, start_index=0, max_results=99999)¶
Get direct child groups of a group. :param groupname: str - parent group name :param child_groupname: str - optional single child group name to retrieve :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: list of group names
- group_create(groupname, description=None, active=True)¶
Create new group method :param groupname: string: The name of new group :param description: string: The description of new group, default is None :param active: bool: Weather the group is active, default is True :return: Create result
- group_delete(groupname)¶
Delete a group by name.
- group_members(group, kind='direct', max_results=99999)¶
Get group’s all direct members :param group: str - group name :param kind: str - group type :param max_results: int - maximum number of results :return: The specify group’s direct members info
- group_parent_groups(groupname, child_groupname=None, start_index=0, max_results=99999)¶
Get direct parent groups of a group. :param groupname: str - group name :param child_groupname: str - optional child group name :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: list of group names
- group_remove_attribute(groupname, attribute_name)¶
Delete one group attribute.
- group_remove_child_group(groupname, child_groupname)¶
Remove a direct child group membership from a group. :param groupname: str - parent group name :param child_groupname: str - child group name to remove :return:
- group_remove_user(username, groupname)¶
Remove a direct user-to-group membership.
- group_store_attributes(groupname, attributes)¶
Store group attributes using Crowd’s attribute request body.
- group_update(groupname, data)¶
Update a group with a Crowd group representation.
- health_check()¶
Get health status https://confluence.atlassian.com/jirakb/how-to-retrieve-health-check-results-using-rest-api-867195158.html :return:
- is_user_in_group(username, group, kind='direct')¶
Check if the user is a member of the group :param username: str - username :param group: str - group name :param kind: str - group type :return: bool - Return True or False
- property memberships¶
Retrieves full details of all group memberships, with users and nested groups. See: https://docs.atlassian.com/atlassian-crowd/5.3.1/REST/#usermanagement/1/group-getAllMemberships :return: All membership mapping dict
- move_directory_mapping(application_id, directory_id, data)¶
Reorder directory mappings for an application. :param application_id: str - application id :param directory_id: str - directory id :param data: dict - move request body :return:
- nested_group_child_groups(groupname, child_groupname=None, start_index=0, max_results=99999)¶
Get nested child groups of a group. :param groupname: str - parent group name :param child_groupname: str - optional single nested child group name to retrieve :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: list of group names
- nested_group_members(groupname, max_results=99999)¶
Return users who are direct or nested members of a group.
- nested_group_parent_groups(groupname, parent_groupname=None, start_index=0, max_results=99999)¶
Get nested parent groups of a group. :param groupname: str - group name :param parent_groupname: str - optional single parent group name to retrieve :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: list of group names
- nested_user_groups(username)¶
Return direct and nested groups for a user.
- parse_saml_metadata(data)¶
Parse SAML metadata. :param data: bytes or str - SAML metadata content :return: parsed metadata
- parse_saml_metadata_file(file_path)¶
Parse SAML metadata from a file. :param file_path: str - path to SAML metadata file :return: parsed metadata
- remove_group_admin_group(group_id, admin_group_id)¶
Revoke group administrator rights from a group. :param group_id: str - group id :param admin_group_id: str - admin group id :return:
- remove_group_admin_user(group_id, admin_user_id)¶
Revoke group administrator rights from a user. :param group_id: str - group id :param admin_user_id: str - admin user id :return:
- remove_remote_address(application_id, address)¶
Remove a remote address from an application. :param application_id: str - application id :param address: str - remote address to remove :return:
- remove_user_from_admin_group(user_id, data)¶
Remove a user from groups. :param user_id: str - user id :param data: dict - groups to remove :return:
- remove_users_from_admin_group(group_id, data)¶
Remove users from a group. :param group_id: str - group id :param data: dict - users to remove :return:
- reset_look_and_feel_config()¶
Reset look and feel configuration to default.
- reset_saml_certificates()¶
Reset SAML certificates.
- save_backup_configuration(data)¶
Save backup configuration. :param data: dict - backup configuration :return:
- save_mail_configuration(data)¶
Save mail server configuration. :param data: dict - mail configuration :return:
- search(entity_type, restriction=None, start_index=0, max_results=99999)¶
Search entities using a search restriction body (POST). :param entity_type: str - type of entity to search :param restriction: dict - search restriction request body :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: search results
- search_admin_group_user_suggestions(group_id, search=None, limit=99999)¶
Search users to add to a group. :param group_id: str - group id :param search: str - optional search string :param limit: int - maximum number of results :return: user suggestions
- search_admin_users(query=None, start=0, limit=99999)¶
Search users. :param query: dict - search request body :param start: int - start index for paging :param limit: int - maximum number of results :return: users
- search_administered_groups(query=None, start=0, limit=99999)¶
Search administered groups. :param query: dict - search request body :param start: int - start index for paging :param limit: int - maximum number of results :return: groups
- search_audit_log(query=None, start=0, limit=99999)¶
Search audit log. :param query: dict - search request body :param start: int - start index for paging :param limit: int - maximum number of results :return: audit log entries
- search_cql(entity_type, restriction=None, start_index=0, max_results=99999)¶
Search entities using Crowd Query Language (GET). :param entity_type: str - type of entity to search :param restriction: str - CQL restriction :param start_index: int - start index for paging :param max_results: int - maximum number of results :return: search results
- search_directory_groups(directory_id, term, active=None, start=0, limit=99999)¶
Search groups in a directory. :param directory_id: str - directory id :param term: str - search term :param active: bool - optional active status filter :param start: int - start index for paging :param limit: int - maximum number of results :return: groups
- search_licensed_users(application_id, query=None, start=0, limit=99999)¶
Search licensed users for an application. :param application_id: str - application id :param query: dict - search request body :param start: int - start index for paging :param limit: int - maximum number of results :return: users
- session_create(username, password, validate_password=True, duration=None)¶
Authenticate a user and create a Crowd SSO session. :param username: str - username :param password: str - password :param validate_password: bool - whether to validate the password :param duration: int - requested token duration in seconds :return: session info
- session_delete(token)¶
Invalidate a Crowd SSO session token. :param token: str - SSO token :return:
- session_delete_user_tokens(username, exclude=None)¶
Delete all tokens for a user, optionally excluding one token. :param username: str - username :param exclude: str - token to exclude from invalidation :return:
- session_get(token)¶
Get session information by token. :param token: str - SSO token :return: session info
- session_validate(token, validation_factors=None)¶
Validate a Crowd SSO session token. :param token: str - SSO token :param validation_factors: dict - validation factors request body :return: session info
- set_alias(application_id, username, alias)¶
Set a user’s alias in a specific application. :param application_id: str - application id :param username: str - username :param alias: str - alias value :return:
- set_audit_log_configuration(data)¶
Set audit log configuration. :param data: dict - audit log configuration :return:
- set_user_aliases(username, aliases)¶
Set aliases for a user across applications. :param username: str - username in Crowd :param aliases: dict - mapping of application id to alias :return:
- synchronize_directory(directory_id)¶
Schedule synchronisation for a directory. :param directory_id: str - directory id :return:
- test_mail_configuration(data)¶
Test mail server connection. :param data: dict - mail configuration :return:
- update_access_based_synchronization(application_id, data)¶
Update access-based synchronization settings for an application. :param application_id: str - application id :param data: dict - synchronization settings :return:
- update_admin_application(application_id, data)¶
Update an application. :param application_id: str - application id :param data: dict - application representation :return:
- update_application(application_id, data)¶
Update an application. :param application_id: str - application id :param data: dict - application representation :return:
- update_directory_mapping(application_id, directory_id, data)¶
Update a directory mapping for an application. :param application_id: str - application id :param directory_id: str - directory id :param data: dict - directory mapping representation :return:
- update_look_and_feel_config(data)¶
Update look and feel configuration. :param data: dict - look and feel configuration :return:
- update_plugin_license(plugin_key, raw_license)¶
Update license for plugin :param plugin_key: :param raw_license: :return:
- update_remember_me_config(data)¶
Update remember me configuration. :param data: dict - remember me configuration :return:
- update_saml_application_config(application_id, data)¶
Update SAML configuration for an application. :param application_id: str - application id :param data: dict - SAML configuration :return:
- upload_plugin(plugin_path)¶
Provide plugin path for upload into Jira e.g. useful for auto deploy :param plugin_path: :return:
- user(username)¶
Get user information :param username: :return:
- user_activate(username)¶
Activate user :param username: str - username
- user_aliases(username)¶
Get all aliases for a user across alias-enabled applications. :param username: str - username in Crowd :return: aliases
- user_attributes(username)¶
Return all attributes for a user.
- user_authenticate(username, password)¶
Authenticate a user and return user information. :param username: str - username :param password: str - password :return: user info
- user_authentication_notify(username)¶
Notify Crowd that a user has been authenticated by a trusted application. :param username: str - username :return:
- user_avatar(username, size=None)¶
Get a user’s avatar. :param username: str - username :param size: int - requested avatar size in pixels :return: avatar content
- user_create(username, active, first_name, last_name, display_name, email, password)¶
Create new user method :param active: bool: :param username: string: username :param active: bool: :param first_name: string: :param last_name: string: :param display_name: string: :param email: string: :param password: string: :return:
- user_deactivate(username)¶
Deactivate user
- Returns:
- user_delete(username)¶
Delete user :param username: str - username :return:
- user_delete_password(username)¶
Delete a user’s password. :param username: str - username :return:
- user_expire_all_passwords(confirm=True)¶
Expire all user passwords. :param confirm: bool - must be True to perform the action :return:
- user_groups(username, kind='direct')¶
Get user’s all group info :param username: str - username :param kind: str - group type :return: The specify user’s group info
- user_remove_attribute(username, attribute_name)¶
Delete one user attribute.
- user_rename(username, new_name)¶
Rename a user. :param username: str - current username :param new_name: str - new username :return:
- user_request_password_reset(username)¶
Request a password reset email for a user. :param username: str - username :return:
- user_request_usernames_reminder(email)¶
Request a username reminder email. :param email: str - email address :return:
- user_store_attributes(username, attributes)¶
Store user attributes using Crowd’s attribute request body.
- user_update(username, data)¶
Update a user with a Crowd user representation.
- user_update_password(username, password)¶
Update a user’s password.
- validate_mail_configuration(data)¶
Validate mail server configuration fields. :param data: dict - mail configuration :return:
Manage users¶
# Activate user
crowd.user_activate(username)
# Add user
crowd.user_create(username, active, first_name, last_name, display_name, email, password)
# Deactivate user
crowd.user_deactivate(username)
# Delete user
crowd.user_delete(username)
# Get user
crowd.user(username)
# Get user's all group info
crowd.user_groups(username, kind='direct')
# Check whether the user is a member of the group
crowd.is_user_in_group(username, group, kind='direct')
crowd.user_update(username, {"name": username, "email": "ada@example.com", "active": True})
crowd.user_update_password(username, "new-password")
crowd.user_delete_password(username)
crowd.user_store_attributes(username, {"attributes": []})
crowd.user_remove_attribute(username, "attribute-name")
crowd.nested_user_groups(username)
crowd.group_remove_user(username, groupname)
crowd.user_authenticate(username, "password")
crowd.user_authentication_notify(username)
crowd.user_request_password_reset(username)
crowd.user_request_usernames_reminder("ada@example.com")
crowd.user_rename(username, "new-username")
crowd.user_expire_all_passwords(confirm=True)
crowd.user_avatar(username, size=64)
Manage groups¶
# Add user to group
crowd.group_add_user(username, groupname)
# Get group's members
crowd.group_members(group, kind='direct', max_results=99999)
# Create new group method
crowd.group_create(groupname, description, active=True)
crowd.group(groupname)
crowd.group_update(groupname, {"name": groupname, "active": True})
crowd.group_store_attributes(groupname, {"attributes": []})
crowd.group_remove_attribute(groupname, "attribute-name")
crowd.nested_group_members(groupname)
crowd.group_delete(groupname)
crowd.group_child_groups(groupname)
crowd.nested_group_child_groups(groupname)
crowd.group_add_child_group(groupname, "child-group")
crowd.group_remove_child_group(groupname, "child-group")
crowd.group_parent_groups(groupname)
crowd.nested_group_parent_groups(groupname)
crowd.group_add_parent_group(groupname, "parent-group")
Get memberships¶
# Retrieves full details of all group memberships.
# Return data structure:
# {
# GroupName1<str>: [ Member1<str>, Member2<str>, ... ],
# GroupName2<str>: [ MemberA<str>, MemberB<str>, ... ],
# ...
# }
crowd.memberships
Manage sessions¶
# Create/authenticate a session
crowd.session_create(username, password, validate_password=True, duration=None)
# Validate a session token
crowd.session_validate(token, validation_factors=None)
# Get session info
crowd.session_get(token)
# Invalidate a session token
crowd.session_delete(token)
# Delete all tokens for a user
crowd.session_delete_user_tokens(username, exclude=None)
Search¶
# Search by CQL (GET)
crowd.search_cql("user", "email == 'ada@example.com'")
# Search with a restriction body (POST)
crowd.search("user", {"restriction-type": "property-search-restriction", "property": {"name": "email", "type": "STRING", "value": "ada@example.com"}})
Configuration¶
# Get cookie configuration
crowd.get_cookie_config()
Account¶
crowd.account_change_password(username, "old-password", "new-password")
crowd.account_forgotten_password(username)
crowd.account_forgotten_username("ada@example.com")
crowd.account_reset_password(username, "reset-token", "new-password")
crowd.account_validate_token(username, "reset-token")
Directory management¶
crowd.directory_test_azure_ad({"tenantId": "..."})
crowd.directory_test_crowd({"url": "https://crowd.example.test"})
crowd.directory_test_ldap({"url": "ldaps://ldap.example.test"})
crowd.directory_test_ldap_search({"baseDN": "dc=example,dc=com"})
Application management¶
crowd.get_applications(name="confluence")
crowd.create_application({"name": "confluence"})
crowd.get_application("application-id")
crowd.update_application("application-id", {"name": "confluence"})
crowd.delete_application("application-id")
crowd.get_remote_addresses("application-id")
crowd.add_remote_address("application-id", "192.168.1.1")
crowd.remove_remote_address("application-id", "192.168.1.1")
# Aliases
crowd.user_aliases(username)
crowd.set_user_aliases(username, {"app1": "alias1"})
crowd.delete_user_aliases(username)
crowd.get_alias("application-id", username)
crowd.set_alias("application-id", username, "alias1")
crowd.delete_alias("application-id", username)
crowd.get_username_for_alias("application-id", "alias1")
Administration¶
# Applications and directories
crowd.get_admin_applications(name="confluence")
crowd.get_admin_application("application-id")
crowd.update_admin_application("application-id", {"name": "confluence"})
crowd.get_directory_mappings("application-id")
crowd.add_directory_mapping("application-id", {"directoryId": "dir1"})
crowd.get_directory_mapping("application-id", "directory-id")
crowd.update_directory_mapping("application-id", "directory-id", {"directoryId": "dir1"})
crowd.delete_directory_mapping("application-id", "directory-id")
crowd.move_directory_mapping("application-id", "directory-id", {"position": 1})
# Directories
crowd.get_detailed_directories(active=True)
crowd.get_detailed_directory("directory-id")
crowd.synchronize_directory("directory-id")
crowd.get_managed_directories()
# Groups and users
crowd.search_directory_groups("directory-id", "engineer")
crowd.get_admin_group_nested_groups("group-id")
crowd.add_admin_group_nested_groups("group-id", {"groups": ["nested-group"]})
crowd.get_admin_group_details("group-id")
crowd.get_admin_group_members("group-id")
crowd.add_users_to_admin_group("group-id", {"users": ["ada"]})
crowd.remove_users_from_admin_group("group-id", {"users": ["ada"]})
crowd.search_admin_group_user_suggestions("group-id", "ada")
crowd.search_administered_groups({"name": "engineer"})
crowd.search_admin_users({"name": "ada"})
crowd.add_user_to_admin_group("user-id", {"groups": ["group-id"]})
crowd.remove_user_from_admin_group("user-id", {"groups": ["group-id"]})
# Group-level administrators
crowd.get_group_administrators("group-id")
crowd.add_group_administrators("group-id", {"users": ["ada"]})
crowd.get_group_admin_candidates("group-id", "ada")
crowd.remove_group_admin_user("group-id", "user-id")
crowd.remove_group_admin_group("group-id", "admin-group-id")
# Server and sessions
crowd.get_server_info()
crowd.get_application_sessions(search="confluence")
crowd.get_user_sessions(directory_id="directory-id")
crowd.expire_session("session-hash")
# Licensing
crowd.get_licensing_summary("application-id")
crowd.get_licensed_directories("application-id")
crowd.get_licensed_jira_types("application-id")
crowd.search_licensed_users("application-id", {"name": "ada"})
crowd.export_licensed_users("application-id", search="ada")
# Backup
crowd.get_backup_summary()
crowd.get_backup_configuration()
crowd.save_backup_configuration({"schedule": "daily"})
crowd.create_backup()
# Audit log
crowd.get_audit_log_configuration()
crowd.set_audit_log_configuration({"enabled": True})
crowd.add_audit_log_changeset({"author": "ada", "events": []})
crowd.search_audit_log({"dateRange": {}})
crowd.get_audit_log_filter_values(projection="EVENT_TYPE")
# Look and feel
crowd.get_look_and_feel_config()
crowd.update_look_and_feel_config({"color": "#0052CC"})
crowd.reset_look_and_feel_config()
# Remember me
crowd.get_remember_me_config()
crowd.update_remember_me_config({"tokenValidityDays": 14})
crowd.expire_all_remember_me_tokens()
# SAML
crowd.get_saml_config()
crowd.get_saml_application_config("application-id")
crowd.update_saml_application_config("application-id", {"enabled": True})
crowd.parse_saml_metadata("<xml>...</xml>")
crowd.reset_saml_certificates()
crowd.get_saml_idp_metadata()
crowd.find_saml_directory_mapping_mismatch("application-id")
# Mail and LDAP
crowd.save_mail_configuration({"host": "smtp.example.com"})
crowd.test_mail_configuration({"host": "smtp.example.com"})
crowd.validate_mail_configuration({"host": "smtp.example.com"})
crowd.get_dynamic_ldap_pool_statistics()
Healthcheck¶
# Check if the Crowd server is reachable
crowd.health_check()
# Provide plugins info
crowd.get_plugins_info()
# Provide plugin info
crowd.get_plugin_info(plugin_key)
# Provide plugin license info
crowd.get_plugin_license_info(plugin_key)
# Provide plugin path for upload into Jira e.g. useful for auto deploy
crowd.upload_plugin(plugin_path)
# Delete plugin
crowd.delete_plugin(plugin_key)
# Check plugin manager status
crowd.check_plugin_manager_status()
# Update plugin license
crowd.update_plugin_license(plugin_key, license_key)