code: func (obj *Global) CopyApp(ctx context.Context, targetAppId string, srcAppId string, ids []string) (bool, error) {
  	result := &struct {
  		Success bool	`json:"qSuccess"`
  	} {}
  	err := obj.rpc(ctx, "CopyApp", result, targetAppId, srcAppId, ids)
  	return result.Success, err 
  }
docs: // Copies an app that is in the Qlik Sense repository.
  // The engine copies the app into an app entity that was previously created by the repository. See the [Qlik Sense Repository Service API](
  // 
  // csh-RepositoryServiceAPI-Introduction) for more information.:
  // 
  // This operation is possible only in Qlik Sense Enterprise.
  //
  // Parameters:
  //
  // ◾ targetAppId   -   Identifier (GUID) of the app entity in the Qlik Sense repository.
  // The app entity must have been previously created by the Qlik Sense Repository Service (QRS) API.
  //
  // ◾ srcAppId      -   Identifier (GUID) of the source app in the Qlik Sense repository.
  //
  // ◾ ids           -   Array of QRS identifiers.
  // The list of all objects in the app to be copied must be given. This list must contain the GUIDs of all these objects.
  // If the list of the QRS identifiers is empty, the CopyApp method copies all objects to the target app.
  // Script-defined variables are automatically copied when copying an app. To be able to copy variables not created via script, the GUID of each variable must be provided in the list of QRS identifiers.
  // To get the QRS identifiers of the objects in an app, you can use the QRS API. The GET method (from the QRS API) returns the identifiers of the objects in the app.
  // The following example returns the QRS identifiers of all the objects in a specified app:
  // GET /qrs/app/9c3f8634-6191-4a34-a114-a39102058d13
  // Where
  // _9c3f8634-6191-4a34-a114-a39102058d13_ is the identifier of the app.
  //