2
1
0

Confluence ではスペースをお気に入りとすることで
画面左側にマイスペースが表示されるかと思いますが、
特定のスペースをすべてのユーザのマイスペースに追加したいです。

一括で登録する方法はあるでしょうか。

    Commentコメントを追加...

    1 回答

    1.  
      2
      1
      0

      user favourite space in confluence の記事の通り
      データベースに格納されているので
      値を追加することで変更はできるかもしれません。

      あとは以下の内容でユーザーマクロを作成すると
      全てのユーザに対して指定したスペースをマイスペース登録できたように思えます。

      ## @param TargetSpaceKey:title=Target space key|type=string|required=true
      
      #set($containerManagerClass = $content.class.forName('com.atlassian.spring.container.ContainerManager'))
      #set($getInstanceMethod = $containerManagerClass.getDeclaredMethod('getInstance',null))
      #set($containerManager = $getInstanceMethod.invoke(null,null))
      #set($containerContext = $containerManager.containerContext)
      
      ## favouriteManager を取得
      #set($favouriteManager = $containerContext.getComponent('favouriteManager'))
      ## 全てのユーザを取得
      #set($users = $containerContext.getComponent('userManager').users)
      ## マイスペースに追加したいスペースを取得
      #set($targetSpace = $spaceManager.getSpace($paramTargetSpaceKey))
      
      #if (!$!{targetSpace})
        <ac:structured-macro ac:name="warning" ac:schema-version="1">
          <ac:rich-text-body>
            <p>スペースを取得できませんでした。</p>
          </ac:rich-text-body>
        </ac:structured-macro>
      #else
        #foreach($user in $users)
          $favouriteManager.addSpaceToFavourites($user, $targetSpace)
        #end
        <ac:structured-macro ac:name="info" ac:schema-version="1">
          <ac:rich-text-body>
            <p>スペース '${targetSpace.getName()}' を追加しました。</p>
          </ac:rich-text-body>
        </ac:structured-macro>
      #end


      全てのユーザを対象としているため負荷がかかることが予想されますのでご注意ください。

        Commentコメントを追加...