Adding members to a group uses the createGroupMembership method of the GroupsApi.
For more information about this ReST API endpoint, see Add People and Groups to a Group.
For a description of the common parameters, such as fields, see Common Parameters.
import org.alfresco.core.handler.GroupsApi;
import org.alfresco.core.model.GroupMemberEntry;
import org.alfresco.core.model.GroupMembershipBodyCreate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.List;
@Component
public class CreateGroupMembershipCmd {
static final Logger LOGGER = LoggerFactory.getLogger(CreateGroupMembershipCmd.class);
@Autowired
GroupsApi groupsApi;
public void execute(String groupId, String memberId, String type) throws IOException {
List<String> fields = null;
GroupMembershipBodyCreate groupMembershipBodyCreate = new GroupMembershipBodyCreate();
groupMembershipBodyCreate.setId(memberId);
groupMembershipBodyCreate.setMemberType(GroupMembershipBodyCreate.MemberTypeEnum.fromValue(type));
GroupMemberEntry groupMember = groupsApi.createGroupMembership(groupId, groupMembershipBodyCreate, fields).getBody();
LOGGER.info("Added member to group {} {}", groupId, groupMember.getEntry());
}
}
Executing this code will add a person, or a group, to passed in group id, note that you have to prefix group ids with GROUP_:
% java -jar target/rest-api-0.0.1-SNAPSHOT.jar create-group-membership GROUP_hr martin PERSON
2021-05-06 13:54:39.062 INFO 27295 --- [ main] o.a.tutorial.restapi.RestApiApplication : Started RestApiApplication in 3.83 seconds (JVM running for 4.364)
2021-05-06 13:54:39.064 INFO 27295 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[0]: create-group-membership
2021-05-06 13:54:39.066 INFO 27295 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[1]: GROUP_hr
2021-05-06 13:54:39.066 INFO 27295 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[2]: martin
2021-05-06 13:54:39.066 INFO 27295 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[3]: PERSON
2021-05-06 13:54:39.311 INFO 27295 --- [ main] o.a.t.restapi.CreateGroupMembershipCmd : Added member to group GROUP_hr class GroupMember {
id: martin
displayName: martin
memberType: PERSON
}
% java -jar target/rest-api-0.0.1-SNAPSHOT.jar create-group-membership GROUP_hr GROUP_engineering GROUP
2021-05-06 13:55:23.094 INFO 27297 --- [ main] o.a.tutorial.restapi.RestApiApplication : Started RestApiApplication in 3.855 seconds (JVM running for 4.351)
2021-05-06 13:55:23.096 INFO 27297 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[0]: create-group-membership
2021-05-06 13:55:23.097 INFO 27297 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[1]: GROUP_hr
2021-05-06 13:55:23.097 INFO 27297 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[2]: GROUP_engineering
2021-05-06 13:55:23.097 INFO 27297 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[3]: GROUP
2021-05-06 13:55:23.327 INFO 27297 --- [ main] o.a.t.restapi.CreateGroupMembershipCmd : Added member to group GROUP_hr class GroupMember {
id: GROUP_engineering
displayName: Engineering
memberType: GROUP
}