Interface VcsIntegration

Applies to ReadyAPI 3.10, last modified on October 27, 2021

Important notes:

  • This interface is not available in ReadyAPI 2.6 or later.

  • This interface is not available in SoapUI Open Source.

Note:

ActivationStatus

A callback that activates this integration component for the specified project. Called when a project associated with this particular VCS is opened.

  • @param project - the project that has been opened.

  • @return an object representing the status.

ActivationStatus activateFor(WsdlProject project);

BuildRepositorySelectionGui

Return a GUI component for selecting the repository to be associated with a project.

  • @param project - the project with which the repository is to be associated.

  • @return a component that can be added to a dialog and initializes everything needed to work with a remote repository.

RepositorySelectionGui buildRepositorySelectionGui(WsdlProject project);

BuildRepositoryDownloadGui

Return a GUI component for selecting a repository containing a composite project. The GUI is responsible for processing user input and handling the download (which can be canceled while in progress).

  • @param workspace - the workspace that the project will be added to after the download.

  • @return a component that can be added to a dialog and that handles all the aspects of the repository download.

ImportProjectFromVcsGui buildRepositoryDownloadGui(Workspace workspace);

GetRemoteRepositoryUpdates

Get a list of all the updates in the remote repository along with the info about whether there is a conflict with local changes.

  • @param projectFile - a remote project file to be compared with the local version.
  • @return a collection of objects encapsulating remote VCS changes (added, updated, deleted files, etc.).
Collection<VcsUpdate> getRemoteRepositoryUpdates(File projectFile);

GetLocalRepository

Get a list of all the local uncommitted updates.

  • @param project - a local file to be compared with the repository.

  • @return a collection of objects encapsulating local VCS changes (added, updated, deleted files, etc.)

  • @throws IllegalStateException if the local repo is in the invalid state or local updates exist.

Collection<VcsUpdate> getLocalRepositoryUpdates(WsdlProject project);

GetLockHandler

Gets an object responsible for all operations related to locking.

  • @return an instance of LockHandler, or null if locking is not supported in this VCS.

LockHandler getLockHandler();

UpdateFromRemoteReposistory

Apply all the changes from the remote repository.

  • @param projectFile - the file where the project is saved.

  • @param overwriteLocalChanges - specifies whether the update should overwrite all conflicting local changes.

void updateFromRemoteRepository(File projectFile, boolean overwriteLocalChanges);

DeleteFile

Deletes a local file and marks it for deletion in the remote repository.

  • @param project - a local file to be compared with the repository.

  • @param fileToDelete - an existing file that should be deleted.

  • @throws FileNotFoundException if the file does not exist.

  • @throws IllegalStateException if a local repo is in the invalid state or local updates exist.

  • @throws IOException if a general IO error occurs.

void deleteFile(WsdlProject project, File fileToDelete) throws IOException;

Commit

Sends any number of local updates to the remote repository.

  • @param updates - a collection of objects representing the local updates.

  • @param commitMessage - the user's commit message explaining the changes.

  • @return an object encapsulating the status of the operation.

  • @throws IllegalStateException if a local repo is in the invalid state, or local updates exist.

CommitResult commit(Collection<VcsUpdate> updates, String commitMessage);

Revert

Reverts a local update.

  • @param updates - a collection of objects representing the updates to revert.

  • @throws IllegalStateException if a local repo is in the invalid state or local updates exist.

  • @throws VcsIntegrationException if the operation cannot be performed.

void revert(Collection<VcsUpdate> updates) throws VcsIntegrationException;

GetAvailableTags

Gets the names of all existing tags. If it is possible to have them sorted by creation date, the set shall be a SortedSet with the oldest tag being the first.

  • @param project - a local file to be compared with the repository.

  • @return a set with the names of all existing tags, which may or may not be sorted.

  • @throws IllegalStateException if a local repo is in the invalid state or local updates exist.

  • @throws VcsIntegrationException if the underlying operation fails.

Set<String> getAvailableTags(WsdlProject project) throws VcsIntegrationException;

GetFileHistory

Create a tag (label) for the current state and commit the tag to the remote repository. There must be no local updates when this operation is performed, and the tag name must be unique.

  • @param project - a local file to be compared with the repository.

  • @param tagName - the name of the tag.

  • @throws IllegalStateException if a local repo is in the invalid state or local updates exist.

  • @throws IllegalArgumentException if the tag name is not unique.

  • @throws VcsIntegrationException if the underlying operation fails.

void createTag(WsdlProject project, String tagName);

Gets the complete commit history of the specified file.

  • @param project - a local file to be compared with the repository.

  • @param file - the file to get the history for.

  • @return an ordered list of changes (newest first) associated with the file in the remote repository.

  • @throws IllegalStateException if a local repo is in the invalid state or local updates exist.

List<HistoryEntry> getFileHistory(WsdlProject project, File file);

GetProjectHistory

Gets the complete commit history of the specified project.

  • @param project - a local file to be compared with the repository.

  • @return an ordered list (newest first) of changes associated with the file in the remote repository.

  • @throws IllegalStateException if a local repo is in the invalid state.

List<HistoryEntry> getProjectHistory(WsdlProject project);

Highlight search results