Beispiel #1
0
        /// <summary>
        /// Gets the TSWA build details uri
        /// </summary>
        /// <param name="projectCollection">Team Project collection</param>
        /// <param name="buildUri">Build Uri</param>
        /// <returns>Url to view build details in TSWA</returns>
        public static Uri GetBuildDetailsUri(TfsTeamProjectCollection projectCollection, Uri buildUri)
        {
            ArgumentValidation.ValidateObjectIsNotNull(projectCollection, "projectCollection");
            ArgumentValidation.ValidateTfsUri(buildUri, "buildUri", TfsUriType.Build);

            var linkingService = GetHyperlinkService(projectCollection);

            return(linkingService.GetViewBuildDetailsUrl(buildUri));
        }
Beispiel #2
0
        /// <summary>
        /// Clears all workspace mappings from a build definition
        /// </summary>
        /// <param name="buildDefinition">Build definition to clear.</param>
        /// <remarks>The build definition is not saved after the mappings are cleared.</remarks>
        public static void ClearWorkspaceMappings(IBuildDefinition buildDefinition)
        {
            // Validation
            ArgumentValidation.ValidateObjectIsNotNull(buildDefinition, "buildDefinition");
            var buildWorkspaceMappings = buildDefinition.Workspace.Mappings;

            while (buildWorkspaceMappings.Count > 0)
            {
                buildWorkspaceMappings.Remove(buildWorkspaceMappings[0]);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Adds a new workspace mapping to an existing build definition
        /// </summary>
        /// <param name="buildDefinition">Build definition for the new mapping</param>
        /// <param name="localItem">Local path for the mapping</param>
        /// <param name="serverItem">Server path for the mapping</param>
        /// <param name="mappingType">Type of mapping (map or cloak)</param>
        /// <param name="depth">The Mapping Depth</param>
        /// <returns>The created workspace mapping</returns>
        /// <remarks>The build definition is not saved after the mapping is added.</remarks>
        public static IWorkspaceMapping AddWorkspaceMapping(IBuildDefinition buildDefinition, string localItem, string serverItem, WorkspaceMappingType mappingType, WorkspaceMappingDepth depth)
        {
            // Validation
            ArgumentValidation.ValidateObjectIsNotNull(buildDefinition, "buildDefinition");
            ArgumentValidation.ValidateStringIsNotEmpty(localItem, "localPath");
            ArgumentValidation.ValidateStringIsNotEmpty(serverItem, "serverPath");

            var mapping = buildDefinition.Workspace.AddMapping(serverItem, localItem, mappingType, depth);

            return(mapping);
        }
        /// <summary>
        /// Returns a work item by ID
        /// </summary>
        /// <param name="projectCollection">Tfs Project Collection that contains the work item.</param>
        /// <param name="workItemId">Id for the work item</param>
        /// <returns>The found work item.</returns>
        /// <exception cref="ArgumentException">Occurs when the work item id is not valid.</exception>
        public static WorkItem GetWorkItemById(TfsTeamProjectCollection projectCollection, int workItemId)
        {
            ArgumentValidation.ValidateObjectIsNotNull(projectCollection, "projectCollection");
            if (workItemId <= 0)
            {
                // This is not a valid work item.
                throw new ArgumentException("Work Item Id is not valid", "workItemId");
            }

            WorkItemStore store    = projectCollection.GetService <WorkItemStore>();
            var           workItem = store.GetWorkItem(workItemId);

            return(workItem);
        }
Beispiel #5
0
        /// <summary>
        /// Removes a specified local mapping from a build definition
        /// </summary>
        /// <param name="buildDefinition">Build definition to remove the mapping from.</param>
        /// <param name="localItem">Local mapping to remove.</param>
        /// <remarks>The build definition is not saved after the mappings are cleared.</remarks>
        public static void RemoveLocalMapping(IBuildDefinition buildDefinition, string localItem)
        {
            // Validation
            ArgumentValidation.ValidateObjectIsNotNull(buildDefinition, "buildDefinition");
            ArgumentValidation.ValidateStringIsNotEmpty(localItem, "localItem");

            var buildWorkspaceMappings = buildDefinition.Workspace.Mappings;

            foreach (var mapping in buildWorkspaceMappings)
            {
                if (mapping.LocalItem.Equals(localItem, StringComparison.OrdinalIgnoreCase))
                {
                    buildWorkspaceMappings.Remove(mapping);
                    break;
                }
            }
        }
Beispiel #6
0
 /// <summary>
 /// Gets the TSWA Linking Service for a project collection
 /// </summary>
 /// <param name="projectCollection">TFS Project Collection</param>
 /// <returns>TswaClientHyperlinkService</returns>
 public static TswaClientHyperlinkService GetHyperlinkService(TfsTeamProjectCollection projectCollection)
 {
     ArgumentValidation.ValidateObjectIsNotNull(projectCollection, "projectCollection");
     return(projectCollection.GetService <TswaClientHyperlinkService>());
 }