Files
team/server/cmd/mmctl/docs/mmctl_channel_move.rst
d908576206 mmctl: list and optionally auto-add missing team members on channel move (#37199)
* mmctl: list and optionally auto-add channel members missing from target team on channel move

When moving a channel via 'mmctl channel move', the server rejects the move
if any channel member is not part of the destination team, returning only a
generic error. This adds client-side detection that lists the specific users
that need to be added, and a new --auto-add-users flag that adds those users
to the destination team before moving the channel.

Co-authored-by: mattermost-code <[email protected]>

* mmctl: add unit coverage for --force bypass and member-fetch error paths on channel move

Co-authored-by: mattermost-code <[email protected]>

* mmctl: use membership APIs for channel move preflight

Replace GetUsersInChannel/GetUsersInTeam with GetChannelMembers and
GetTeamMembersByIds so the move preflight matches server MoveChannel
membership checks, including deactivated channel members.

Co-authored-by: mattermost-code <[email protected]>

* mmctl: fix min() lint and expose GetTeamMembersByIds in local API

- Use built-in min() for team member ID batching in channel move preflight
- Register getTeamMembersByIds on local API so mmctl local-mode E2E tests pass

Co-authored-by: mattermost-code <[email protected]>

* mmctl: fix unusedwrite lint in channel move unit tests

Co-authored-by: mattermost-code <[email protected]>

---------

Co-authored-by: mattermost-code <[email protected]>

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-07 23:17:29 +02:00

56 lines
1.9 KiB
ReStructuredText

.. _mmctl_channel_move:
mmctl channel move
------------------
Moves channels to the specified team
Synopsis
~~~~~~~~
Moves the provided channels to the specified team.
Validates that all users in the channel belong to the target team. If some users are not members of the target team, the move fails and the missing users are listed; use --auto-add-users to add them to the target team automatically, or --force to remove them from the channel. Incoming/Outgoing webhooks are moved along with the channel.
Channels can be specified by [team]:[channel]. ie. myteam:mychannel or by channel ID.
::
mmctl channel move [team] [channels] [flags]
Examples
~~~~~~~~
::
channel move newteam oldteam:mychannel
Options
~~~~~~~
::
--auto-add-users Add users that are not members of the target team to it before moving the channel.
--force Remove users that are not members of target team before moving the channel.
-h, --help help for move
Options inherited from parent commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
--config string path to the configuration file (default "$XDG_CONFIG_HOME/mmctl/config")
--disable-pager disables paged output
--insecure-sha1-intermediate allows to use insecure TLS protocols, such as SHA-1
--insecure-tls-version allows to use TLS versions 1.0 and 1.1
--json the output format will be in json format
--local allows communicating with the server through a unix socket
--quiet prevent mmctl to generate output for the commands
--strict will only run commands if the mmctl version matches the server one
--suppress-warnings disables printing warning messages
SEE ALSO
~~~~~~~~
* `mmctl channel <mmctl_channel.rst>`_ - Management of channels