diff --git a/GitVersion.yml b/GitVersion.yml index b7ab37d..f61d7fa 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1 +1,4 @@ mode: mainline +major-version-bump-message: "(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\\([\\w\\s]*\\))?(!:|:.*\\n\\n.*\\n\\n.*BREAKING.*).*" +minor-version-bump-message: "(feat)(\\([\\w\\s]*\\))?:" +patch-version-bump-message: "(build|chore|ci|docs|fix|perf|refactor|revert|style|test)(\\([\\w\\s]*\\))?:(.*\\n\\n.*\\n\\n.*BREAKING.*){0}" \ No newline at end of file diff --git a/deploy/DevelopmentHub.Deployment.csproj b/deploy/DevelopmentHub.Deployment.csproj index 62ddc9b..9dd6a49 100644 --- a/deploy/DevelopmentHub.Deployment.csproj +++ b/deploy/DevelopmentHub.Deployment.csproj @@ -27,47 +27,30 @@ - + all - + all - + all - + + + + + + all - - all - - - all - - - all - - - all - - - all - - - all - - - all - - - + all all - + diff --git a/deploy/PackageTemplate.cs b/deploy/PackageTemplate.cs index e08751b..292350b 100644 --- a/deploy/PackageTemplate.cs +++ b/deploy/PackageTemplate.cs @@ -2,7 +2,11 @@ namespace DevelopmentHub.Deployment { using System; using System.ComponentModel.Composition; + using System.Diagnostics; + using System.ServiceModel; using Capgemini.PowerApps.PackageDeployerTemplate; + using Microsoft.Xrm.Sdk; + using Microsoft.Xrm.Sdk.Query; using Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtentionBase; /// @@ -15,7 +19,6 @@ public class PackageTemplate : PackageTemplateBase private string azureDevOpsOrganisation; private string solutionPublisherPrefix; private string azureDevOpsConnectionName; - private string approvalsConnectionName; private EnvironmentVariableDeploymentService environmentVariableDeploymentSvc; /// @@ -91,22 +94,6 @@ protected string AzureDevOpsConnectionName } } - /// - /// Gets a value for the approvals connection name used for the Development Hub (if found). - /// - protected string ApprovalsConnectionName - { - get - { - if (string.IsNullOrEmpty(this.approvalsConnectionName)) - { - this.approvalsConnectionName = this.GetSetting(nameof(this.ApprovalsConnectionName)); - } - - return this.approvalsConnectionName; - } - } - /// /// Gets an . /// @@ -131,6 +118,33 @@ public override bool AfterPrimaryImport() return base.AfterPrimaryImport(); } + /// + public override void RunSolutionUpgradeMigrationStep(string solutionName, string oldVersion, string newVersion, Guid oldSolutionId, Guid newSolutionId) + { + if (string.IsNullOrEmpty(solutionName)) + { + throw new ArgumentException($"'{nameof(solutionName)}' cannot be null or empty", nameof(solutionName)); + } + + if (string.IsNullOrEmpty(oldVersion)) + { + throw new ArgumentException($"'{nameof(oldVersion)}' cannot be null or empty", nameof(oldVersion)); + } + + if (string.IsNullOrEmpty(newVersion)) + { + throw new ArgumentException($"'{nameof(newVersion)}' cannot be null or empty", nameof(newVersion)); + } + + base.RunSolutionUpgradeMigrationStep(solutionName, oldVersion, newVersion, oldSolutionId, newSolutionId); + + if (solutionName == "devhub_DevelopmentHub_Develop" && oldVersion.StartsWith("0.2", StringComparison.OrdinalIgnoreCase)) + { + this.DefaultEnvironmentLifetimes(); + this.DefaultMergeStrategies(); + } + } + /// public override string GetNameOfImport(bool plural) => "Development Hub"; @@ -145,6 +159,80 @@ public override UserRequestedImportAction OverrideSolutionImportDecision(string return base.OverrideSolutionImportDecision(solutionUniqueName, organizationVersion, packageSolutionVersion, inboundSolutionVersion, deployedSolutionVersion, systemSelectedImportAction); } + private void DefaultEnvironmentLifetimes() + { + this.PackageLog.Log("Default existing environment lifetimes to 'Static'."); + + var environmentQuery = new QueryByAttribute("devhub_environment"); + environmentQuery.AddAttributeValue("devhub_lifetime", null); + + var environments = this.CrmServiceAdapter.RetrieveMultiple(environmentQuery); + this.PackageLog.Log($"Found {environments.Entities.Count} environments to update."); + + foreach (var environment in environments.Entities) + { + this.PackageLog.Log($"Updating environment {environment.Id}."); + + environment.Attributes.Add("devhub_lifetime", new OptionSetValue(353400000) /*Static*/); + try + { + this.CrmSvc.Update(environment); + } + catch (FaultException ex) + { + this.PackageLog.Log($"Failed to update environment {environment.Id}.", TraceEventType.Error, ex); + } + } + } + + private void DefaultMergeStrategies() + { + this.PackageLog.Log("Default existing solutions to a merge strategy of 'Sequential'."); + + var solutionQuery = new QueryByAttribute("devhub_solution"); + solutionQuery.AddAttributeValue("devhub_mergestrategy", null); + solutionQuery.ColumnSet = new ColumnSet("devhub_stagingenvironment"); + + var solutions = this.CrmServiceAdapter.RetrieveMultiple(solutionQuery); + this.PackageLog.Log($"Found {solutions.Entities.Count} solutions to update."); + + foreach (var solution in solutions.Entities) + { + this.PackageLog.Log($"Updating solution {solution.Id}."); + solution.Attributes.Add("devhub_mergestrategy", new OptionSetValue(353400000) /*Sequential*/); + + try + { + this.CrmSvc.Update(solution); + } + catch (FaultException ex) + { + this.PackageLog.Log($"Failed to update solution {solution.Id}.", TraceEventType.Error, ex); + } + + this.PackageLog.Log("Getting solution merges for solution."); + + var solutionMergeQuery = new QueryByAttribute("devhub_solutionmerge"); + solutionMergeQuery.AddAttributeValue("devhub_targetsolution", solution.Id); + var solutionMerges = this.CrmServiceAdapter.RetrieveMultiple(solutionMergeQuery); + + foreach (var solutionMerge in solutionMerges.Entities) + { + solutionMerge.Attributes.Add("devhub_environment", solution["devhub_stagingenvironment"]); + solutionMerge.Attributes.Add("devhub_mergestrategy", new OptionSetValue(353400000) /*Sequential*/); + + try + { + this.CrmSvc.Update(solutionMerge); + } + catch (FaultException ex) + { + this.PackageLog.Log($"Failed to update solution merge {solutionMerge.Id}.", TraceEventType.Error, ex); + } + } + } + } + private void SetDevelopmentHubEnvironmentVariables() { this.EnvironmentVariableDeploymentSvc.SetEnvironmentVariable("devhub_AzureDevOpsOrganization", this.AzureDevOpsOrganisation); diff --git a/install.ps1 b/install.ps1 new file mode 100644 index 0000000..de84366 --- /dev/null +++ b/install.ps1 @@ -0,0 +1,545 @@ +$ErrorActionPreference = 'Stop' + +Write-Host "Checking for missing dependencies." -ForegroundColor Blue + +if (!(Get-Module -ListAvailable -Name Microsoft.PowerApps.Administration.PowerShell)) { + Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser -Force -AllowClobber +} +if (!(Get-Module -ListAvailable -Name Microsoft.Xrm.Data.Powershell)) { + Install-Module -Name Microsoft.Xrm.Data.Powershell -Scope CurrentUser -Force -AllowClobber +} +if (!(Get-Module -ListAvailable -Name Microsoft.Graph)) { + Install-Module -Name Microsoft.Graph -Scope CurrentUser -Force -AllowClobber +} + +while ($true) { + $url = Read-Host -Prompt "What is the URL of your developent environment? e.g. https://..dynamics.com" + if ([uri]::IsWellFormedUriString($url, 'Absolute') -and ([uri] $url).Scheme -eq 'https') { break } + + Write-Host "Invalid environment URL." -ForegroundColor Red +} + +Write-Host "`nPlease sign-in to the account you use to access this environment." -ForegroundColor Blue +Add-PowerAppsAccount + +Write-Host "`nGetting environment details for $url." +$environment = Get-AdminPowerAppEnvironment | Where-Object { + $_.Internal.properties.linkedEnvironmentMetadata.instanceUrl -like "$url*" +} + +if (!$environment) { + throw "Unable to find environment." +} + +Write-Host "`nChecking $url for existing cloud flow connections." + +$connections = $environment | Get-AdminPowerAppConnection + +$approvalsConnections = $connections | Where-Object { $_.ConnectorName -eq "shared_approvals" } +$approvalsConnection = $null +foreach ($connection in $approvalsConnections) { + $response = $Host.UI.PromptForChoice( + "Existing connection found", + "Do you want to use existing Approvals connection?`nhttps://make.powerapps.com/environments/$($environment.EnvironmentName)/connections/shared_approvals/$($connection.ConnectionName)/details", + @("&Yes", "&No"), + 0) + + + if ($response -eq 0) { + $approvalsConnection = $connection.ConnectionName + break + } +} + +if (!$approvalsConnection) { + Write-Host "`nPlease create an Approvals connection at https://make.powerapps.com/environments/$($Environment.EnvironmentName)/connections." -ForegroundColor Blue + + while ($true) { + $approvalsUrl = Read-Host -Prompt "What is the URL for your approvals connection? e.g. https://make.powerapps.com/environments//connections/shared_approvals//details.`nFind this by clicking on the details button for the connection." + if ($approvalsUrl -match "connections\/shared_approvals\/(?.+)\/details") { + $approvalsConnection = $Matches.Connection + break + } + + Write-Host "Invalid Approvals connection URL." -ForegroundColor Red + } +} + +$azureDevOpsConnections = $connections | Where-Object { $_.ConnectorName -eq "shared_visualstudioteamservices" } +$azureDevOpsConnection = $null +foreach ($connection in $azureDevOpsConnections) { + $response = $Host.UI.PromptForChoice( + "Existing connection found", + "Do you want to use existing Azure DevOps connection?`nhttps://make.powerapps.com/environments/$($environment.EnvironmentName)/connections/shared_visualstudioteamservices/$($connection.ConnectionName)/details", + @("&Yes", "&No"), + 0) + + + if ($response -eq 0) { + $azureDevOpsConnection = $connection.ConnectionName + break + } +} + +if (!$azureDevOpsConnection) { + Write-Host "`nPlease create an Azure DevOps connection at https://make.powerapps.com/environments/$($Environment.EnvironmentName)/connections." -ForegroundColor Blue + + while ($true) { + $azureDevOpsUrl = Read-Host -Prompt "What is the URL for your Azure DevOps connection? e.g. https://make.powerapps.com/environments//connections/shared_visualstudioteamservices//details" + if ($azureDevOpsUrl -match "connections\/shared_visualstudioteamservices\/(?.+)\/details") { + $azureDevOpsConnection = $Matches.Connection + break + } + + Write-Host "Invalid Approvals connection URL." -ForegroundColor Red + } +} + +Write-Host "`nGetting Dataverse environment variable values" -ForegroundColor Blue + +$conn = Connect-CrmOnline -ServerUrl $url -ForceOAuth + +try { + $solutionPublisherPrefix = (Invoke-CrmAction -conn $conn -Name RetrieveEnvironmentVariableValue -Parameters @{ DefinitionSchemaName = "devhub_SolutionPublisher" }).Value + + if ($solutionPublisherPrefix) { + $response = $Host.UI.PromptForChoice( + "Existing environment variable found", + "Do you want to use existing solution publisher environment variable value of '$($solutionPublisherPrefix)'?", + @("&Yes", "&No"), + 0) + + if ($response -eq 1) { + throw "New value required" + } + } +} +catch { + $solutionPublisherPrefix = Read-Host "`nWhat is you solution publisher prefix (exluding the trailing underscore)?`nThis can be updated later in the devhub_SolutionPublisher Dataverse environment variable" +} + +try { + $azureDevOpsOrg = (Invoke-CrmAction -conn $conn -Name RetrieveEnvironmentVariableValue -Parameters @{ DefinitionSchemaName = "devhub_AzureDevOpsOrganization" }).Value + + if ($azureDevOpsOrg) { + $response = $Host.UI.PromptForChoice( + "Existing environment variable found", + "Do you want to use existing Azure DevOps organisation environment variable value of '$($azureDevOpsOrg)'?", + @("&Yes", "&No"), + 0) + + if ($response -eq 1) { + throw "New value required" + } + } +} +catch { + $azureDevOpsOrg = Read-Host -Prompt "`nWhat is the name of your Azure DevOps organisation?`nThis can be updated later in the devhub_AzureDevOpsOrganization Dataverse environment variable" +} + +Write-Host "`nDownloading latest Development Hub release to temp directory." -ForegroundColor Blue + +$tempPath = Join-Path $env:TEMP ([Guid]::NewGuid()) +New-Item -ItemType Directory -Path $tempPath | Out-Null +$packageZipPath = Join-Path $tempPath DevelopmentHub.zip + +Invoke-WebRequest "https://github.com/ewingjm/development-hub/releases/download/v0.2.30/Development.Hub.v0.2.30.zip" -OutFile $packageZipPath + +Write-Host "`nExtracting package from release zip." -ForegroundColor Blue + +$releasePath = Join-Path $tempPath Release +Expand-Archive $packageZipPath -DestinationPath $releasePath +Write-Host "`nDeploying package." -ForegroundColor Blue +$settings = @{ + "ConnRef:devhub_sharedapprovals_6d3fc" = $approvalsConnection + "ConnRef:devhub_sharedvisualstudioteamservices_d7fcb" = $azureDevOpsConnection + "AzureDevOpsOrganisation" = $azureDevOpsOrg + "SolutionPublisherPrefix" = $solutionPublisherPrefix +} +$settingsArray = $settings.Keys | ForEach-Object { "$_=$($settings[$_])" } +$runtimePackageSettings = [string]::Join("|", $settingsArray) + +# Running the cmdlets in the Package Deployer PS module causes unrelated things to break and retains locks on the package template files. Quarantining inside a separate job. +$importJob = Start-Job { + if (!(Get-Module -ListAvailable -Name Microsoft.Xrm.Tooling.PackageDeployment.Powershell)) { + Install-Module -Name Microsoft.Xrm.Tooling.PackageDeployment.Powershell -Scope CurrentUser -Force -AllowClobber + } + + $conn = Connect-CrmOnline -ServerUrl $using:url -ForceOAuth + Import-CrmPackage -PackageDirectory (Join-Path $using:releasePath "Development Hub") -PackageName DevelopmentHub.Deployment.dll -CrmConnection $conn -RuntimePackageSettings $using:runtimePackageSettings +} + +$jobResult = Wait-Job $importJob +if ($jobResult.State -eq "Failed") { + Receive-Job $importJob -Wait -AutoRemoveJob + return; +} + +Remove-Job $importJob + +Remove-Item $tempPath -Recurse -Force + +Write-Host "`nPackage deployment complete." -ForegroundColor Blue + +Write-Host "`nChecking for existing app registration." -ForegroundColor Blue + +Connect-MgGraph -Scopes "Application.ReadWrite.All" +$applications = Get-MgApplication | Where-Object { $_.Tags -contains "Development Hub" -or $_.DisplayName -like "*Development Hub*" } +$devHubApp = $null +foreach ($application in $applications) { + $response = $Host.UI.PromptForChoice( + "Existing application found", + "Do you want to use this application?`n$($application.DisplayName) - $($application.AppId)", + @("&Yes", "&No"), + 0) + + if ($response -eq 0) { + $devHubApp = $application + break + } +} + +if (!$devHubApp) { + Write-Host "`nCreating new app registration." -ForegroundColor Blue + [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphRequiredResourceAccess[]]$requiredResourceAccess = @( + [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphRequiredResourceAccess]@{ + ResourceAppId = "00000007-0000-0000-c000-000000000000" + ResourceAccess = [Microsoft.Graph.PowerShell.Models.MicrosoftGraphResourceAccess[]]@( + [Microsoft.Graph.PowerShell.Models.MicrosoftGraphResourceAccess]@{ + Id = "78ce3f0f-a1ce-49c2-8cde-64b5c0896db4" + Type = "Scope" + } + ) + } + ) + + $devHubApp = New-MgApplication -DisplayName "Development Hub" -SignInAudience AzureADMyOrg -Tags "Development Hub" -RequiredResourceAccess $requiredResourceAccess + New-MgServicePrincipal -BodyParameter @{ AppId = $devHubApp.AppId } | Out-Null +} + +$devHubAppPwd = Add-MgApplicationPassword -ApplicationId $devHubApp.Id -PasswordCredential @{ displayName = "Created by Development Hub install script." } + +Write-Host "`nUsing app registration '$($devHubApp.DisplayName)' with app ID '$($devHubApp.AppId)'." -ForegroundColor Blue + +Write-Host "`nRegistering app registration as a management app." -ForegroundColor Blue +New-PowerAppManagementApp -ApplicationId $devHubApp.AppId | Out-Null + +Write-Host "`nSetting up application user in development environment." -ForegroundColor Blue +$systemUser = (Get-CrmRecords -conn $conn -EntityLogicalName systemuser -FilterAttribute applicationid -FilterOperator eq -FilterValue $devHubApp.AppId -TopCount 1).CrmRecords[0] +if (!$systemUser) { + Write-Host "`nExisting application user not found. Creating new application user in development environment." -ForegroundColor Blue + $rootBusinessUnit = (Get-CrmRecords -conn $conn -EntityLogicalName businessunit -FilterAttribute parentbusinessunitid -FilterOperator null -Fields businessunitid -TopCount 1).CrmRecords[0] + + while (!$systemUser) { + try { + $systemUserId = New-CrmRecord -conn $conn -EntityLogicalName systemuser -Fields @{ applicationid = [Guid]::Parse($devHubApp.AppId); businessunitid = $rootBusinessUnit.EntityReference } + $systemUser = Get-CrmRecord -conn $conn -EntityLogicalName systemuser -Id $systemUserId -Fields systemuserid + } + catch { + if ($_.Exception.Message -notlike "*Make sure your application is registered in Azure AD*") { + throw + } + Start-Sleep -Seconds 10 + } + } +} +else { + Write-Host "`nUsing existing application user in development environment." -ForegroundColor Blue +} + +$systemAdmin = (Get-CrmRecords -conn $conn -EntityLogicalName role -FilterAttribute roletemplateid -FilterOperator eq -FilterValue "627090ff-40a3-4053-8790-584edc5be201" -Fields roleid -TopCount 1).CrmRecords[0] + +try { + Write-Host "`nAssigning system administrator role to application user in development environment." -ForegroundColor Blue + Add-CrmSecurityRoleToUser -conn $conn -UserRecord $systemUser -SecurityRoleRecord $systemAdmin +} +catch { + if ($_.Exception.Message -notlike "*duplicate key*") { + throw + } +} + +Write-Host "`nConfiguring Azure DevOps." -ForegroundColor Blue + +$orgUrl = "https://dev.azure.com/$azureDevOpsOrg" +$headers = @{ + "Accept" = "application/json; api-version=7.0" + "Content-Type" = "application/json" +} + +while ($true) { + $pat = Read-Host -Prompt "Please provide a PAT token for Azure DevOps with the following scopes:`n`tVariable Groups: Read, create, & manage`n`tService Connections: Read, query, & manage`n`tExtensions: Read & manage`n`tCode: Read, write & manage`n`tBuild: Read & execute`n" -AsSecureString + + $token = [System.Convert]::ToBase64String( + [System.Text.Encoding]::ASCII.GetBytes( + ":$([Runtime.InteropServices.Marshal]::PtrToStringAuto( + [Runtime.InteropServices.Marshal]::SecureStringToBSTR($pat)))")) + $headers.authorization = "Basic $token" + + $response = Invoke-WebRequest -Headers $headers -Uri "$orgUrl/_apis/projects" + if ($response.StatusCode -eq 200) { + $projects = $response.Content | ConvertFrom-Json | Select-Object -ExpandProperty value + break + } + + Write-Host "Invalid PAT." -ForegroundColor Red +} + +$extMgmtUrl = "https://extmgmt.dev.azure.com/$azureDevOpsOrg" +$extMgmtHeaders = $headers.Clone() +$extMgmtHeaders.accept = "application/json; api-version=7.0-preview" + +Write-Host "`nChecking for Power Platform Build Tools extension." -ForegroundColor Blue +try { + Invoke-RestMethod -Headers $extMgmtHeaders -Uri "$extMgmtUrl/_apis/extensionmanagement/installedextensionsbyname/microsoft-IsvExpTools/PowerPlatform-BuildTools" | Out-Null +} +catch [System.Net.WebException] { + if (!$_.Exception.Response.StatusCode.Value__ -eq 404) { + throw + } + Write-Host "`nNot installed. Installing Power Platform Build Tools extension." -ForegroundColor Blue + Invoke-RestMethod -Method POST -Headers $extMgmtHeaders -Uri "$extMgmtUrl/_apis/extensionmanagement/installedextensionsbyname/microsoft-IsvExpTools/PowerPlatform-BuildTools" +} + +while ($true) { + $project = Read-Host -Prompt "What Azure DevOps project do you want to use?" + + if ($project -in $projects.name) { + break + } + + Write-Host "Project not found." -ForegroundColor Red +} + +Write-Host "`nChecking for service connection." -ForegroundColor Blue + +$projectReference = @{ + name = $project + id = ($projects | Where-Object name -eq $project | Select-Object -First 1 -ExpandProperty id) +} +$serviceConnection = Invoke-RestMethod -Headers $headers -Uri "$orgUrl/$project/_apis/serviceendpoint/endpoints?endpointNames=Development Hub" | Select-Object -ExpandProperty value +if (!$serviceConnection) { + Write-Host "`nService connection not found. Creating service connection." -ForegroundColor Blue + $serviceConnection = Invoke-RestMethod -Method POST -Headers $headers -Uri "$orgUrl/_apis/serviceendpoint/endpoints" -Body (ConvertTo-Json -Depth 5 @{ + name = "Development Hub" + type = "powerplatform-spn" + url = "https://placeholder.crm.dynamics.com" + authorization = @{ + parameters = @{ + tenantId = $conn.TenantId.ToString() + applicationId = $devHubApp.AppId + clientSecret = $devHubAppPwd.SecretText + } + scheme = "None" + } + isShared = $false + serviceEndpointProjectReferences = @( + @{ + name = "Development Hub" + projectReference = $projectReference + } + ) + }) +} +else { + Write-Host "`nUsing existing service connection. Updating secret." -ForegroundColor Blue + $serviceConnection.authorization.parameters | Add-Member -MemberType NoteProperty -Name clientSecret -Value $devHubAppPwd.SecretText + Invoke-RestMethod -Method PUT -Headers $headers -Uri "$orgUrl/_apis/serviceendpoint/endpoints/$($serviceConnection.id)" -Body (ConvertTo-Json -Depth 5 $serviceConnection) | Out-Null +} + +Write-Host "`nChecking for variable group." -ForegroundColor Blue + +$variableGroupVariables = @{ + "DevelopmentHub.Application.TenantId" = @{ + value = $conn.TenantId.ToString() + isSecret = $false + } + "DevelopmentHub.Application.ClientId" = @{ + value = $devHubApp.AppId + isSecret = $false + } + "DevelopmentHub.Application.ClientSecret" = @{ + value = $devHubAppPwd.SecretText + isSecret = $true + } +} +$variableGroup = Invoke-RestMethod -Headers $headers -Uri "$orgUrl/$project/_apis/distributedtask/variablegroups?groupName=Development Hub" | Select-Object -ExpandProperty value -First 1 +if (!$variableGroup) { + Write-Host "`nVariable group not found. Creating variable group." -ForegroundColor Blue + $variableGroup = Invoke-RestMethod -Method Post -Headers $headers -Uri "$orgUrl/$project/_apis/distributedtask/variablegroups" -Body (ConvertTo-Json -Depth 5 @{ + name = "Development Hub" + description = "Variables that support the Development Hub pipelines" + type = "Vsts" + variableGroupProjectReferences = @( + @{ + name = "Development Hub" + projectReference = $projectReference + } + ) + variables = $variableGroupVariables + }) +} +else { + Write-Host "`nUsing existing variable group. Updating values." -ForegroundColor Blue + $variableGroup.variableGroupProjectReferences = @( + @{ + name = "Development Hub" + projectReference = $projectReference + } + ) + $variableGroup.variables = $variableGroupVariables + Invoke-RestMethod -Method Put -Headers $headers -Uri "$orgUrl/$project/_apis/distributedtask/variablegroups/$($variableGroup.id)" -Body (ConvertTo-Json -Depth 5 $variableGroup) | Out-Null +} + +Write-Host "`nChecking for development-hub-pipelines repository." -ForegroundColor Blue +try { + $pipelinesRepo = Invoke-RestMethod -Headers $headers -Uri "$orgUrl/$project/_apis/git/repositories/development-hub-pipelines" + Write-Host "`nExisting repository found." -ForegroundColor Blue +} +catch [System.Net.WebException] { + if (!$_.Exception.Response.StatusCode.Value__ -eq 404) { + throw + } + + Write-Host "`nRepository not found. Creating development-hub-pipelines repository." -ForegroundColor Blue + $pipelinesRepo = Invoke-RestMethod -Method Post -Headers $headers -Uri "$orgUrl/$project/_apis/git/repositories" -Body (ConvertTo-Json -Depth 5 @{ + name = "development-hub-pipelines" + project = $projectReference + }) + + Write-Host "`nImporting repository from github.com/ewingjm/development-hub-pipelines." -ForegroundColor Blue + $importRequest = Invoke-RestMethod -Method Post -Headers $headers -Uri "$orgUrl/$project/_apis/git/repositories/development-hub-pipelines/importRequests" -Body (ConvertTo-Json -Depth 5 @{ + parameters = @{ + gitSource = @{ + url = "https://github.com/ewingjm/development-hub-pipelines.git" + } + } + }) + + while ($true) { + Write-Host "`nWaiting for repository import to complete..." -ForegroundColor Blue + $importRequest = Invoke-RestMethod -Headers $headers -Uri "$orgUrl/$project/_apis/git/repositories/development-hub-pipelines/importRequests/$($importRequest.importRequestId)" + + if ($importRequest.status -eq "completed") { + Write-Host "`nRepository import complete." -ForegroundColor Blue + break + } + else { + Start-Sleep -Seconds 10 + } + } +} + +Write-Host "`nChecking for existing Development Hub project configuration for '$project'." -ForegroundColor Blue +$devHubProject = (Get-CrmRecords -conn $conn -EntityLogicalName devhub_project -FilterAttribute devhub_name -FilterOperator eq -FilterValue $project -Fields devhub_deleteenvironmentpipelineid, devhub_mergepipelineid -TopCount 1).CrmRecords[0] +if (!$devHubProject) { + Write-Host "`nDevelopment Hub project not found. Creating project record." -ForegroundColor Blue + $devHubProjectId = New-CrmRecord -conn $conn -EntityLogicalName devhub_project -Fields @{ + devhub_name = $project + } + $devHubProject = Get-CrmRecord -conn $conn -EntityLogicalName devhub_project -Id $devHubProjectId -Fields devhub_name, devhub_deleteenvironmentpipelineid, devhub_mergepipelineid +} +else { + Write-Host "`nUsing existing project." -ForegroundColor Blue +} + +Write-Host "`nChecking for existing Development Hub pipeline configuration." -ForegroundColor Blue +$pipelines = Invoke-RestMethod -Headers $headers -Uri "$orgUrl/$project/_apis/pipelines" | Select-Object -ExpandProperty value +if (!$devHubProject.devhub_mergepipelineid) { + Write-Host "`nExisting Development Hub project solution merge pipeline not configured. Checking for existing Azure DevOps pipeline." -ForegroundColor Blue + $mergePipeline = $pipelines | Where-Object name -eq "development-hub.merge" | Select-Object -First 1 + + if ($mergePipeline) { + Write-Host "`nUpdating project using existing Azure DevOps pipeline '$($mergePipeline.name)'." -ForegroundColor Blue + } + else { + Write-Host "`nExisting Azure DevOps pipeline not found. Creating new solution merge pipeline." -ForegroundColor Blue + $mergePipeline = Invoke-RestMethod -Method Post -Headers $headers -Uri "$orgUrl/$project/_apis/pipelines" -Body (ConvertTo-Json -Depth 5 @{ + folder = "development-hub" + name = "development-hub.merge" + configuration = @{ + type = "yaml" + path = "/azure-pipelines-merge.yml" + repository = @{ + id = $pipelinesRepo.id + name = "development-hub-pipelines" + type = "azureReposGit" + } + } + }) + } + + $devHubProject | Add-Member -MemberType NoteProperty -Name devhub_mergepipelineid -Value $mergePipeline.id.ToString() + Update-CrmRecord -conn $conn -CrmRecord $devHubProject +} +else { + Write-Host "`nUsing existing solution merge pipeline configured for project." -ForegroundColor Blue +} + +if (!$devHubProject.devhub_deleteenvironmentpipelineid) { + Write-Host "`nExisting Development Hub project environment deletion pipeline not configured. Checking for existing Azure DevOps pipeline." -ForegroundColor Blue + $deleteEnvironmentPipeline = $pipelines | Where-Object name -eq "development-hub.delete-environment" | Select-Object -First 1 + + if ($deleteEnvironmentPipeline) { + Write-Host "`nUpdating project using existing Azure DevOps pipeline '$($deleteEnvironmentPipeline.name)'." -ForegroundColor Blue + } + else { + Write-Host "`nExisting Azure DevOps pipeline not found. Creating new environment deletion pipeline." -ForegroundColor Blue + $deleteEnvironmentPipeline = Invoke-RestMethod -Method Post -Headers $headers -Uri "$orgUrl/$project/_apis/pipelines" -Body (ConvertTo-Json -Depth 5 @{ + folder = "development-hub" + name = "development-hub.delete-environment" + configuration = @{ + type = "yaml" + path = "/azure-pipelines-environment-delete.yml" + repository = @{ + id = $pipelinesRepo.id + name = "development-hub-pipelines" + type = "azureReposGit" + } + } + }) + } + + $devHubProject | Add-Member -MemberType NoteProperty -Name devhub_deleteenvironmentpipelineid -Value $deleteEnvironmentPipeline.id.ToString() + Update-CrmRecord -conn $conn -CrmRecord $devHubProject +} +else { + Write-Host "`nUsing existing environment deletion pipeline configured for project." -ForegroundColor Blue +} + +Write-Host "`nGranting Azure DevOps pipelines permission to resources." -ForegroundColor Blue +$headers.Accept = $headers.Accept + "-preview" +$pipelines = @( + @{ + id = $deleteEnvironmentPipeline.id + authorized = $true + }, + @{ + id = $mergePipeline.id + authorized = $true + }) +Invoke-RestMethod -Method Patch -Headers $headers -Uri "$orgUrl/$project/_apis/pipelines/pipelinepermissions" -Body (ConvertTo-json -Depth 5 @( + @{ + resource = @{ + type = "variablegroup" + id = $variableGroup.id + } + pipelines = $pipelines + }, + @{ + resource = @{ + type = "endpoint" + id = $serviceConnection.id + } + pipelines = $pipelines + }, + @{ + resource = @{ + type = "repository" + id = "$($projectReference.id).$($pipelinesRepo.id)" + } + pipelines = $pipelines + } + )) | Out-Null + +Write-Host "`nDone." -ForegroundColor Green \ No newline at end of file diff --git a/samples/azure-pipelines-extract.yml b/samples/azure-pipelines-extract.yml deleted file mode 100644 index 9e4c5b3..0000000 --- a/samples/azure-pipelines-extract.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: 'Solution merge' -pool: - vmImage: windows-latest -trigger: none -steps: - - checkout: self - persistCredentials: true - - task: PowerShell@2 - inputs: - workingDirectory: $(Build.SourcesDirectory) - filePath: 'scripts/Merge-SolutionMerge.ps1' - arguments: '-ClientId "$(clientId)" -TenantId "$(tenantId)" -ClientSecret (ConvertTo-SecureString "$(clientSecret)" -AsPlainText -Force) -SolutionMergeId "$(solutionMergeId)" -DevEnvironmentUrl "$(devEnvironmentUrl)"' - displayName: Extract and commit - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) \ No newline at end of file diff --git a/samples/scripts/Merge-SolutionMerge.ps1 b/samples/scripts/Merge-SolutionMerge.ps1 deleted file mode 100644 index 2d1a6e6..0000000 --- a/samples/scripts/Merge-SolutionMerge.ps1 +++ /dev/null @@ -1,244 +0,0 @@ -param ( - [Parameter()] - [String] - $ClientId, - [Parameter()] - [String] - $TenantId, - [Parameter()] - [SecureString] - $ClientSecret, - [Parameter()] - [String] - $SolutionMergeId, - [Parameter()] - [String] - $DevEnvironmentUrl -) - -Install-Module ADAL.PS -Scope CurrentUser -Force - -Write-Host "Installing solution packager." - -$coreToolsPath = nuget install Microsoft.CrmSdk.CoreTools -o (Join-Path $env:TEMP -ChildPath packages) | Where-Object { $_ -like "*Installing package *'Microsoft.CrmSdk.CoreTools' to '*'." } | Select-String -Pattern "to '(.*)'" | ForEach-Object { $_.Matches[0].Groups[1].Value } -$solutionPackager = Get-ChildItem -Filter "SolutionPackager.exe" -Path $coreToolsPath -Recurse - -function Get-WebApiHeaders ($url, $clientId, $tenantId, $clientSecret) { - Write-Host "Getting access token for $url for client ID $clientId." - $tokenResponse = Get-AdalToken -Resource $url -ClientId $clientId -Authority "https://login.microsoftonline.com/$tenantId" -ClientSecret $clientSecret -Verbose - $token = $tokenResponse.AccessToken - - return @{ - "method" = "GET" - "authorization" = "Bearer $token" - "content-type" = "application/json" - } -} - -function Merge-SourceBranch ($Branch) { - Write-Host "Source branch provided. Squashing $Branch." - git merge origin/$Branch --squash --no-commit; - $result = git merge HEAD - if ($result[0] -like "*error*") { - Write-Error "Unable to automatically merge the source branch due to a conflict." - } -} - -function Export-Solution ($Headers, $SolutionName, $Managed, $Path) { - Write-Host "Exporting $SolutionName. Managed: $Managed." - $response = Invoke-RestMethod -Uri "$($extractWebApiUrl)/ExportSolutionAsync" ` - -Method POST ` - -Headers $Headers ` - -UseBasicParsing ` - -Body (ConvertTo-Json @{ SolutionName = $SolutionName; Managed = $Managed }) - Write-Host "Waiting for solution export job to complete. AsyncOperationId: $($response.AsyncOperationId) ExportJobId:$($response.ExportJobId)" - - $timeOutEnd = [DateTime]::Now.AddMinutes(15); - $complete = $false - while (!$complete) { - Start-Sleep -Seconds 10 - if ($timeOutEnd -lt [DateTime]::Now) { - throw "Solution did not export within 15 minute timeout" - } - - $asyncOperation = Invoke-RestMethod -Uri "$($extractWebApiUrl)/asyncoperations($($response.AsyncOperationId))?`$select=statuscode,message" -Headers $Headers -UseBasicParsing - $complete = $asyncOperation.statuscode -eq 30 - if (!$complete -and $asyncOperation.statuscode -in @(22, 31, 32)) { - throw "Solution export async operation failed: $($asyncOperation.message)" - } - } - - Write-Host "Export job completed. Downloading solution export data." - $downloadResponse = Invoke-RestMethod -Uri "$($extractWebApiUrl)/DownloadSolutionExportData" ` - -Method POST ` - -Headers $Headers ` - -UseBasicParsing ` - -Body (ConvertTo-Json @{ ExportJobId = $response.ExportJobId }) - - Write-Host "Writing solution to $Path." - [IO.File]::WriteAllBytes($Path, [Convert]::FromBase64String($downloadResponse.ExportSolutionFile)); -} - -Write-Host "Authenticating to development environment." -$devWebApiHeaders = Get-WebApiHeaders -url $DevEnvironmentUrl -clientId $ClientId -tenantId $TenantId -clientSecret $ClientSecret -$devWebApiUrl = "$DevEnvironmentUrl/api/data/v9.1" - -Write-Host "Getting solution merge $SolutionMergeId." -$select = 'devhub_sourcebranch,statuscode' -$expand = 'createdby($select=fullname,internalemailaddress),devhub_TargetSolution($select=devhub_uniquename;$expand=devhub_StagingEnvironment($select=devhub_url),devhub_Repository($select=devhub_sourcecontrolstrategy,devhub_extractbuilddefinitionid,devhub_targetbranch)),devhub_Issue($select=devhub_type,devhub_name,devhub_azuredevopsworkitemid,devhub_developmentsolution)' -$solutionMerge = Invoke-RestMethod -Uri "$devWebApiUrl/devhub_solutionmerges($SolutionMergeId)?`$select=$select&`$expand=$expand" -Headers $devWebApiHeaders - -Write-Host "Setting git user configuration to solution merge creator: $($solutionMerge.createdby.internalemailaddress)." -git config --global user.email $solutionMerge.createdby.internalemailaddress -git config --global user.name $solutionMerge.createdby.fullname - -Write-Host "Checking source control strategy." -if ($solutionMerge.devhub_TargetSolution.devhub_Repository.devhub_sourcecontrolstrategy -eq 353400000) { - Write-Host "Source control strategy is pull request." - Write-Host "Calculating branch name from solution merge issue." - $branchPrefix = if ($solutionMerge.devhub_Issue.devhub_type -eq 353400001) { "feature/" } else { "bugfix/" } - $branchName = $solutionMerge.devhub_Issue.devhub_name.ToLower().Replace(' ', '-') -replace "[^a-zA-Z0-9\s-]" - $calculatedBranch = "$branchPrefix$branchName" - - Write-Host "Checking if $calculatedBranch exists." - $updateExistingBranch = $null -ne (git rev-parse --verify --quiet "origin/$calculatedBranch") - if ($updateExistingBranch) { - Write-Host "Branch already exists. Updating existing branch at $calculatedBranch." - git checkout "$calculatedBranch" - } - else { - Write-Host "Branch not found. Creating branch $calculatedBranch." - git checkout -b "$calculatedBranch" - } -} -else { - Write-Host "Source control strategy is push. Checking out $($solutionMerge.devhub_TargetSolution.devhub_Repository.devhub_targetbranch)" - git checkout $($solutionMerge.devhub_TargetSolution.devhub_Repository.devhub_targetbranch) -} - -if ($solutionMerge.devhub_sourcebranch) { - Merge-SourceBranch -Branch $solutionMerge.devhub_sourcebranch -} - -Write-Host "Authenticating to extract environment." -$extractUrl = $solutionMerge.devhub_TargetSolution.devhub_StagingEnvironment.devhub_url -$extractWebApiHeaders = Get-WebApiHeaders -url $extractUrl -clientId $ClientId -tenantId $TenantId -clientSecret $ClientSecret -$extractWebApiUrl = "$($extractUrl)/api/data/v9.1" - -$unmanagedZipFilePath = Join-Path -Path $env:TEMP -ChildPath "$($solutionMerge.devhub_TargetSolution.devhub_uniquename).zip" -Export-Solution ` - -Headers $extractWebApiHeaders ` - -SolutionName $solutionMerge.devhub_TargetSolution.devhub_uniquename ` - -Managed $false ` - -Path $unmanagedZipFilePath - -Export-Solution ` - -Headers $extractWebApiHeaders ` - -SolutionName $solutionMerge.devhub_TargetSolution.devhub_uniquename ` - -Managed $true ` - -Path (Join-Path -Path $env:TEMP -ChildPath "$($solutionMerge.devhub_TargetSolution.devhub_uniquename)_managed.zip") - -$solutionFolder = Get-ChildItem -Filter $solutionMerge.devhub_TargetSolution.devhub_uniquename -Path "./src/solutions" -Directory -$extractFolder = Join-Path -Path $solutionFolder.FullName -ChildPath "extract" -Write-Host "Extracting solutions with the Solution Packager to $extractFolder." -$solutionPackagerPath = $solutionPackager.FullName -& $solutionPackagerPath /action:Extract /zipfile:$unmanagedZipFilePath /folder:$extractFolder /packagetype:Both /allowWrite:Yes /allowDelete:Yes - -git add . -git reset -- NuGet.config - -Write-Host "Calculating commit message from solution merge issue." -$commitPrefix = if ($solutionMerge.devhub_Issue.devhub_type -eq 353400001) { "feat: " } else { "fix: " } -$commitMessage = $solutionMerge.devhub_Issue.devhub_name -$buildNumber = $commitMessage -replace "[^a-zA-Z0-9\s]" -Write-Host "##vso[build.updatebuildnumber]$buildNumber" - -$commitTrailers = @" -Solution-merge-id: $SolutionMergeId -Solution-merge-creator: $($solutionMerge.createdby.fullname) <$($solutionMerge.createdby.internalemailaddress)> -"@ - -if ($solutionMerge.devhub_Issue.devhub_azuredevopsworkitemid) { - Write-Host "Committing '$commitPrefix$commitMessage' with work item $($solutionMerge.devhub_Issue.devhub_azuredevopsworkitemid)." - git commit -m "$commitPrefix$commitMessage" -m "#$($solutionMerge.devhub_Issue.devhub_azuredevopsworkitemid)" -m "$commitTrailers"; -} -else { - Write-Host "Committing '$commitPrefix$commitMessage'." - git commit -m "$commitPrefix$commitMessage" -m "$commitTrailers" -} - -if ($solutionMerge.devhub_TargetSolution.devhub_Repository.devhub_sourcecontrolstrategy -eq 353400000) { - $remoteOrigin = [Uri]::new((git config --get remote.origin.url)) - if ($remoteOrigin.Host -eq 'dev.azure.com') { - $org = $remoteOrigin.UserInfo - $project = $remoteOrigin.Segments[2].Replace('/', '') - $repository = $remoteOrigin.Segments[4] - } - else { - $org = $remoteOrigin.Host.Split('.')[0] - $project = $remoteOrigin.Segments[1].Replace('/', '') - $repository = $remoteOrigin.Segments[3] - } - - Write-Host "Checking for existing pull request" - $result = Invoke-RestMethod ` - -Uri "https://dev.azure.com/$org/$project/_apis/git/repositories/$repository/pullRequests?searchCriteria.sourceRefName=refs/heads/$calculatedBranch&searchCriteria.targetRefName=refs/heads/$($solutionMerge.devhub_TargetSolution.devhub_Repository.devhub_targetbranch)&api-version=6.0" ` - -Headers @{ 'authorization' = "Bearer $env:SYSTEM_ACCESSTOKEN"; 'content-type' = 'application/json' } - - if ($result.value.Count -eq 0) { - Write-Host "Publishing pull request branch." - git push -u origin HEAD - - Write-Host "Creating pull request from refs/heads/$calculatedBranch into refs/heads/$($solutionMerge.devhub_TargetSolution.devhub_Repository.devhub_targetbranch)." - $result = Invoke-RestMethod ` - -Uri "https://dev.azure.com/$org/$project/_apis/git/repositories/$repository/pullRequests?api-version=6.0" ` - -Method POST ` - -Headers @{ 'authorization' = "Bearer $env:SYSTEM_ACCESSTOKEN"; 'content-type' = 'application/json' } ` - -UseBasicParsing ` - -Body (ConvertTo-Json ` - @{ - title = "$commitPrefix$commitMessage"; - sourceRefName = "refs/heads/$calculatedBranch"; - targetRefName = "refs/heads/$($solutionMerge.devhub_TargetSolution.devhub_Repository.devhub_targetbranch)"; - description = @" - -$commitTrailers -"@ - }) - - if ($solutionMerge.devhub_Issue.devhub_azuredevopsworkitemid) { - Write-Host "Linking pull request to work item $($solutionMerge.devhub_Issue.devhub_azuredevopsworkitemid)" - $result = Invoke-RestMethod ` - -Uri "https://dev.azure.com/$org/$project/_apis/wit/workItems/$($solutionMerge.devhub_Issue.devhub_azuredevopsworkitemid)?api-version=4.0-preview" ` - -Headers @{ 'authorization' = "Bearer $env:SYSTEM_ACCESSTOKEN"; 'content-type' = 'application/json-patch+json' } ` - -Method PATCH ` - -Body (ConvertTo-Json -Depth 100 @( - @{ - op = 'add'; - path = '/relations/-'; - value = - @{ - rel = "ArtifactLink"; - url = $($result.artifactId) - attributes = @{ - name = "Pull Request" - } - } - } - ) - ) - } - } - - Write-Host "Updating solution merge status to 'Awaiting PR Approval'." - $solutionMerge = Invoke-RestMethod ` - -Method PATCH ` - -Uri "$devWebApiUrl/devhub_solutionmerges($SolutionMergeId)" ` - -Headers $devWebApiHeaders ` - -Body (ConvertTo-Json @{ - statuscode = 353400007 - }) -} - -Write-Host "Pushing new commit." -git push origin \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap.xml index eeeec2f..696ad9f 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap.xml @@ -1,6 +1,10 @@  devhub_DevelopmentHub + False + True + True + True diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap_managed.xml index db3911f..fb9316b 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap_managed.xml @@ -1,6 +1,10 @@  devhub_DevelopmentHub + False + True + True + True diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/Entity.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/Entity.xml index af9ece8..6f4f3a6 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/Entity.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/Entity.xml @@ -131,6 +131,86 @@ + + nvarchar + devhub_deleteenvironmentpipelineid + devhub_deleteenvironmentpipelineid + none + ValidForAdvancedFind|ValidForForm|ValidForGrid + auto + 1 + 1 + 1 + 1 + 1 + 0 + 0.2.22 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 0 + + 0 + 0 + 0 + 0 + text + 10 + 20 + + + + + + + + + nvarchar + devhub_mergepipelineid + devhub_mergepipelineid + required + ValidForAdvancedFind|ValidForForm|ValidForGrid + auto + 1 + 1 + 1 + 1 + 1 + 0 + 0.2.22 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 0 + + 0 + 0 + 0 + 0 + text + 10 + 20 + + + + + + + nvarchar devhub_name @@ -453,6 +533,7 @@ owningbusinessunit owningbusinessunit none + ValidForAdvancedFind|ValidForForm|ValidForGrid auto 0 1 diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/card/{4cf86fbb-f255-4cdb-8669-270a06a16047}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/card/{4cf86fbb-f255-4cdb-8669-270a06a16047}.xml index b8e01c0..55c10f6 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/card/{4cf86fbb-f255-4cdb-8669-270a06a16047}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/card/{4cf86fbb-f255-4cdb-8669-270a06a16047}.xml @@ -18,6 +18,15 @@ + + + + + + + + @@ -61,6 +70,14 @@ + + + + + + +
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/card/{4cf86fbb-f255-4cdb-8669-270a06a16047}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/card/{4cf86fbb-f255-4cdb-8669-270a06a16047}_managed.xml index f9dd5ab..55c10f6 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/card/{4cf86fbb-f255-4cdb-8669-270a06a16047}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/card/{4cf86fbb-f255-4cdb-8669-270a06a16047}_managed.xml @@ -18,6 +18,15 @@ + + + + + + + +
@@ -31,7 +40,7 @@ - @@ -56,11 +65,19 @@ - + + + + + + +
@@ -71,13 +88,13 @@ - - diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/main/{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/main/{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}.xml index 058e21f..eac343e 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/main/{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/main/{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}.xml @@ -7,14 +7,14 @@ 1
- + -
+
@@ -28,18 +28,42 @@ - + + + + + + + + + + + + + + +
+
+ + + + + - + devhub_repository {111D5D2E-1995-4AE6-A327-817F2BBE5898} + {111D5D2E-1995-4AE6-A327-817F2BBE5898} true devhub_Project_devhub_Repository 5 - Fixed + Auto diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/main/{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/main/{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}_managed.xml index 058e21f..eac343e 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/main/{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/main/{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}_managed.xml @@ -7,14 +7,14 @@ 1 - + -
+
@@ -28,18 +28,42 @@ - + + + + + + + + + + + + + + +
+
+ + + + + - + devhub_repository {111D5D2E-1995-4AE6-A327-817F2BBE5898} + {111D5D2E-1995-4AE6-A327-817F2BBE5898} true devhub_Project_devhub_Repository 5 - Fixed + Auto diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quick/{2f6666e0-ca2d-407d-97ca-ce29ff9abc72}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quick/{2f6666e0-ca2d-407d-97ca-ce29ff9abc72}.xml index f88fedf..2b0111d 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quick/{2f6666e0-ca2d-407d-97ca-ce29ff9abc72}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quick/{2f6666e0-ca2d-407d-97ca-ce29ff9abc72}.xml @@ -28,7 +28,15 @@ - + + + + + + + + @@ -42,6 +50,9 @@ + + + 1 1 diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quick/{2f6666e0-ca2d-407d-97ca-ce29ff9abc72}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quick/{2f6666e0-ca2d-407d-97ca-ce29ff9abc72}_managed.xml index 37f57bd..2b0111d 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quick/{2f6666e0-ca2d-407d-97ca-ce29ff9abc72}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quick/{2f6666e0-ca2d-407d-97ca-ce29ff9abc72}_managed.xml @@ -22,15 +22,23 @@ - - + - + + + + + + + @@ -42,6 +50,9 @@ + + + 1 1 diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quickCreate/{637990c3-2b78-eb11-a812-000d3ab314cb}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quickCreate/{637990c3-2b78-eb11-a812-000d3ab314cb}.xml index b8bf3a8..9dc56f2 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quickCreate/{637990c3-2b78-eb11-a812-000d3ab314cb}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quickCreate/{637990c3-2b78-eb11-a812-000d3ab314cb}.xml @@ -27,6 +27,22 @@ + + + + + + + + + + + + + +
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quickCreate/{637990c3-2b78-eb11-a812-000d3ab314cb}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quickCreate/{637990c3-2b78-eb11-a812-000d3ab314cb}_managed.xml index b8bf3a8..9dc56f2 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quickCreate/{637990c3-2b78-eb11-a812-000d3ab314cb}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Project/FormXml/quickCreate/{637990c3-2b78-eb11-a812-000d3ab314cb}_managed.xml @@ -27,6 +27,22 @@ + + + + + + + + + + + + + +
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/Entity.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/Entity.xml index 2b71012..b4cdb18 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/Entity.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/Entity.xml @@ -131,46 +131,6 @@ - - nvarchar - devhub_extractbuilddefinitionid - devhub_extractbuilddefinitionid - required - ValidForAdvancedFind|ValidForForm|ValidForGrid - auto - 1 - 1 - 1 - 1 - 1 - 0 - 0.2.1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - 1 - 1 - 0 - - 0 - 0 - 1 - 0 - text - 10 - 20 - - - - - - - nvarchar devhub_name @@ -217,6 +177,7 @@ devhub_project required ValidForAdvancedFind|ValidForForm|ValidForGrid + auto 1 1 1 @@ -292,6 +253,7 @@ devhub_solutionmergecommitflow none ValidForAdvancedFind|ValidForForm|ValidForGrid + auto 1 1 1 @@ -648,6 +610,7 @@ owningbusinessunit owningbusinessunit none + ValidForAdvancedFind|ValidForForm|ValidForGrid auto 0 1 @@ -969,18 +932,6 @@ - - devhub_ExtractBuildDefinitionID - devhub_extractbuilddefinitionid - 0.2.1 - 0 - - devhub_extractbuilddefinitionid - - - - - devhub_ProjectRepository devhub_projectrepository diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/card/{9566d163-0a00-4c16-9274-2e5b6cf87421}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/card/{9566d163-0a00-4c16-9274-2e5b6cf87421}.xml index 6c919de..23f820b 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/card/{9566d163-0a00-4c16-9274-2e5b6cf87421}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/card/{9566d163-0a00-4c16-9274-2e5b6cf87421}.xml @@ -20,7 +20,7 @@ - + @@ -78,14 +78,6 @@ - - - - - - -
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/card/{9566d163-0a00-4c16-9274-2e5b6cf87421}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/card/{9566d163-0a00-4c16-9274-2e5b6cf87421}_managed.xml index 6c919de..23f820b 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/card/{9566d163-0a00-4c16-9274-2e5b6cf87421}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/card/{9566d163-0a00-4c16-9274-2e5b6cf87421}_managed.xml @@ -20,7 +20,7 @@ - + @@ -78,14 +78,6 @@ - - - - - - -
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/main/{f2a1e497-d02a-43b1-8466-f2c2723ef745}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/main/{f2a1e497-d02a-43b1-8466-f2c2723ef745}.xml index a731b45..c7085f0 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/main/{f2a1e497-d02a-43b1-8466-f2c2723ef745}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/main/{f2a1e497-d02a-43b1-8466-f2c2723ef745}.xml @@ -35,14 +35,6 @@ - - - - - - -
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/main/{f2a1e497-d02a-43b1-8466-f2c2723ef745}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/main/{f2a1e497-d02a-43b1-8466-f2c2723ef745}_managed.xml index a731b45..c7085f0 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/main/{f2a1e497-d02a-43b1-8466-f2c2723ef745}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/main/{f2a1e497-d02a-43b1-8466-f2c2723ef745}_managed.xml @@ -35,14 +35,6 @@ - - - - - - -
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quick/{a6308f8a-72f9-4050-aaa5-c51c6846c657}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quick/{a6308f8a-72f9-4050-aaa5-c51c6846c657}_managed.xml index 66c7163..2b35022 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quick/{a6308f8a-72f9-4050-aaa5-c51c6846c657}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quick/{a6308f8a-72f9-4050-aaa5-c51c6846c657}_managed.xml @@ -22,7 +22,7 @@ - @@ -30,7 +30,7 @@ - diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quickCreate/{cc49a47b-2e78-eb11-a812-000d3ab20581}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quickCreate/{cc49a47b-2e78-eb11-a812-000d3ab20581}.xml index dab8647..77e1292 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quickCreate/{cc49a47b-2e78-eb11-a812-000d3ab20581}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quickCreate/{cc49a47b-2e78-eb11-a812-000d3ab20581}.xml @@ -35,14 +35,6 @@ - - - - - - -
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quickCreate/{cc49a47b-2e78-eb11-a812-000d3ab20581}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quickCreate/{cc49a47b-2e78-eb11-a812-000d3ab20581}_managed.xml index dab8647..77e1292 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quickCreate/{cc49a47b-2e78-eb11-a812-000d3ab20581}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/FormXml/quickCreate/{cc49a47b-2e78-eb11-a812-000d3ab20581}_managed.xml @@ -35,14 +35,6 @@ - - - - - - -
diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{111d5d2e-1995-4ae6-a327-817f2bbe5898}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{111d5d2e-1995-4ae6-a327-817f2bbe5898}.xml index 9bec86e..9a50603 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{111d5d2e-1995-4ae6-a327-817f2bbe5898}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{111d5d2e-1995-4ae6-a327-817f2bbe5898}.xml @@ -14,7 +14,6 @@ -
@@ -22,7 +21,6 @@ - @@ -31,7 +29,7 @@ - + diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{7c0c4b09-490e-4b46-8056-8cae14e1c81b}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{7c0c4b09-490e-4b46-8056-8cae14e1c81b}.xml index bd0367c..9999efe 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{7c0c4b09-490e-4b46-8056-8cae14e1c81b}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{7c0c4b09-490e-4b46-8056-8cae14e1c81b}.xml @@ -14,7 +14,6 @@ - @@ -22,13 +21,12 @@ - - + diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{b3814242-8d40-47c5-91a7-597ae9c6c6f9}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{b3814242-8d40-47c5-91a7-597ae9c6c6f9}.xml index df54b55..08a1279 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{b3814242-8d40-47c5-91a7-597ae9c6c6f9}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{b3814242-8d40-47c5-91a7-597ae9c6c6f9}.xml @@ -14,7 +14,6 @@ - @@ -22,7 +21,6 @@ - @@ -30,8 +28,8 @@ - + diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{b8582426-2c72-424d-bb66-9ae8a502b4a7}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{b8582426-2c72-424d-bb66-9ae8a502b4a7}.xml index 065be27..c899ef3 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{b8582426-2c72-424d-bb66-9ae8a502b4a7}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{b8582426-2c72-424d-bb66-9ae8a502b4a7}.xml @@ -14,7 +14,6 @@ - @@ -22,7 +21,6 @@ - @@ -34,7 +32,7 @@ - + diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{d73c3d97-9d01-4245-9f80-c55c34393305}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{d73c3d97-9d01-4245-9f80-c55c34393305}.xml index 8382fd3..22f269f 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{d73c3d97-9d01-4245-9f80-c55c34393305}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_Repository/SavedQueries/{d73c3d97-9d01-4245-9f80-c55c34393305}.xml @@ -14,7 +14,6 @@ - @@ -22,7 +21,6 @@ - @@ -30,8 +28,8 @@ - + diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_issue/FormXml/main/{97b0d9e0-dab1-41ae-8174-d252bfe633e6}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_issue/FormXml/main/{97b0d9e0-dab1-41ae-8174-d252bfe633e6}.xml index d561049..5abaa55 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_issue/FormXml/main/{97b0d9e0-dab1-41ae-8174-d252bfe633e6}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_issue/FormXml/main/{97b0d9e0-dab1-41ae-8174-d252bfe633e6}.xml @@ -5,132 +5,22 @@ 0.0.1.0 1 1 -
+ - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
- - - - - - -
- - - - - - - - - - - - - - - - - {BCABBFD7-A184-E911-A97E-0022480186C3} - false - devhub_issue_solutionmerge_Issue - devhub_solutionmerge - Fixed - false - false - {C3AE2FF7-0BEF-4F99-A9F5-55130A4A6790},{BCABBFD7-A184-E911-A97E-0022480186C3} - false - All - - false - true - 4 - #F3F3F3 - - - - - - - - - - - -
-
-
-
-
- + - + -
+
- + @@ -144,84 +34,10 @@ -
- - - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - -
- - - - - </Titles> - </NavBarArea> - <NavBarArea Id="Sales"> - <Titles> - <Title LCID="1033" Text="Sales" /> - </Titles> - </NavBarArea> - <NavBarArea Id="Service"> - <Titles> - <Title LCID="1033" Text="Service" /> - </Titles> - </NavBarArea> - <NavBarArea Id="Marketing"> - <Titles> - <Title LCID="1033" Text="Marketing" /> - </Titles> - </NavBarArea> - <NavBarArea Id="ProcessCenter"> - <Titles> - <Title LCID="1033" Text="Process Sessions" /> - </Titles> - </NavBarArea> - </NavBarAreas> </Navigation> - <controlDescriptions /> - <DisplayConditions Order="0" FallbackForm="true"> + <DisplayConditions Order="0" FallbackForm="true" solutionaction="Added"> <Everyone /> </DisplayConditions> </form> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/Entity.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/Entity.xml index 209b61a..ce9b7c8 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/Entity.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/Entity.xml @@ -4,12 +4,53 @@ <EntityInfo> <entity Name="devhub_solution"> <attributes> + <attribute PhysicalName="devhub_ProvisionEnvironmentPipelineID"> + <Type>nvarchar</Type> + <Name>devhub_provisionenvironmentpipelineid</Name> + <LogicalName>devhub_provisionenvironmentpipelineid</LogicalName> + <RequiredLevel>none</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> + <ImeMode>auto</ImeMode> + <ValidForUpdateApi>1</ValidForUpdateApi> + <ValidForReadApi>1</ValidForReadApi> + <ValidForCreateApi>1</ValidForCreateApi> + <IsCustomField>1</IsCustomField> + <IsAuditEnabled>1</IsAuditEnabled> + <IsSecured>0</IsSecured> + <IntroducedVersion>0.2.22</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <IsRenameable>1</IsRenameable> + <CanModifySearchSettings>1</CanModifySearchSettings> + <CanModifyRequirementLevelSettings>1</CanModifyRequirementLevelSettings> + <CanModifyAdditionalSettings>1</CanModifyAdditionalSettings> + <SourceType>0</SourceType> + <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> + <IsSortableEnabled>0</IsSortableEnabled> + <CanModifyGlobalFilterSettings>1</CanModifyGlobalFilterSettings> + <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> + <IsDataSourceSecret>0</IsDataSourceSecret> + <AutoNumberFormat></AutoNumberFormat> + <IsSearchable>0</IsSearchable> + <IsFilterable>0</IsFilterable> + <IsRetrievable>0</IsRetrievable> + <IsLocalizable>0</IsLocalizable> + <Format>text</Format> + <MaxLength>10</MaxLength> + <Length>20</Length> + <displaynames> + <displayname description="Provision Environment Pipeline ID" languagecode="1033" /> + </displaynames> + <Descriptions> + <Description description="This is the build definition ID of the pipeline that handles the provisioning of extract environments." languagecode="1033" /> + </Descriptions> + </attribute> <attribute PhysicalName="devhub_Repository"> <Type>lookup</Type> <Name>devhub_repository</Name> <LogicalName>devhub_repository</LogicalName> <RequiredLevel>required</RequiredLevel> <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> + <ImeMode>auto</ImeMode> <ValidForUpdateApi>1</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> <ValidForCreateApi>1</ValidForCreateApi> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}.xml index a1934eb..bc274ff 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}.xml @@ -5,82 +5,37 @@ <IntroducedVersion>0.0.1.0</IntroducedVersion> <FormPresentation>1</FormPresentation> <FormActivationState>1</FormActivationState> - <form headerdensity="HighWithControls" shownavigationbar="true" showImage="false" maxWidth="1920"> + <form headerdensity="HighWithControls" solutionaction="Modified"> <tabs> - <tab verticallayout="true" id="{80977aef-85bb-46cc-9c30-4ab517bee6bd}" IsUserDefined="1" name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}" locklevel="0" expanded="true" showlabel="false"> - <labels> - <label description="General" languagecode="1033" /> - </labels> + <tab verticallayout="true" id="{80977aef-85bb-46cc-9c30-4ab517bee6bd}" IsUserDefined="1" name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}" locklevel="0" expanded="true" showlabel="false" ordinalvalue="0"> <columns> - <column width="50%"> + <column width="50%" id="0"> <sections> - <section showlabel="false" showbar="false" IsUserDefined="0" id="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" name="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" columns="1" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> - <labels> - <label description="Information" languagecode="1033" /> - </labels> + <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_4" id="5f174613-d7eb-4747-9761-153044e2e774" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115" ordinalvalue="1"> <rows> <row> - <cell id="{2f901e38-da1d-4f66-b039-f1856d8bd0a6}"> - <labels> - <label description="Display Name" languagecode="1033" /> - </labels> - <control id="devhub_displayname" classid="{4273EDBD-AC1D-40d3-9FB2-095C621B552D}" datafieldname="devhub_displayname" /> - </cell> - </row> - <row> - <cell id="{06904c4c-21c8-be97-5240-023974e0c043}" showlabel="true" locklevel="0"> - <labels> - <label description="Unique Name" languagecode="1033" /> - </labels> - <control id="devhub_uniquename" classid="{4273EDBD-AC1D-40d3-9FB2-095C621B552D}" datafieldname="devhub_uniquename" disabled="false" /> - </cell> - </row> - <row> - <cell id="{1bb9d182-10a3-a0ad-343a-65a3be837291}" showlabel="true" locklevel="0"> - <labels> - <label description="Description" languagecode="1033" /> - </labels> - <control id="devhub_description" classid="{E0DECE4B-6FC8-4a8f-A065-082708572369}" datafieldname="devhub_description" disabled="false" uniqueid="{217ec1b2-099d-9d4e-a0db-a8b4b749b1be}" /> - </cell> + <cell id="{9aa15507-7008-c434-248d-d6284d3192bc}" showlabel="true" locklevel="0" visible="false" ordinalvalue="10002" solutionaction="Modified" /> </row> <row> - <cell id="{9aa15507-7008-c434-248d-d6284d3192bc}" showlabel="true" locklevel="0"> + <cell id="{9f6cee94-c87d-4fe2-9da7-dd8fd03709e8}" locklevel="0" colspan="1" rowspan="1" visible="false" ordinalvalue="10001" solutionaction="Added"> <labels> - <label description="Staging Environment" languagecode="1033" /> + <label description="Provision Environment Pipeline ID" languagecode="1033" /> </labels> - <control id="devhub_stagingenvironment" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_stagingenvironment" disabled="false" /> + <control id="devhub_provisionenvironmentpipelineid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_provisionenvironmentpipelineid" disabled="false" /> </cell> </row> </rows> </section> </sections> </column> - <column width="50%"> + <column width="50%" id="1"> <sections> - <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_3" showlabel="false" showbar="false" locklevel="0" id="{0cdbe593-e2a2-3804-d095-cdbe62c05d58}" IsUserDefined="0" layout="varwidth" columns="111" labelwidth="115" celllabelalignment="Left" celllabelposition="Top"> - <labels> - <label description="Version" languagecode="1033" /> - </labels> + <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_5" id="003c5bb4-9e52-4f4c-b441-e6202b6706d0" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="111" labelwidth="115" ordinalvalue="0"> <rows> <row> - <cell id="{e19301c6-463e-5c3e-6700-c673cabaa697}" showlabel="true" locklevel="0"> - <labels> - <label description="Major Version" languagecode="1033" /> - </labels> - <control id="devhub_majorversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_majorversion" disabled="false" uniqueid="{d32664c3-7098-dc7c-ceaa-d9dca570b8a3}" /> - </cell> - <cell id="{5103b9da-c724-d938-8148-a7134446722e}" showlabel="true" locklevel="0"> - <labels> - <label description="Minor Version" languagecode="1033" /> - </labels> - <control id="devhub_minorversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_minorversion" disabled="false" uniqueid="{e54ad56a-c78b-9d51-31a4-ae26ee76e1d7}" /> - </cell> - <cell id="{e3776aca-c481-d9b3-1111-39178420094b}" showlabel="true" locklevel="0"> - <labels> - <label description="Patch Version" languagecode="1033" /> - </labels> - <control id="devhub_patchversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_patchversion" disabled="false" uniqueid="{9972edae-eebb-06cb-620b-5ad58de4975c}" /> - </cell> + <cell locklevel="0" id="{62c18c99-9af6-46b6-8a46-090f9109a565}" showlabel="false" ordinalvalue="10003" solutionaction="Removed" /> + <cell showlabel="false" locklevel="0" id="{b3e525d7-31a5-47b9-be33-3f42eeffe0bf}" ordinalvalue="20004" solutionaction="Removed" /> + <cell showlabel="false" locklevel="0" id="{df0e9923-7171-4fac-bbeb-6deb101f825d}" ordinalvalue="30005" solutionaction="Removed" /> </row> </rows> </section> @@ -88,20 +43,20 @@ </column> </columns> </tab> - <tab name="tab_azuredevops" id="061cc0d8-1fac-4421-bde2-98acb8971229" IsUserDefined="0" locklevel="0" showlabel="true"> + <tab name="tab_AzureDevOps" id="db99d7e7-c601-463f-bc49-28eca8dd43ca" IsUserDefined="0" locklevel="0" showlabel="true" ordinalvalue="1" solutionaction="Added"> <labels> <label description="Azure DevOps" languagecode="1033" /> </labels> <columns> - <column width="100%"> + <column width="100%" id="0"> <sections> - <section name="tab_azuredevops_section_details" id="ee8da8ae-227e-4137-ad1e-93f255165759" IsUserDefined="0" locklevel="0" showlabel="false" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> + <section name="tab_AzureDevOps_section_General" id="4758ee6e-6608-4ebf-99d3-c637d60c119e" IsUserDefined="0" locklevel="0" showlabel="false" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115" ordinalvalue="0"> <labels> - <label description="Details" languagecode="1033" /> + <label description="General" languagecode="1033" /> </labels> <rows> <row> - <cell id="{ffa1d450-3f39-467a-b5a7-728ee70b2f5b}" locklevel="0"> + <cell id="{fcd6f164-67ba-42da-8698-b958b7f289cf}" locklevel="0" ordinalvalue="10000"> <labels> <label description="Repository" languagecode="1033" /> </labels> @@ -115,84 +70,6 @@ </columns> </tab> </tabs> - <header id="{09c868aa-9b19-4887-8d17-6ec17eb9584a}" columns="111"> - <rows> - <row> - <cell id="{6564ad49-e6b7-43c3-9ad3-aab5b08fe061}" showlabel="false"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - <cell id="{6be944a9-b3ea-a00b-d48e-a81ea8c0c371}" showlabel="true" locklevel="0"> - <labels> - <label description="Owner" languagecode="1033" /> - </labels> - <control id="header_ownerid" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="ownerid" disabled="false" /> - </cell> - <cell id="{29e83648-ce14-19b8-37bb-76661c01be81}" showlabel="true" locklevel="0"> - <labels> - <label description="Status Reason" languagecode="1033" /> - </labels> - <control id="header_statuscode" classid="{5D68B988-0661-4db2-BC3E-17598AD3BE6C}" datafieldname="statuscode" disabled="false" /> - </cell> - </row> - </rows> - </header> - <footer id="{b467c14d-33f6-4802-b016-11346e96b9e8}" columns="111"> - <rows> - <row> - <cell id="{3324598d-c0f2-463c-94ff-552424d779f6}" showlabel="false"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - <cell id="{88d78072-d395-4b28-4136-ec589e948c67}" showlabel="true" locklevel="0"> - <labels> - <label description="Created By" languagecode="1033" /> - </labels> - <control id="footer_createdby" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="createdby" disabled="true" /> - </cell> - <cell id="{c5754141-b740-8d55-4e10-2eb5182718dc}" showlabel="true" locklevel="0"> - <labels> - <label description="Created On" languagecode="1033" /> - </labels> - <control id="footer_createdon" classid="{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" datafieldname="createdon" disabled="true" /> - </cell> - </row> - </rows> - </footer> - <Navigation> - <NavBar /> - <NavBarAreas> - <NavBarArea Id="Info"> - <Titles> - <Title LCID="1033" Text="Common" /> - </Titles> - </NavBarArea> - <NavBarArea Id="Sales"> - <Titles> - <Title LCID="1033" Text="Sales" /> - </Titles> - </NavBarArea> - <NavBarArea Id="Service"> - <Titles> - <Title LCID="1033" Text="Service" /> - </Titles> - </NavBarArea> - <NavBarArea Id="Marketing"> - <Titles> - <Title LCID="1033" Text="Marketing" /> - </Titles> - </NavBarArea> - <NavBarArea Id="ProcessCenter"> - <Titles> - <Title LCID="1033" Text="Process Sessions" /> - </Titles> - </NavBarArea> - </NavBarAreas> - </Navigation> - <controlDescriptions /> - <DisplayConditions Order="0" FallbackForm="true" /> </form> <LocalizedNames> <LocalizedName description="Information" languagecode="1033" /> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}_managed.xml index 5a11746..bc274ff 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}_managed.xml @@ -5,22 +5,58 @@ <IntroducedVersion>0.0.1.0</IntroducedVersion> <FormPresentation>1</FormPresentation> <FormActivationState>1</FormActivationState> - <form headerdensity="HighWithControls" shownavigationbar="true" showImage="false" maxWidth="1920"> + <form headerdensity="HighWithControls" solutionaction="Modified"> <tabs> - <tab name="tab_azuredevops" id="061cc0d8-1fac-4421-bde2-98acb8971229" IsUserDefined="0" locklevel="0" showlabel="true" ordinalvalue="1" solutionaction="Added"> + <tab verticallayout="true" id="{80977aef-85bb-46cc-9c30-4ab517bee6bd}" IsUserDefined="1" name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}" locklevel="0" expanded="true" showlabel="false" ordinalvalue="0"> + <columns> + <column width="50%" id="0"> + <sections> + <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_4" id="5f174613-d7eb-4747-9761-153044e2e774" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115" ordinalvalue="1"> + <rows> + <row> + <cell id="{9aa15507-7008-c434-248d-d6284d3192bc}" showlabel="true" locklevel="0" visible="false" ordinalvalue="10002" solutionaction="Modified" /> + </row> + <row> + <cell id="{9f6cee94-c87d-4fe2-9da7-dd8fd03709e8}" locklevel="0" colspan="1" rowspan="1" visible="false" ordinalvalue="10001" solutionaction="Added"> + <labels> + <label description="Provision Environment Pipeline ID" languagecode="1033" /> + </labels> + <control id="devhub_provisionenvironmentpipelineid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_provisionenvironmentpipelineid" disabled="false" /> + </cell> + </row> + </rows> + </section> + </sections> + </column> + <column width="50%" id="1"> + <sections> + <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_5" id="003c5bb4-9e52-4f4c-b441-e6202b6706d0" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="111" labelwidth="115" ordinalvalue="0"> + <rows> + <row> + <cell locklevel="0" id="{62c18c99-9af6-46b6-8a46-090f9109a565}" showlabel="false" ordinalvalue="10003" solutionaction="Removed" /> + <cell showlabel="false" locklevel="0" id="{b3e525d7-31a5-47b9-be33-3f42eeffe0bf}" ordinalvalue="20004" solutionaction="Removed" /> + <cell showlabel="false" locklevel="0" id="{df0e9923-7171-4fac-bbeb-6deb101f825d}" ordinalvalue="30005" solutionaction="Removed" /> + </row> + </rows> + </section> + </sections> + </column> + </columns> + </tab> + <tab name="tab_AzureDevOps" id="db99d7e7-c601-463f-bc49-28eca8dd43ca" IsUserDefined="0" locklevel="0" showlabel="true" ordinalvalue="1" solutionaction="Added"> <labels> <label description="Azure DevOps" languagecode="1033" /> </labels> <columns> <column width="100%" id="0"> <sections> - <section name="tab_azuredevops_section_details" id="ee8da8ae-227e-4137-ad1e-93f255165759" IsUserDefined="0" locklevel="0" showlabel="false" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115" ordinalvalue="0"> + <section name="tab_AzureDevOps_section_General" id="4758ee6e-6608-4ebf-99d3-c637d60c119e" IsUserDefined="0" locklevel="0" showlabel="false" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115" ordinalvalue="0"> <labels> - <label description="Details" languagecode="1033" /> + <label description="General" languagecode="1033" /> </labels> <rows> <row> - <cell id="{ffa1d450-3f39-467a-b5a7-728ee70b2f5b}" locklevel="0" ordinalvalue="10000"> + <cell id="{fcd6f164-67ba-42da-8698-b958b7f289cf}" locklevel="0" ordinalvalue="10000"> <labels> <label description="Repository" languagecode="1033" /> </labels> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}.xml index d3b3861..42d42e7 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}.xml @@ -7,52 +7,17 @@ <FormActivationState>1</FormActivationState> <form> <tabs> - <tab id="F931FFE2-B873-473F-8F95-9502F0AA3F5E" name="tab_1" showlabel="false" labelid="{8020caf7-b2b9-4baa-8d41-ab4629054098}"> - <labels> - <label description="Tab" languagecode="1033" /> - </labels> + <tab id="F931FFE2-B873-473F-8F95-9502F0AA3F5E" name="tab_1" showlabel="false" labelid="{8020caf7-b2b9-4baa-8d41-ab4629054098}" ordinalvalue="0"> <columns> - <column width="34%"> + <column width="34%" id="0"> <sections> - <section id="0C655D4E-C6E3-424E-9AF5-71E72D30D12E" name="tab_1_column_1_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{c17490a0-dd8b-4dcc-b5ab-7235e721e984}"> - <labels> - <label description="Details" languagecode="1033" /> - </labels> + <section id="0C655D4E-C6E3-424E-9AF5-71E72D30D12E" name="tab_1_column_1_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{c17490a0-dd8b-4dcc-b5ab-7235e721e984}" ordinalvalue="0"> <rows> <row> - <cell id="{b648ad8e-3e5b-4271-97ad-7b00616d18ca}" locklevel="0" labelid="{43e7926a-ca33-4f30-ad93-0622287d1224}"> - <labels> - <label description="Display Name" languagecode="1033" /> - </labels> - <control id="devhub_displayname" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_displayname" disabled="false" /> - </cell> - </row> - <row> - <cell id="{7fb38d6b-5dbb-48b3-af34-ab7bf2eb2f86}" locklevel="0" labelid="{87618b3e-4f48-48af-9d82-ec8516ba767e}"> - <labels> - <label description="Unique Name" languagecode="1033" /> - </labels> - <control id="devhub_uniquename" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_uniquename" disabled="false" /> - </cell> + <cell id="{17d3d8e1-b5e6-42be-aac9-1aec73e6bf47}" locklevel="0" visible="true" ordinalvalue="10004" solutionaction="Modified" /> </row> <row> - <cell id="{7b1345bb-bebf-440d-b3f8-ef8706f7b605}" locklevel="0" labelid="{9760b1d1-4148-4453-accd-b7da0f269dbe}"> - <labels> - <label description="Description" languagecode="1033" /> - </labels> - <control id="devhub_description" classid="{E0DECE4B-6FC8-4A8F-A065-082708572369}" datafieldname="devhub_description" disabled="false" /> - </cell> - </row> - <row> - <cell id="{997e0daa-8e16-41db-b678-54182f2c78fb}" locklevel="0" labelid="{b7b04a4d-263c-4528-a2e7-8a60eda97443}"> - <labels> - <label description="Staging Environment" languagecode="1033" /> - </labels> - <control id="devhub_stagingenvironment" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_stagingenvironment" disabled="false" /> - </cell> - </row> - <row> - <cell id="{340a5a9e-c2d3-68a1-4456-7d700dd8341d}" showlabel="true" locklevel="0"> + <cell id="{b6fa6a48-09cd-4e81-a7fb-7ff23ce39d12}" locklevel="0" ordinalvalue="10003" solutionaction="Added"> <labels> <label description="Repository" languagecode="1033" /> </labels> @@ -63,54 +28,19 @@ </section> </sections> </column> - <column width="33%"> + <column width="33%" id="1"> <sections> - <section id="02DECBA0-3AE2-484D-A19F-C5353AF4F4F2" name="tab_1_column_2_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{2296ec5d-ba11-4b71-b468-3d865c935d5e}"> - <labels> - <label description="Version" languagecode="1033" /> - </labels> + <section id="02DECBA0-3AE2-484D-A19F-C5353AF4F4F2" name="tab_1_column_2_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{2296ec5d-ba11-4b71-b468-3d865c935d5e}" ordinalvalue="0"> <rows> <row> - <cell id="{715ed134-530b-44ff-a528-10dcd6dda760}" locklevel="0" labelid="{21cb009b-a5ca-4289-a674-dc5d4b1c1c66}"> - <labels> - <label description="Major Version" languagecode="1033" /> - </labels> - <control id="devhub_majorversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_majorversion" disabled="false" /> - </cell> - </row> - <row> - <cell id="{5758695a-8edd-47ec-8b21-ea3c9983ce39}" locklevel="0" labelid="{49e8cb39-92c3-4a05-a78e-285c543e2c07}"> - <labels> - <label description="Minor Version" languagecode="1033" /> - </labels> - <control id="devhub_minorversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_minorversion" disabled="false" /> - </cell> - </row> - <row> - <cell id="{4a8440d8-9057-42e8-867b-0d68fe7cd90f}" locklevel="0" labelid="{f424b533-c965-4f35-b62f-fa20f508a56d}"> - <labels> - <label description="Patch Version" languagecode="1033" /> - </labels> - <control id="devhub_patchversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_patchversion" disabled="false" /> - </cell> + <cell id="{997e0daa-8e16-41db-b678-54182f2c78fb}" locklevel="0" labelid="{b7b04a4d-263c-4528-a2e7-8a60eda97443}" showlabel="true" visible="false" ordinalvalue="10002" solutionaction="Modified" /> </row> - </rows> - </section> - </sections> - </column> - <column width="33%"> - <sections> - <section id="46FD66EA-B686-41D9-AAE0-C565BD78EC1F" name="tab_1_column_3_section_1" columns="1" showlabel="false" showbar="false" IsUserDefined="0" labelwidth="130" visible="false" labelid="{292c0228-cb8e-4ad0-aa69-5b8e74d8272c}"> - <labels> - <label description="Section" languagecode="1033" /> - </labels> - <rows> <row> - <cell id="{49e4d6c7-f98a-4377-8284-1545bdf455b9}" locklevel="0" visible="true" labelid="{3afe64d3-3eb4-42a1-89c5-3cf07eddaeaa}"> + <cell id="{5e9b6318-7f2b-46e6-aed2-5afdbfb7331b}" locklevel="0" colspan="1" rowspan="1" visible="false" ordinalvalue="10001" solutionaction="Added"> <labels> - <label description="Owner" languagecode="1033" /> + <label description="Provision Environment Pipeline ID" languagecode="1033" /> </labels> - <control id="ownerid" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="ownerid" disabled="false" /> + <control id="devhub_provisionenvironmentpipelineid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_provisionenvironmentpipelineid" disabled="false" /> </cell> </row> </rows> @@ -120,10 +50,6 @@ </columns> </tab> </tabs> - <DisplayConditions Order="0" FallbackForm="true"> - <Role Id="{627090ff-40a3-4053-8790-584edc5be201}" /> - <Role Id="{119f245c-3cc8-4b62-b31c-d1a046ced15d}" /> - </DisplayConditions> </form> <LocalizedNames> <LocalizedName description=" quick create form" languagecode="1033" /> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}_managed.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}_managed.xml index b76711c..42d42e7 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}_managed.xml @@ -14,7 +14,10 @@ <section id="0C655D4E-C6E3-424E-9AF5-71E72D30D12E" name="tab_1_column_1_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{c17490a0-dd8b-4dcc-b5ab-7235e721e984}" ordinalvalue="0"> <rows> <row> - <cell id="{340a5a9e-c2d3-68a1-4456-7d700dd8341d}" showlabel="true" locklevel="0" ordinalvalue="10004" solutionaction="Added"> + <cell id="{17d3d8e1-b5e6-42be-aac9-1aec73e6bf47}" locklevel="0" visible="true" ordinalvalue="10004" solutionaction="Modified" /> + </row> + <row> + <cell id="{b6fa6a48-09cd-4e81-a7fb-7ff23ce39d12}" locklevel="0" ordinalvalue="10003" solutionaction="Added"> <labels> <label description="Repository" languagecode="1033" /> </labels> @@ -25,6 +28,25 @@ </section> </sections> </column> + <column width="33%" id="1"> + <sections> + <section id="02DECBA0-3AE2-484D-A19F-C5353AF4F4F2" name="tab_1_column_2_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{2296ec5d-ba11-4b71-b468-3d865c935d5e}" ordinalvalue="0"> + <rows> + <row> + <cell id="{997e0daa-8e16-41db-b678-54182f2c78fb}" locklevel="0" labelid="{b7b04a4d-263c-4528-a2e7-8a60eda97443}" showlabel="true" visible="false" ordinalvalue="10002" solutionaction="Modified" /> + </row> + <row> + <cell id="{5e9b6318-7f2b-46e6-aed2-5afdbfb7331b}" locklevel="0" colspan="1" rowspan="1" visible="false" ordinalvalue="10001" solutionaction="Added"> + <labels> + <label description="Provision Environment Pipeline ID" languagecode="1033" /> + </labels> + <control id="devhub_provisionenvironmentpipelineid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_provisionenvironmentpipelineid" disabled="false" /> + </cell> + </row> + </rows> + </section> + </sections> + </column> </columns> </tab> </tabs> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solutionmerge/Entity.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solutionmerge/Entity.xml deleted file mode 100644 index 8e4a58a..0000000 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solutionmerge/Entity.xml +++ /dev/null @@ -1,155 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Entity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <Name LocalizedName="Solution Merge" OriginalName="Solution Merge">devhub_solutionmerge</Name> - <EntityInfo> - <entity Name="devhub_solutionmerge"> - <attributes> - <attribute PhysicalName="statecode"> - <Type>state</Type> - <Name>statecode</Name> - <LogicalName>statecode</LogicalName> - <RequiredLevel>systemrequired</RequiredLevel> - <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> - <ImeMode>auto</ImeMode> - <ValidForUpdateApi>1</ValidForUpdateApi> - <ValidForReadApi>1</ValidForReadApi> - <ValidForCreateApi>1</ValidForCreateApi> - <IsCustomField>0</IsCustomField> - <IsAuditEnabled>1</IsAuditEnabled> - <IsSecured>0</IsSecured> - <IntroducedVersion>0.1.12.0</IntroducedVersion> - <SourceType>0</SourceType> - <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> - <IsSortableEnabled>0</IsSortableEnabled> - <IsDataSourceSecret>0</IsDataSourceSecret> - <AutoNumberFormat></AutoNumberFormat> - <IsSearchable>0</IsSearchable> - <IsFilterable>1</IsFilterable> - <IsRetrievable>0</IsRetrievable> - <IsLocalizable>0</IsLocalizable> - <optionset Name="devhub_solutionmerge_statecode"> - <OptionSetType>state</OptionSetType> - <IntroducedVersion>0.1.12.0</IntroducedVersion> - <displaynames> - <displayname description="Status" languagecode="1033" /> - </displaynames> - <Descriptions> - <Description description="Status of the Solution Merge" languagecode="1033" /> - </Descriptions> - <states> - <state value="0" defaultstatus="1" invariantname="Active"> - <labels> - <label description="Active" languagecode="1033" /> - </labels> - </state> - <state value="1" defaultstatus="2" invariantname="Inactive"> - <labels> - <label description="Inactive" languagecode="1033" /> - </labels> - </state> - </states> - </optionset> - <displaynames> - <displayname description="Status" languagecode="1033" /> - </displaynames> - <Descriptions> - <Description description="Status of the Solution Merge" languagecode="1033" /> - </Descriptions> - </attribute> - <attribute PhysicalName="statuscode"> - <Type>status</Type> - <Name>statuscode</Name> - <LogicalName>statuscode</LogicalName> - <RequiredLevel>none</RequiredLevel> - <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> - <ImeMode>auto</ImeMode> - <ValidForUpdateApi>1</ValidForUpdateApi> - <ValidForReadApi>1</ValidForReadApi> - <ValidForCreateApi>1</ValidForCreateApi> - <IsCustomField>0</IsCustomField> - <IsAuditEnabled>1</IsAuditEnabled> - <IsSecured>0</IsSecured> - <IntroducedVersion>0.1.12.0</IntroducedVersion> - <SourceType>0</SourceType> - <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> - <IsSortableEnabled>0</IsSortableEnabled> - <IsDataSourceSecret>0</IsDataSourceSecret> - <AutoNumberFormat></AutoNumberFormat> - <IsSearchable>0</IsSearchable> - <IsFilterable>0</IsFilterable> - <IsRetrievable>0</IsRetrievable> - <IsLocalizable>0</IsLocalizable> - <optionset Name="devhub_solutionmerge_statuscode"> - <OptionSetType>status</OptionSetType> - <IntroducedVersion>0.1.12.0</IntroducedVersion> - <displaynames> - <displayname description="Status Reason" languagecode="1033" /> - </displaynames> - <Descriptions> - <Description description="Reason for the status of the Solution Merge" languagecode="1033" /> - </Descriptions> - <statuses> - <status value="1" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="1" tostatusid="353400000" /><allowedtransition sourcestatusid="1" tostatusid="353400005" /><allowedtransition sourcestatusid="1" tostatusid="2" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Awaiting Review" languagecode="1033" /> - </labels> - </status> - <status value="353400000" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400000" tostatusid="353400004" /><allowedtransition sourcestatusid="353400000" tostatusid="353400003" /><allowedtransition sourcestatusid="353400000" tostatusid="2" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Approved" languagecode="1033" /> - </labels> - </status> - <status value="353400004" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400004" tostatusid="353400000" /><allowedtransition sourcestatusid="353400004" tostatusid="353400003" /><allowedtransition sourcestatusid="353400004" tostatusid="2" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Queued" languagecode="1033" /> - </labels> - </status> - <status value="353400003" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400003" tostatusid="353400006" /><allowedtransition sourcestatusid="353400003" tostatusid="353400007" /><allowedtransition sourcestatusid="353400003" tostatusid="353400001" /><allowedtransition sourcestatusid="353400003" tostatusid="353400002" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Merging" languagecode="1033" /> - </labels> - </status> - <status value="353400002" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400002" tostatusid="353400000" /><allowedtransition sourcestatusid="353400002" tostatusid="353400003" /><allowedtransition sourcestatusid="353400002" tostatusid="2" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Failed" languagecode="1033" /> - </labels> - </status> - <status value="353400006" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400006" tostatusid="353400007" /><allowedtransition sourcestatusid="353400006" tostatusid="353400001" /><allowedtransition sourcestatusid="353400006" tostatusid="2" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Awaiting Manual Merge" languagecode="1033" /> - </labels> - </status> - <status value="353400007" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400007" tostatusid="353400001" /><allowedtransition sourcestatusid="353400007" tostatusid="2" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Awaiting PR Merge" languagecode="1033" /> - </labels> - </status> - <status value="2" state="1" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="2" tostatusid="1" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Cancelled" languagecode="1033" /> - </labels> - </status> - <status value="353400001" state="1" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices" />" Color="#0000ff"> - <labels> - <label description="Merged" languagecode="1033" /> - </labels> - </status> - <status value="353400005" state="1" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400005" tostatusid="1" /><allowedtransition sourcestatusid="353400005" tostatusid="2" /></allowedtransitions>" Color="#0000ff"> - <labels> - <label description="Rejected" languagecode="1033" /> - </labels> - </status> - </statuses> - </optionset> - <displaynames> - <displayname description="Status Reason" languagecode="1033" /> - </displaynames> - <Descriptions> - <Description description="Reason for the status of the Solution Merge" languagecode="1033" /> - </Descriptions> - </attribute> - </attributes> - </entity> - </EntityInfo> - <RibbonDiffXml /> -</Entity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solutionmerge/RibbonDiff.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solutionmerge/RibbonDiff.xml deleted file mode 100644 index 05dc610..0000000 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Entities/devhub_solutionmerge/RibbonDiff.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<RibbonDiffXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <CustomActions> - <CustomAction Id="devhub.devhub_solutionmerge.ApproveChanges.Button.CustomAction" Location="Mscrm.Form.devhub_solutionmerge.MainTab.Actions.Controls._children" Sequence="20"> - <CommandUIDefinition> - <Button Alt="$LocLabels:devhub.devhub_solutionmerge.ApproveChanges.Button.Alt" Command="devhub.devhub_solutionmerge.ApproveChanges.Command" Id="devhub.devhub_solutionmerge.ApproveChanges.Button" Image32by32="$webresource:devhub_/Images/devhub_pushchanges.svg" Image16by16="$webresource:devhub_/Images/devhub_pushchanges.svg" LabelText="$LocLabels:devhub.devhub_solutionmerge.ApproveChanges.Button.LabelText" Sequence="20" TemplateAlias="isv" ToolTipTitle="$LocLabels:devhub.devhub_solutionmerge.ApproveChanges.Button.ToolTipTitle" ToolTipDescription="$LocLabels:devhub.devhub_solutionmerge.ApproveChanges.Button.ToolTipDescription" ModernImage="$webresource:devhub_/Images/devhub_pushchanges.svg" /> - </CommandUIDefinition> - </CustomAction> - </CustomActions> - <Templates> - <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates> - </Templates> - <CommandDefinitions> - <CommandDefinition Id="devhub.devhub_solutionmerge.ApproveChanges.Command"> - <EnableRules> - <EnableRule Id="devhub.devhub_solutionmerge.IsAwaitingPRApproval.EnableRule" /> - </EnableRules> - <DisplayRules /> - <Actions> - <JavaScriptFunction FunctionName="DevelopmentHub.Develop.approve" Library="$webresource:devhub_/Js/develop.solutionmerge.ribbon.js"> - <CrmParameter Value="PrimaryControl" /> - </JavaScriptFunction> - </Actions> - </CommandDefinition> - </CommandDefinitions> - <RuleDefinitions> - <TabDisplayRules /> - <DisplayRules /> - <EnableRules> - <EnableRule Id="devhub.devhub_solutionmerge.IsAwaitingPRApproval.EnableRule"> - <ValueRule Field="statuscode" Value="353400007" Default="false" InvertResult="false" /> - </EnableRule> - </EnableRules> - </RuleDefinitions> - <LocLabels> - <LocLabel Id="devhub.devhub_solutionmerge.ApproveChanges.Button.Alt"> - <Titles> - <Title description="Approve changes" languagecode="1033" /> - </Titles> - </LocLabel> - <LocLabel Id="devhub.devhub_solutionmerge.ApproveChanges.Button.LabelText"> - <Titles> - <Title description="Approve changes" languagecode="1033" /> - </Titles> - </LocLabel> - <LocLabel Id="devhub.devhub_solutionmerge.ApproveChanges.Button.ToolTipDescription"> - <Titles> - <Title description="Approves latest changes from the development solution and updates the pull request." languagecode="1033" /> - </Titles> - </LocLabel> - <LocLabel Id="devhub.devhub_solutionmerge.ApproveChanges.Button.ToolTipTitle"> - <Titles> - <Title description="Approve changes" languagecode="1033" /> - </Titles> - </LocLabel> - </LocLabels> -</RibbonDiffXml> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Other/Customizations.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Other/Customizations.xml index ae37f8e..0e1c93f 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Other/Customizations.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Other/Customizations.xml @@ -15,7 +15,13 @@ <AppModules /> <EntityDataProviders /> <connectionreferences> - <connectionreference connectionreferencelogicalname="devhub_sharedapprovals_6d3fc"></connectionreference> + <connectionreference connectionreferencelogicalname="devhub_sharedcommondataserviceforapps_f7ca3"> + <connectionreferencedisplayname>Microsoft Dataverse</connectionreferencedisplayname> + <connectorid>/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps</connectorid> + <iscustomizable>1</iscustomizable> + <statecode>0</statecode> + <statuscode>1</statuscode> + </connectionreference> <connectionreference connectionreferencelogicalname="devhub_sharedvisualstudioteamservices_d7fcb"> <connectionreferencedisplayname>Azure DevOps</connectionreferencedisplayname> <connectorid>/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices</connectorid> @@ -23,7 +29,6 @@ <statecode>0</statecode> <statuscode>1</statuscode> </connectionreference> - <connectionreference connectionreferencelogicalname="devhub_sharedcommondataserviceforapps_f7ca3"></connectionreference> </connectionreferences> <Languages> <Language>1033</Language> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Other/Solution.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Other/Solution.xml index b290bed..17a8dec 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Other/Solution.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Other/Solution.xml @@ -1,12 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> -<ImportExportXml version="9.2.21021.143" SolutionPackageVersion="9.2" languagecode="1033" generatedBy="CrmLive" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<ImportExportXml version="9.2.22013.136" SolutionPackageVersion="9.2" languagecode="1033" generatedBy="CrmLive" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SolutionManifest> <UniqueName>devhub_DevelopmentHub_AzureDevOps</UniqueName> <LocalizedNames> <LocalizedName description="Development Hub - Azure DevOps" languagecode="1033" /> </LocalizedNames> <Descriptions /> - <Version>0.2.22</Version> + <Version>0.3.0</Version> <Managed>2</Managed> <Publisher> <UniqueName>developmenthub</UniqueName> @@ -84,24 +85,16 @@ <RootComponent type="1" schemaName="devhub_project" behavior="0" /> <RootComponent type="1" schemaName="devhub_repository" behavior="0" /> <RootComponent type="1" schemaName="devhub_solution" behavior="2" /> - <RootComponent type="1" schemaName="devhub_solutionmerge" behavior="2" /> <RootComponent type="9" schemaName="devhub_sourcecontrolstrategy" behavior="0" /> + <RootComponent type="29" id="{12868e8e-0501-ec11-94ef-000d3ad679ad}" behavior="0" /> <RootComponent type="29" id="{33e09501-b878-eb11-a812-000d3adc8f9a}" behavior="0" /> - <RootComponent type="29" id="{5004652f-f9b3-ea11-a812-000d3a86ad99}" behavior="0" /> + <RootComponent type="29" id="{5c023c93-0301-ec11-94ef-000d3ad679ad}" behavior="0" /> <RootComponent type="29" id="{828e3518-5b78-eb11-a812-000d3ab20581}" behavior="0" /> - <RootComponent type="29" id="{9bc32b76-754b-ea11-a812-000d3a0b8d0b}" behavior="0" /> + <RootComponent type="29" id="{b355c695-045d-ec11-8f8f-0022481a4539}" behavior="0" /> <RootComponent type="29" id="{b800019e-2c14-4941-9ade-39735dc93cf3}" behavior="0" /> - <RootComponent type="29" id="{c4e3b5c5-bd78-eb11-a812-000d3adc8abb}" behavior="0" /> <RootComponent type="29" id="{c53472fd-b978-eb11-a812-000d3adc8f9a}" behavior="0" /> <RootComponent type="29" id="{c768730f-d671-eb11-a812-000d3adb6517}" behavior="0" /> - <RootComponent type="60" id="{637990c3-2b78-eb11-a812-000d3ab314cb}" behavior="0" /> - <RootComponent type="60" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" behavior="0" /> - <RootComponent type="60" id="{9566d163-0a00-4c16-9274-2e5b6cf87421}" behavior="0" /> - <RootComponent type="60" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" behavior="0" /> - <RootComponent type="60" id="{c6c5322c-30c9-4984-a93e-7f9b1f2056bc}" behavior="0" /> - <RootComponent type="60" id="{cb116382-2b79-eb11-a812-002248414025}" /> - <RootComponent type="60" id="{cc49a47b-2e78-eb11-a812-000d3ab20581}" behavior="0" /> - <RootComponent type="60" id="{f2a1e497-d02a-43b1-8466-f2c2723ef745}" behavior="0" /> + <RootComponent type="29" id="{d8e04f54-0501-ec11-94ef-000d3ad679ad}" behavior="0" /> <RootComponent type="61" schemaName="devhub_/Images/devhub_project.svg" behavior="0" /> <RootComponent type="61" schemaName="devhub_/Images/devhub_pushchanges.svg" behavior="0" /> <RootComponent type="61" schemaName="devhub_/Images/devhub_repository.svg" behavior="0" /> @@ -110,220 +103,264 @@ </RootComponents> <MissingDependencies> <MissingDependency> - <Required key="0" type="1" schemaName="devhub_solutionmerge" displayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="0" type="1" schemaName="devhub_solutionmerge" displayName="Solution Merge" /> + <Required type="1" schemaName="devhub_environment" displayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="When a solution merge is pending merge -> Merge the solution merge" id="{12868e8e-0501-ec11-94ef-000d3ad679ad}" /> </MissingDependency> <MissingDependency> - <Required key="1" type="61" schemaName="devhub_/Images/devhub_solutionmerge.svg" displayName="devhub_/Images/devhub_solutionmerge.svg" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="0" type="1" schemaName="devhub_solutionmerge" displayName="Solution Merge" /> + <Required type="1" schemaName="devhub_environment" displayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="When an environment is pending provision -> Provision environment" id="{5c023c93-0301-ec11-94ef-000d3ad679ad}" /> </MissingDependency> <MissingDependency> - <Required key="2" type="1" schemaName="devhub_solution" displayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="2" type="1" schemaName="devhub_solution" displayName="Solution" /> + <Required type="1" schemaName="devhub_environment" displayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="When an environment is pending delete -> Delete the environment" id="{d8e04f54-0501-ec11-94ef-000d3ad679ad}" /> </MissingDependency> <MissingDependency> - <Required key="3" type="61" schemaName="devhub_/Images/devhub_solution.svg" displayName="devhub_/Images/devhub_solution.svg" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="2" type="1" schemaName="devhub_solution" displayName="Solution" /> + <Required type="1" schemaName="devhub_environment" displayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="62" schemaName="devhub_DevelopmentHub" /> </MissingDependency> <MissingDependency> - <Required key="4" type="1" schemaName="devhub_issue" displayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="4" type="1" schemaName="devhub_issue" displayName="Issue" /> + <Required type="1" schemaName="devhub_environment" displayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> </MissingDependency> <MissingDependency> - <Required key="5" type="61" schemaName="devhub_/Images/devhub_Issue.svg" displayName="devhub_/Images/devhub_Issue.svg" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="4" type="1" schemaName="devhub_issue" displayName="Issue" /> + <Required type="1" schemaName="devhub_issue" displayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="1" schemaName="devhub_issue" displayName="Issue" /> </MissingDependency> <MissingDependency> - <Required key="6" type="1" schemaName="devhub_environment" displayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="7" type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + <Required type="1" schemaName="devhub_solution" displayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="1" schemaName="devhub_solution" displayName="Solution" /> </MissingDependency> <MissingDependency> - <Required key="8" type="59" schemaName="Count per Day" displayName="Count per Day" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" id="{4f470eb3-9576-e911-a819-002248008902}" /> - <Dependent key="7" type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + <Required type="1" schemaName="devhub_solutionmerge" displayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="When a solution merge is pending merge -> Merge the solution merge" id="{12868e8e-0501-ec11-94ef-000d3ad679ad}" /> </MissingDependency> <MissingDependency> - <Required key="9" type="59" schemaName="Count by Owner" displayName="Count by Owner" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" id="{08600d52-9576-e911-a819-002248008902}" /> - <Dependent key="7" type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + <Required type="1" schemaName="devhub_solutionmerge" displayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="[Template] When a solution merge is committed to {{repository}} -> Update the solution merge status" id="{c768730f-d671-eb11-a812-000d3adb6517}" /> </MissingDependency> <MissingDependency> - <Required key="10" type="59" schemaName="Count by Type" displayName="Count by Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" id="{cb92cc2f-9576-e911-a819-002248008902}" /> - <Dependent key="7" type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + <Required type="1" schemaName="devhub_solutionmerge" displayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="11" type="60" displayName="Issues Dashboard" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" id="{899883f9-9876-e911-a819-002248008902}" /> - <Dependent key="7" type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + <Required type="1" schemaName="devhub_solutionmerge" displayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="62" schemaName="devhub_DevelopmentHub" /> </MissingDependency> <MissingDependency> - <Required key="12" type="61" schemaName="devhub_/Images/devhub_Logo.svg" displayName="devhub_/Images/devhub_Logo.svg" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="7" type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + <Required type="1" schemaName="devhub_solutionmerge" displayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> </MissingDependency> <MissingDependency> - <Required key="6" type="1" schemaName="devhub_environment" displayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="13" type="62" schemaName="devhub_DevelopmentHub" /> + <Required type="10" schemaName="devhub_environment_solution_StagingEnvironment" displayName="devhub_environment_solution_StagingEnvironment" parentSchemaName="devhub_environment" parentDisplayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="13" type="62" schemaName="devhub_DevelopmentHub" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="13" type="62" schemaName="devhub_DevelopmentHub" /> + <Required type="10" schemaName="devhub_environment_solution_StagingEnvironment" displayName="devhub_environment_solution_StagingEnvironment" parentSchemaName="devhub_environment" parentDisplayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="5" type="61" schemaName="devhub_/Images/devhub_Issue.svg" displayName="devhub_/Images/devhub_Issue.svg" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="13" type="62" schemaName="devhub_DevelopmentHub" /> + <Required type="10" schemaName="devhub_issue_solutionmerge_Issue" displayName="devhub_issue_solutionmerge_Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="14" type="1" schemaName="environmentvariabledefinition" displayName="Environment Variable Definition" solution="EnvironmentVariables (1.0.2.56)" /> - <Dependent key="15" type="29" displayName="Environment Variable Key -> Environment Variable Value" id="{9bc32b76-754b-ea11-a812-000d3a0b8d0b}" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_environment" parentDisplayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="When an environment is pending provision -> Provision environment" id="{5c023c93-0301-ec11-94ef-000d3ad679ad}" /> </MissingDependency> <MissingDependency> - <Required key="16" type="1" schemaName="environmentvariablevalue" displayName="Environment Variable Value" solution="EnvironmentVariables (1.0.2.56)" /> - <Dependent key="15" type="29" displayName="Environment Variable Key -> Environment Variable Value" id="{9bc32b76-754b-ea11-a812-000d3a0b8d0b}" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_environment" parentDisplayName="Environment" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="When an environment is pending delete -> Delete the environment" id="{d8e04f54-0501-ec11-94ef-000d3ad679ad}" /> </MissingDependency> <MissingDependency> - <Required key="17" type="29" displayName="When a solution merge is approved -> Merge the solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" id="{5004652f-f9b3-ea11-a812-000d3a86ad99}" /> - <Dependent key="17" type="29" displayName="When a solution merge is approved -> Merge the solution" id="{5004652f-f9b3-ea11-a812-000d3a86ad99}" /> + <Required type="2" schemaName="createdby" displayName="Created By" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="Active" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="18" type="29" displayName="Button -> Get access token" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" id="{db657a26-1d37-eb11-a813-000d3a0b97ca}" /> - <Dependent key="17" type="29" displayName="When a solution merge is approved -> Merge the solution" id="{5004652f-f9b3-ea11-a812-000d3a86ad99}" /> + <Required type="2" schemaName="createdon" displayName="Created On" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="19" type="2" schemaName="devhub_uniquename" displayName="Unique Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="21" type="2" schemaName="devhub_patchversion" displayName="Patch Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="devhub_developmentsolution" displayName="Development Solution" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="22" type="2" schemaName="devhub_stagingenvironment" displayName="Staging Environment" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="23" type="2" schemaName="devhub_minorversion" displayName="Minor Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="24" type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="devhub_url" displayName="URL" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="25" type="2" schemaName="devhub_displayname" displayName="Display Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="ownerid" displayName="Owner" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="Active" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="26" type="2" schemaName="devhub_majorversion" displayName="Major Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required key="27" type="2" schemaName="ownerid" displayName="Owner" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="Active" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="createdby" displayName="Created By" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="Active" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="28" type="10" schemaName="devhub_environment_solution_StagingEnvironment" displayName="devhub_environment_solution_StagingEnvironment" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="20" type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> + <Required type="2" schemaName="createdon" displayName="Created On" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="19" type="2" schemaName="devhub_uniquename" displayName="Unique Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_apptemplates" displayName="App Templates" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="22" type="2" schemaName="devhub_stagingenvironment" displayName="Staging Environment" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_apptemplates" displayName="App Templates" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="30" type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="27" type="2" schemaName="ownerid" displayName="Owner" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="Active" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="23" type="2" schemaName="devhub_minorversion" displayName="Minor Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_displayname" displayName="Display Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="Provision Environment Pipeline ID is mandatory when merge strategy is parallel" id="{b355c695-045d-ec11-8f8f-0022481a4539}" /> </MissingDependency> <MissingDependency> - <Required key="31" type="2" schemaName="createdon" displayName="Created On" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_displayname" displayName="Display Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="25" type="2" schemaName="devhub_displayname" displayName="Display Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_displayname" displayName="Display Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="26" type="2" schemaName="devhub_majorversion" displayName="Major Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_majorversion" displayName="Major Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="32" type="2" schemaName="createdby" displayName="Created By" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="Active" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_majorversion" displayName="Major Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="21" type="2" schemaName="devhub_patchversion" displayName="Patch Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_mergestrategy" displayName="Merge Strategy" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="Provision Environment Pipeline ID is mandatory when merge strategy is parallel" id="{b355c695-045d-ec11-8f8f-0022481a4539}" /> </MissingDependency> <MissingDependency> - <Required key="24" type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_mergestrategy" displayName="Merge Strategy" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="28" type="10" schemaName="devhub_environment_solution_StagingEnvironment" displayName="devhub_environment_solution_StagingEnvironment" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="29" type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> + <Required type="2" schemaName="devhub_mergestrategy" displayName="Merge Strategy" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="33" type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_minorversion" displayName="Minor Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="35" type="2" schemaName="createdby" displayName="Created By" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="Active" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_minorversion" displayName="Minor Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="36" type="2" schemaName="createdon" displayName="Created On" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_patchversion" displayName="Patch Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="37" type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_patchversion" displayName="Patch Version" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="38" type="2" schemaName="ownerid" displayName="Owner" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="Active" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_solutionid" displayName="Solution" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="Provision Environment Pipeline ID is mandatory when merge strategy is parallel" id="{b355c695-045d-ec11-8f8f-0022481a4539}" /> </MissingDependency> <MissingDependency> - <Required key="39" type="2" schemaName="devhub_developmentsolution" displayName="Development Solution" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_stagingenvironment" displayName="Staging Environment" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="40" type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_stagingenvironment" displayName="Staging Environment" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="41" type="2" schemaName="devhub_url" displayName="URL" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_uniquename" displayName="Unique Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="42" type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.1.11.3)" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="devhub_uniquename" displayName="Unique Name" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="43" type="10" schemaName="devhub_issue_solutionmerge_Issue" displayName="devhub_issue_solutionmerge_Issue" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="ownerid" displayName="Owner" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="Active" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="44" type="26" schemaName="All Solution Merges" displayName="All Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" id="{bcabbfd7-a184-e911-a97e-0022480186c3}" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="ownerid" displayName="Owner" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="Active" /> + <Dependent type="60" displayName=" quick create form" parentDisplayName="Solution" id="{cb116382-2b79-eb11-a812-002248414025}" /> </MissingDependency> <MissingDependency> - <Required key="45" type="26" schemaName="Active Solution Merges" displayName="Active Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" id="{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}" /> - <Dependent key="34" type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="60" displayName="Information" parentDisplayName="Solution" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" /> </MissingDependency> <MissingDependency> - <Required key="46" type="26" schemaName="Active Solutions" displayName="Active Solutions" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" id="{b387e88d-e36f-4847-b447-2e62155cd888}" /> - <Dependent key="47" type="60" displayName="Information" parentDisplayName="Repository" id="{f2a1e497-d02a-43b1-8466-f2c2723ef745}" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="29" displayName="When a solution merge is pending merge -> Merge the solution merge" id="{12868e8e-0501-ec11-94ef-000d3ad679ad}" /> </MissingDependency> <MissingDependency> - <Required key="48" type="9" schemaName="devhub_solutionmerge_statecode" displayName="Status" solution="devhub_DevelopmentHub_Develop (0.2.0.3)" /> - <Dependent key="48" type="9" schemaName="devhub_solutionmerge_statecode" displayName="Status" /> + <Required type="26" schemaName="Active Solutions" displayName="Active Solutions" parentSchemaName="devhub_solution" parentDisplayName="Solution" solution="devhub_DevelopmentHub_Develop (0.2.0)" id="{b387e88d-e36f-4847-b447-2e62155cd888}" /> + <Dependent type="60" displayName="Information" parentDisplayName="Repository" id="{f2a1e497-d02a-43b1-8466-f2c2723ef745}" /> + </MissingDependency> + <MissingDependency> + <Required type="26" schemaName="All Solution Merges" displayName="All Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0)" id="{bcabbfd7-a184-e911-a97e-0022480186c3}" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + </MissingDependency> + <MissingDependency> + <Required type="26" schemaName="Active Solution Merges" displayName="Active Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" solution="devhub_DevelopmentHub_Develop (0.2.0)" id="{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}" /> + <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> + </MissingDependency> + <MissingDependency> + <Required type="59" schemaName="Count by Owner" displayName="Count by Owner" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{08600d52-9576-e911-a819-002248008902}" /> + <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + </MissingDependency> + <MissingDependency> + <Required type="59" schemaName="Count per Day" displayName="Count per Day" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{4f470eb3-9576-e911-a819-002248008902}" /> + <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + </MissingDependency> + <MissingDependency> + <Required type="59" schemaName="Count by Type" displayName="Count by Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{cb92cc2f-9576-e911-a819-002248008902}" /> + <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + </MissingDependency> + <MissingDependency> + <Required type="60" displayName="Issues Dashboard" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{899883f9-9876-e911-a819-002248008902}" /> + <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + </MissingDependency> + <MissingDependency> + <Required type="61" schemaName="devhub_/Images/devhub_Issue.svg" displayName="devhub_/Images/devhub_Issue.svg" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="1" schemaName="devhub_issue" displayName="Issue" /> + </MissingDependency> + <MissingDependency> + <Required type="61" schemaName="devhub_/Images/devhub_Issue.svg" displayName="devhub_/Images/devhub_Issue.svg" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="62" schemaName="devhub_DevelopmentHub" /> + </MissingDependency> + <MissingDependency> + <Required type="61" schemaName="devhub_/Images/devhub_Logo.svg" displayName="devhub_/Images/devhub_Logo.svg" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> + </MissingDependency> + <MissingDependency> + <Required type="61" schemaName="devhub_/Images/devhub_solution.svg" displayName="devhub_/Images/devhub_solution.svg" solution="devhub_DevelopmentHub_Develop (0.2.0)" /> + <Dependent type="1" schemaName="devhub_solution" displayName="Solution" /> + </MissingDependency> + <MissingDependency> + <Required type="62" schemaName="devhub_DevelopmentHub" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Dependent type="62" schemaName="devhub_DevelopmentHub" /> </MissingDependency> </MissingDependencies> </SolutionManifest> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/EnvironmentVariableKey-EnvironmentVariableValue-9BC32B76-754B-EA11-A812-000D3A0B8D0B.json b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/EnvironmentVariableKey-EnvironmentVariableValue-9BC32B76-754B-EA11-A812-000D3A0B8D0B.json deleted file mode 100644 index 6dbba23..0000000 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/EnvironmentVariableKey-EnvironmentVariableValue-9BC32B76-754B-EA11-A812-000D3A0B8D0B.json +++ /dev/null @@ -1 +0,0 @@ -{"properties":{"connectionReferences":{"shared_commondataserviceforapps":{"runtimeSource":"embedded","connection":{},"api":{"name":"shared_commondataserviceforapps"}}},"definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"},"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"manual":{"type":"Request","kind":"Button","inputs":{"schema":{"type":"object","properties":{"text":{"title":"Environment Variable Key","type":"string","x-ms-dynamically-added":true,"description":"Please enter the key of the environment variable to retrieve.","x-ms-content-hint":"TEXT"}},"required":["text"]}}}},"actions":{"List_Envionment_Variable_Definitions":{"runAfter":{"Initialize_variable":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"ListRecords","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"environmentvariabledefinitions","$filter":"schemaname eq '@{triggerBody()['text']}'"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}}},"Apply_to_each_definition":{"foreach":"@outputs('List_Envionment_Variable_Definitions')?['body/value']","actions":{"Set_default_environment_variable_value":{"runAfter":{},"type":"SetVariable","inputs":{"name":"Environment Variable Value","value":"@items('Apply_to_each_definition')?['defaultvalue']"}},"List_Environment_Variable_Values":{"runAfter":{"Set_default_environment_variable_value":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"ListRecords","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"environmentvariablevalues","$filter":"_environmentvariabledefinitionid_value eq @{items('Apply_to_each_definition')?['environmentvariabledefinitionid']}"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}}},"Apply_to_each_value":{"foreach":"@outputs('List_Environment_Variable_Values')?['body/value']","actions":{"Set_current_environment_variable_value":{"runAfter":{},"type":"SetVariable","inputs":{"name":"Environment Variable Value","value":"@items('Apply_to_each_value')?['value']"}}},"runAfter":{"List_Environment_Variable_Values":["Succeeded"]},"type":"Foreach"}},"runAfter":{"List_Envionment_Variable_Definitions":["Succeeded"]},"type":"Foreach"},"Initialize_variable":{"runAfter":{},"type":"InitializeVariable","inputs":{"variables":[{"name":"Environment Variable Value","type":"String"}]}},"Respond_to_a_PowerApp_or_flow":{"runAfter":{"Apply_to_each_definition":["Succeeded"]},"type":"Response","kind":"PowerApp","inputs":{"statusCode":200,"body":{"environment_variable_value":"@variables('Environment Variable Value')"},"schema":{"type":"object","properties":{"environment_variable_value":{"title":"Environment Variable Value","x-ms-dynamically-added":true,"type":"string"}}}}}},"outputs":{}}},"schemaVersion":"1.0.0.0"} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Ifprojectiscreated-Lockname-C53472FD-B978-EB11-A812-000D3ADC8F9A.xaml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Ifprojectiscreated-Lockname-C53472FD-B978-EB11-A812-000D3ADC8F9A.xaml index 288722f..a912c50 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Ifprojectiscreated-Lockname-C53472FD-B978-EB11-A812-000D3ADC8F9A.xaml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Ifprojectiscreated-Lockname-C53472FD-B978-EB11-A812-000D3ADC8F9A.xaml @@ -1,14 +1,14 @@ -<Activity x:Class="XrmWorkflow00000000000000000000000000000000" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> +<Activity x:Class="XrmWorkflowc53472fdb978eb11a812000d3adc8f9a" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <x:Members> <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> </x:Members> - <this:XrmWorkflow00000000000000000000000000000000.InputEntities> + <this:XrmWorkflowc53472fdb978eb11a812000d3adc8f9a.InputEntities> <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> - </this:XrmWorkflow00000000000000000000000000000000.InputEntities> - <this:XrmWorkflow00000000000000000000000000000000.CreatedEntities> + </this:XrmWorkflowc53472fdb978eb11a812000d3adc8f9a.InputEntities> + <this:XrmWorkflowc53472fdb978eb11a812000d3adc8f9a.CreatedEntities> <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> - </this:XrmWorkflow00000000000000000000000000000000.CreatedEntities> + </this:XrmWorkflowc53472fdb978eb11a812000d3adc8f9a.CreatedEntities> <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> <mxswa:Workflow> <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/IfrepositorystatusisLinkingrepository-Lockflowtrig-33E09501-B878-EB11-A812-000D3ADC8F9A.xaml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/IfrepositorystatusisLinkingrepository-Lockflowtrig-33E09501-B878-EB11-A812-000D3ADC8F9A.xaml index 5b6432e..7c126a7 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/IfrepositorystatusisLinkingrepository-Lockflowtrig-33E09501-B878-EB11-A812-000D3ADC8F9A.xaml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/IfrepositorystatusisLinkingrepository-Lockflowtrig-33E09501-B878-EB11-A812-000D3ADC8F9A.xaml @@ -1,14 +1,14 @@ -<Activity x:Class="XrmWorkflow00000000000000000000000000000000" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> +<Activity x:Class="XrmWorkflow33e09501b878eb11a812000d3adc8f9a" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <x:Members> <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> </x:Members> - <this:XrmWorkflow00000000000000000000000000000000.InputEntities> + <this:XrmWorkflow33e09501b878eb11a812000d3adc8f9a.InputEntities> <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> - </this:XrmWorkflow00000000000000000000000000000000.InputEntities> - <this:XrmWorkflow00000000000000000000000000000000.CreatedEntities> + </this:XrmWorkflow33e09501b878eb11a812000d3adc8f9a.InputEntities> + <this:XrmWorkflow33e09501b878eb11a812000d3adc8f9a.CreatedEntities> <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> - </this:XrmWorkflow00000000000000000000000000000000.CreatedEntities> + </this:XrmWorkflow33e09501b878eb11a812000d3adc8f9a.CreatedEntities> <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> <mxswa:Workflow> <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> @@ -79,7 +79,7 @@ <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> <mxswa:ActivityReference.Arguments> <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> - <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.Boolean, "true" }]</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.Boolean, "True" }]</InArgument> <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Boolean" /> </InArgument> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/ProvisionEnvironmentPipelineIDismandatorywhenmerge-B355C695-045D-EC11-8F8F-0022481A4539.xaml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/ProvisionEnvironmentPipelineIDismandatorywhenmerge-B355C695-045D-EC11-8F8F-0022481A4539.xaml new file mode 100644 index 0000000..eb7453e --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/ProvisionEnvironmentPipelineIDismandatorywhenmerge-B355C695-045D-EC11-8F8F-0022481A4539.xaml @@ -0,0 +1,133 @@ +<Activity x:Class="XrmWorkflow00000000000000000000000000000000" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow00000000000000000000000000000000.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow00000000000000000000000000000000.InputEntities> + <this:XrmWorkflow00000000000000000000000000000000.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow00000000000000000000000000000000.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="True" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_1" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_mergestrategy" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400001", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep1: Show Provision Environment Pipeline ID"> + <mcwc:SetVisibility ControlId="devhub_provisionenvironmentpipelineid" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="True" /> + </Sequence> + <Sequence DisplayName="SetFieldRequiredLevelStep3: Require Provision Environment Pipeline ID"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_provisionenvironmentpipelineid" ControlType="standard" DisplayName="SetFieldRequiredLevelStep3" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" RequiredLevel="Required" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">If Merge Strategy is Parallel</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.Boolean, "true" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Boolean" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep3_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[True]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep2: Hide Provision Environment Pipeline ID"> + <mcwc:SetVisibility ControlId="devhub_provisionenvironmentpipelineid" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="False" /> + </Sequence> + <Sequence DisplayName="SetFieldRequiredLevelStep4: Don't require Provision Environment Pipeline ID"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_provisionenvironmentpipelineid" ControlType="standard" DisplayName="SetFieldRequiredLevelStep4" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" RequiredLevel="None" /> + </Sequence> + <Sequence DisplayName="SetAttributeValueStep5: Clear Provision Environment Pipeline ID"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="SetAttributeValueStep5_1" /> + </Sequence.Variables> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mxswa:SetEntityProperty Attribute="devhub_provisionenvironmentpipelineid" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" Value="[SetAttributeValueStep5_1]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:String" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mcwc:SetAttributeValue DisplayName="SetAttributeValueStep5" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" /> + <Assign x:TypeArguments="mxs:Entity" To="[InputEntities("primaryEntity")]" Value="[CreatedEntities("primaryEntity#Temp")]" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description"></x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/ProvisionEnvironmentPipelineIDismandatorywhenmerge-B355C695-045D-EC11-8F8F-0022481A4539.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/ProvisionEnvironmentPipelineIDismandatorywhenmerge-B355C695-045D-EC11-8F8F-0022481A4539.xaml.data.xml new file mode 100644 index 0000000..fcec0ed --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/ProvisionEnvironmentPipelineIDismandatorywhenmerge-B355C695-045D-EC11-8F8F-0022481A4539.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{b355c695-045d-ec11-8f8f-0022481a4539}" Name="Provision Environment Pipeline ID is mandatory when merge strategy is parallel" Description="A parallel merge strategy requires an environment to be provisioned for each pull request. The pipeline identified by the provided ID will be ran to provision an environment for this solution." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/ProvisionEnvironmentPipelineIDismandatorywhenmerge-B355C695-045D-EC11-8F8F-0022481A4539.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.22</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_solution</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Provision Environment Pipeline ID is mandatory when merge strategy is parallel" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="A parallel merge strategy requires an environment to be provisioned for each pull request. The pipeline identified by the provided ID will be ran to provision an environment for this solution." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/TemplateWhenasolutionmergeiscommittedtorepository--C768730F-D671-EB11-A812-000D3ADB6517.json b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/TemplateWhenasolutionmergeiscommittedtorepository--C768730F-D671-EB11-A812-000D3ADB6517.json index ea60410..f5d009b 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/TemplateWhenasolutionmergeiscommittedtorepository--C768730F-D671-EB11-A812-000D3ADB6517.json +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/TemplateWhenasolutionmergeiscommittedtorepository--C768730F-D671-EB11-A812-000D3ADB6517.json @@ -1 +1,215 @@ -{"properties":{"connectionReferences":{"shared_visualstudioteamservices":{"runtimeSource":"embedded","connection":{"connectionReferenceLogicalName":"devhub_sharedvisualstudioteamservices_d7fcb"},"api":{"name":"shared_visualstudioteamservices"}},"shared_commondataserviceforapps":{"runtimeSource":"embedded","connection":{"connectionReferenceLogicalName":"devhub_sharedcommondataserviceforapps_f7ca3"},"api":{"name":"shared_commondataserviceforapps"}}},"definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"},"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"When_code_is_pushed_(Git)":{"recurrence":{"interval":1,"frequency":"Minute"},"splitOn":"@triggerOutputs()?['body/value']","type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_visualstudioteamservices","operationId":"OnGitPush","apiId":"/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices"},"parameters":{"account":"{{organisation}}","project":"{{project}}","repository":"{{repository}}","refName":"refs/heads/{{targetbranch}}"},"authentication":"@parameters('$authentication')"}}},"actions":{"Get_the_commit":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_visualstudioteamservices","operationId":"HttpRequest","apiId":"/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices"},"parameters":{"account":"{{organisation}}","parameters/Method":"GET","parameters/Uri":"{{project}}/_apis/git/repositories/{{repository}}/commits/@{triggerBody()?['refUpdates']?[0]?['newObjectId']}?api-version=6.0"},"authentication":"@parameters('$authentication')"}},"If_issue_is_feature":{"actions":{"Update_solution_minor_version":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutions","recordId":"@outputs('Get_the_issue_and_target_solution')?['body/_devhub_targetsolution_value']","item/devhub_minorversion":"@add(outputs('Get_the_issue_and_target_solution')?['body/devhub_targetsolution/devhub_minorversion'], 1)"},"authentication":"@parameters('$authentication')"}}},"runAfter":{"Get_the_issue_and_target_solution":["Succeeded"]},"else":{"actions":{"Update_solution_patch_version":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutions","recordId":"@outputs('Get_the_issue_and_target_solution')?['body/_devhub_targetsolution_value']","item/devhub_patchversion":"@add(outputs('Get_the_issue_and_target_solution')?['body/devhub_targetsolution/devhub_patchversion'], 1)"},"authentication":"@parameters('$authentication')"}}}},"expression":{"equals":["@outputs('Get_the_issue_and_target_solution')?['body/devhub_issue/devhub_type']",353400001]},"type":"If"},"Get_the_issue_and_target_solution":{"runAfter":{"If_the_commit_is_not_linked_to_solution_merge":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"GetItem","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@substring(split(body('Get_the_commit')?['comment'], 'Solution-merge-id: ')[1], 0, 36)","$expand":"devhub_Issue($select=devhub_type,devhub_developmentsolution),devhub_TargetSolution($select=devhub_minorversion,devhub_patchversion)"},"authentication":"@parameters('$authentication')"}},"Update_the_solution_merge_to_'Merged'":{"runAfter":{"If_issue_is_feature":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@substring(split(body('Get_the_commit')?['comment'], 'Solution-merge-id: ')[1], 0, 36)","item/statecode":1,"item/statuscode":353400001},"authentication":"@parameters('$authentication')"}},"If_the_commit_is_not_linked_to_solution_merge":{"actions":{"Cancel":{"runAfter":{},"type":"Terminate","inputs":{"runStatus":"Cancelled"}}},"runAfter":{"Get_the_commit":["Succeeded"]},"expression":{"equals":["@length(split(body('Get_the_commit')?['comment'], 'Solution-merge-id: '))",1]},"type":"If"}},"outputs":{}}},"schemaVersion":"1.0.0.0"} \ No newline at end of file +{ + "properties": { + "connectionReferences": { + "shared_visualstudioteamservices": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedvisualstudioteamservices_d7fcb" + }, + "api": { + "name": "shared_visualstudioteamservices" + } + }, + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + } + }, + "triggers": { + "When_code_is_pushed_(Git)": { + "recurrence": { + "interval": 3, + "frequency": "Minute" + }, + "splitOn": "@triggerOutputs()?['body/value']", + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_visualstudioteamservices", + "operationId": "OnGitPush", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices" + }, + "parameters": { + "account": "{{organisation}}", + "project": "{{project}}", + "repository": "{{repository}}", + "refName": "refs/heads/{{targetbranch}}" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "actions": { + "Get_the_commit": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_visualstudioteamservices", + "operationId": "HttpRequest", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices" + }, + "parameters": { + "account": "{{organisation}}", + "parameters/Method": "GET", + "parameters/Uri": "{{project}}/_apis/git/repositories/{{repository}}/commits/@{triggerBody()?['refUpdates']?[0]?['newObjectId']}?api-version=6.0" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_the_issue_and_target_solution": { + "runAfter": { + "If_the_commit_is_not_linked_to_solution_merge": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "recordId": "@substring(split(body('Get_the_commit')?['comment'], 'Solution-merge-id: ')[1], 0, 36)", + "$expand": "devhub_Issue($select=devhub_type,devhub_developmentsolution),devhub_TargetSolution($select=devhub_minorversion,devhub_patchversion)" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Update_the_solution_merge_to_'Merged'": { + "runAfter": { + "If_the_solution_merge_strategy_is_sequential": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "recordId": "@substring(split(body('Get_the_commit')?['comment'], 'Solution-merge-id: ')[1], 0, 36)", + "item/statecode": 1, + "item/statuscode": 353400001 + }, + "authentication": "@parameters('$authentication')" + } + }, + "If_the_commit_is_not_linked_to_solution_merge": { + "actions": { + "Cancel": { + "runAfter": {}, + "type": "Terminate", + "inputs": { + "runStatus": "Cancelled" + } + } + }, + "runAfter": { + "Get_the_commit": [ + "Succeeded" + ] + }, + "expression": { + "equals": [ + "@length(split(body('Get_the_commit')?['comment'], 'Solution-merge-id: '))", + 1 + ] + }, + "type": "If" + }, + "If_the_solution_merge_strategy_is_sequential": { + "actions": { + "If_issue_is_feature": { + "actions": { + "Update_solution_minor_version": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutions", + "recordId": "@outputs('Get_the_issue_and_target_solution')?['body/_devhub_targetsolution_value']", + "item/devhub_minorversion": "@add(outputs('Get_the_issue_and_target_solution')?['body/devhub_targetsolution/devhub_minorversion'], 1)" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "runAfter": {}, + "else": { + "actions": { + "Update_solution_patch_version": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutions", + "recordId": "@outputs('Get_the_issue_and_target_solution')?['body/_devhub_targetsolution_value']", + "item/devhub_patchversion": "@add(outputs('Get_the_issue_and_target_solution')?['body/devhub_targetsolution/devhub_patchversion'], 1)" + }, + "authentication": "@parameters('$authentication')" + } + } + } + }, + "expression": { + "equals": [ + "@outputs('Get_the_issue_and_target_solution')?['body/devhub_issue/devhub_type']", + 353400001 + ] + }, + "type": "If" + } + }, + "runAfter": { + "Get_the_issue_and_target_solution": [ + "Succeeded" + ] + }, + "expression": { + "equals": [ + "@outputs('Get_the_issue_and_target_solution')?['body/devhub_mergestrategy']", + 353400000 + ] + }, + "type": "If" + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/TemplateWhenasolutionmergeiscommittedtorepository--C768730F-D671-EB11-A812-000D3ADB6517.json.data.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/TemplateWhenasolutionmergeiscommittedtorepository--C768730F-D671-EB11-A812-000D3ADB6517.json.data.xml index 34850f3..d2deb6f 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/TemplateWhenasolutionmergeiscommittedtorepository--C768730F-D671-EB11-A812-000D3ADB6517.json.data.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/TemplateWhenasolutionmergeiscommittedtorepository--C768730F-D671-EB11-A812-000D3ADB6517.json.data.xml @@ -17,7 +17,6 @@ <IsTransacted>1</IsTransacted> <IntroducedVersion>0.2.1</IntroducedVersion> <IsCustomizable>1</IsCustomizable> - <BusinessProcessType>0</BusinessProcessType> <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> <PrimaryEntity>none</PrimaryEntity> <LocalizedNames> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingdelete-Deletetheenvironm-D8E04F54-0501-EC11-94EF-000D3AD679AD.json b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingdelete-Deletetheenvironm-D8E04F54-0501-EC11-94EF-000D3AD679AD.json new file mode 100644 index 0000000..3aca0f1 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingdelete-Deletetheenvironm-D8E04F54-0501-EC11-94EF-000D3AD679AD.json @@ -0,0 +1,145 @@ +{ + "properties": { + "connectionReferences": { + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + }, + "shared_visualstudioteamservices": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedvisualstudioteamservices_d7fcb" + }, + "api": { + "name": "shared_visualstudioteamservices" + } + }, + "shared_commondataserviceforapps_1": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + }, + "Azure DevOps Organization": { + "defaultValue": "ewingjm", + "type": "String", + "metadata": { + "schemaName": "devhub_AzureDevOpsOrganization", + "description": "The name of the Azure DevOps organization which contains the source code for the target solutions." + } + } + }, + "triggers": { + "When_an_environment_is_pending_delete": { + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps_1", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 3, + "subscriptionRequest/entityname": "devhub_environment", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "statuscode eq 353400003" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "actions": { + "Get_the_project's_delete_environment_pipeline": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutions", + "recordId": "@triggerOutputs()?['body/_devhub_solution_value']", + "$select": "devhub_uniquename", + "$expand": "devhub_Repository($select=devhub_name;$expand=devhub_Project($select=devhub_deleteenvironmentpipelineid, devhub_name))" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Queue_a_new_delete_environment_run": { + "runAfter": { + "Check_delete_pipeline_is_configured": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_visualstudioteamservices", + "operationId": "QueueNewBuild", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices" + }, + "parameters": { + "account": "@parameters('Azure DevOps Organization')", + "project": "@outputs('Get_the_project''s_delete_environment_pipeline')?['body/devhub_repository/devhub_project/devhub_name']", + "buildDefId": "@outputs('Get_the_project''s_delete_environment_pipeline')?['body/devhub_repository/devhub_project/devhub_deleteenvironmentpipelineid']", + "buildDetails/parameters": "{\n\"DevelopmentHub.DevelopmentEnvironment.Name\": \"@{workflow()['tags']['environmentName']}\",\n\"DevelopmentHub.DevelopmentEnvironment.Url\": \"@{uriHost(outputs('Get_the_project''s_delete_environment_pipeline')?['body/@odata.id'])}\",\n\"DevelopmentHub.ExtractEnvironment.DisplayName\": \"@{triggerOutputs()?['body/devhub_name']}\",\n\"DevelopmentHub.ExtractEnvironment.RecordId\": \"@{triggerOutputs()?['body/devhub_environmentid']}\",\n\"DevelopmentHub.ExtractEnvironment.Url\": \"@{triggerOutputs()?['body/devhub_url']}\"\n}" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Check_delete_pipeline_is_configured": { + "actions": { + "Terminate": { + "runAfter": {}, + "type": "Terminate", + "inputs": { + "runStatus": "Failed", + "runError": { + "message": "Failed to delete environment as a delete environment pipeline definition ID has not been configured for the project." + } + } + } + }, + "runAfter": { + "Get_the_project's_delete_environment_pipeline": [ + "Succeeded" + ] + }, + "expression": { + "equals": [ + "@outputs('Get_the_project''s_delete_environment_pipeline')?['body/devhub_repository/devhub_project/devhub_deleteenvironmentpipelineid']", + "@null" + ] + }, + "type": "If" + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/EnvironmentVariableKey-EnvironmentVariableValue-9BC32B76-754B-EA11-A812-000D3A0B8D0B.json.data.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingdelete-Deletetheenvironm-D8E04F54-0501-EC11-94EF-000D3AD679AD.json.data.xml similarity index 57% rename from src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/EnvironmentVariableKey-EnvironmentVariableValue-9BC32B76-754B-EA11-A812-000D3A0B8D0B.json.data.xml rename to src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingdelete-Deletetheenvironm-D8E04F54-0501-EC11-94EF-000D3AD679AD.json.data.xml index ff4f28e..c2aa2fd 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/EnvironmentVariableKey-EnvironmentVariableValue-9BC32B76-754B-EA11-A812-000D3A0B8D0B.json.data.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingdelete-Deletetheenvironm-D8E04F54-0501-EC11-94EF-000D3AD679AD.json.data.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<Workflow WorkflowId="{9bc32b76-754b-ea11-a812-000d3a0b8d0b}" Name="Environment Variable Key -> Environment Variable Value" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <JsonFileName>/Workflows/EnvironmentVariableKey-EnvironmentVariableValue-9BC32B76-754B-EA11-A812-000D3A0B8D0B.json</JsonFileName> +<Workflow WorkflowId="{d8e04f54-0501-ec11-94ef-000d3ad679ad}" Name="When an environment is pending delete -> Delete the environment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <JsonFileName>/Workflows/Whenanenvironmentispendingdelete-Deletetheenvironm-D8E04F54-0501-EC11-94EF-000D3AD679AD.json</JsonFileName> <Type>1</Type> <Subprocess>0</Subprocess> <Category>5</Category> @@ -15,11 +15,11 @@ <StatusCode>2</StatusCode> <RunAs>1</RunAs> <IsTransacted>1</IsTransacted> - <IntroducedVersion>1.0</IntroducedVersion> + <IntroducedVersion>0.2.22</IntroducedVersion> <IsCustomizable>1</IsCustomizable> <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> <PrimaryEntity>none</PrimaryEntity> <LocalizedNames> - <LocalizedName languagecode="1033" description="Environment Variable Key -> Environment Variable Value" /> + <LocalizedName languagecode="1033" description="When an environment is pending delete -> Delete the environment" /> </LocalizedNames> </Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingprovision-Provisionenvir-5C023C93-0301-EC11-94EF-000D3AD679AD.json b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingprovision-Provisionenvir-5C023C93-0301-EC11-94EF-000D3AD679AD.json new file mode 100644 index 0000000..04fa6cb --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingprovision-Provisionenvir-5C023C93-0301-EC11-94EF-000D3AD679AD.json @@ -0,0 +1,175 @@ +{ + "properties": { + "connectionReferences": { + "shared_visualstudioteamservices": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedvisualstudioteamservices_d7fcb" + }, + "api": { + "name": "shared_visualstudioteamservices" + } + }, + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + }, + "Azure DevOps Organization": { + "defaultValue": "ewingjm", + "type": "String", + "metadata": { + "schemaName": "devhub_AzureDevOpsOrganization", + "description": "The name of the Azure DevOps organization which contains the source code for the target solutions." + } + } + }, + "triggers": { + "When_an_environment's_status_is_updated_to_pending_provision": { + "metadata": { + "operationMetadataId": "eaaaa008-0648-4411-89f5-3653a2f89fc5" + }, + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 4, + "subscriptionRequest/entityname": "devhub_environment", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "statuscode eq 353400004" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "actions": { + "Queue_a_new_provision_environment_run": { + "runAfter": { + "Check_provision_pipeline_is_configured": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "86f5fedb-5d7a-4770-904d-4e0172062e6f" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_visualstudioteamservices", + "operationId": "QueueNewBuild", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices" + }, + "parameters": { + "account": "@parameters('Azure DevOps Organization')", + "project": "@outputs('Get_the_project''s_provision_environment_pipeline')?['body/devhub_repository/devhub_project/devhub_name']", + "buildDefId": "@outputs('Get_the_project''s_provision_environment_pipeline')?['body/devhub_provisionenvironmentpipelineid']", + "buildDetails/parameters": "{\n\"DevelopmentHub.DevelopmentEnvironment.Name\": \"@{workflow()['tags']['environmentName']}\",\n\"DevelopmentHub.DevelopmentEnvironment.Url\": \"@{uriHost(outputs('Get_the_project''s_provision_environment_pipeline')?['body/@odata.id'])}\",\n\"DevelopmentHub.ExtractEnvironment.DisplayName\": \"@{triggerOutputs()?['body/devhub_name']}\",\n\"DevelopmentHub.ExtractEnvironment.RecordId\": \"@{triggerOutputs()?['body/devhub_environmentid']}\",\n\"DevelopmentHub.TargetSolution.Name\": \"@{outputs('Get_the_project''s_provision_environment_pipeline')?['body/devhub_uniquename']}\",\n\"DevelopmentHub.TargetSolution.AppTemplates\": \"@{if(not(equals(outputs('Get_the_project''s_provision_environment_pipeline')?['body/devhub_apptemplates@OData.Community.Display.V1.FormattedValue'], null)), replace(outputs('Get_the_project''s_provision_environment_pipeline')?['body/devhub_apptemplates@OData.Community.Display.V1.FormattedValue'], ';', ','), '')}\",\n\"DevelopmentHub.TargetSolution.Repository\": \"@{outputs('Get_the_project''s_provision_environment_pipeline')?['body/devhub_repository/devhub_name']}\"\n}" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_the_project's_provision_environment_pipeline": { + "runAfter": {}, + "metadata": { + "operationMetadataId": "ff95ece7-2099-4f73-bb94-16ae9a95ae8c" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutions", + "recordId": "@triggerOutputs()?['body/_devhub_solution_value']", + "$select": "devhub_uniquename,devhub_apptemplates,devhub_provisionenvironmentpipelineid", + "$expand": "devhub_Repository($select=devhub_name;$expand=devhub_Project($select=devhub_name))" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Check_provision_pipeline_is_configured": { + "actions": { + "Update_environment_to_failed_to_provision": { + "runAfter": {}, + "metadata": { + "operationMetadataId": "2f59fd74-a76d-4ab7-ba42-687e00ae3758" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_environments", + "recordId": "@triggerOutputs()?['body/devhub_environmentid']", + "item/statuscode": 353400002 + }, + "authentication": "@parameters('$authentication')" + } + }, + "Terminate": { + "runAfter": { + "Update_environment_to_failed_to_provision": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "e2c3428c-f911-4187-b1bb-12750866c212" + }, + "type": "Terminate", + "inputs": { + "runStatus": "Failed", + "runError": { + "message": "Failed to provision environment as a provision environment pipeline definition ID has not been configured for the solution." + } + } + } + }, + "runAfter": { + "Get_the_project's_provision_environment_pipeline": [ + "Succeeded" + ] + }, + "expression": { + "equals": [ + "@outputs('Get_the_project''s_provision_environment_pipeline')?['body/devhub_provisionenvironmentpipelineid']", + "@null" + ] + }, + "metadata": { + "operationMetadataId": "37847b8c-8352-4eb2-93d7-63c46d842f8d" + }, + "type": "If" + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingprovision-Provisionenvir-5C023C93-0301-EC11-94EF-000D3AD679AD.json.data.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingprovision-Provisionenvir-5C023C93-0301-EC11-94EF-000D3AD679AD.json.data.xml new file mode 100644 index 0000000..4eebc93 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenanenvironmentispendingprovision-Provisionenvir-5C023C93-0301-EC11-94EF-000D3AD679AD.json.data.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{5c023c93-0301-ec11-94ef-000d3ad679ad}" Name="When an environment is pending provision -> Provision environment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <JsonFileName>/Workflows/Whenanenvironmentispendingprovision-Provisionenvir-5C023C93-0301-EC11-94EF-000D3AD679AD.json</JsonFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>5</Category> + <Mode>0</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.22</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <PrimaryEntity>none</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="When an environment is pending provision -> Provision environment" /> + </LocalizedNames> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenarepositoryiscreatedorupdated-Createanassociat-828E3518-5B78-EB11-A812-000D3AB20581.json b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenarepositoryiscreatedorupdated-Createanassociat-828E3518-5B78-EB11-A812-000D3AB20581.json index 3b9d095..4f32b85 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenarepositoryiscreatedorupdated-Createanassociat-828E3518-5B78-EB11-A812-000D3AB20581.json +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenarepositoryiscreatedorupdated-Createanassociat-828E3518-5B78-EB11-A812-000D3AB20581.json @@ -1 +1,288 @@ -{"properties":{"connectionReferences":{"shared_commondataserviceforapps":{"runtimeSource":"embedded","connection":{"connectionReferenceLogicalName":"devhub_sharedcommondataserviceforapps_f7ca3"},"api":{"name":"shared_commondataserviceforapps"}}},"definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"},"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"When_a_repository_is_created_or_updated":{"type":"OpenApiConnectionWebhook","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"SubscribeWebhookTrigger","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"subscriptionRequest/message":4,"subscriptionRequest/entityname":"devhub_repository","subscriptionRequest/scope":4,"subscriptionRequest/filteringattributes":"devhub_targetbranch,devhub_name,devhub_project"},"authentication":"@parameters('$authentication')"}}},"actions":{"Link_repository":{"actions":{"Get_the_existing_solution_merge_commit_flow":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"GetItem","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_repositories","recordId":"@triggerOutputs()?['body/devhub_repositoryid']","$select":"_devhub_solutionmergecommitflow_value"},"authentication":"@parameters('$authentication')"}},"If_there_is_an_existing_solution_merge_commit_flow":{"actions":{"Deactivate_the_existing_flow":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"workflows","recordId":"@outputs('Get_the_existing_solution_merge_commit_flow')?['body/_devhub_solutionmergecommitflow_value']","item/statecode":0,"item/statuscode":1},"authentication":"@parameters('$authentication')"}},"Delete_the_existing_flow":{"runAfter":{"Deactivate_the_existing_flow":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"DeleteRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"workflows","recordId":"@outputs('Get_the_existing_solution_merge_commit_flow')?['body/_devhub_solutionmergecommitflow_value']"},"authentication":"@parameters('$authentication')"}}},"runAfter":{"Get_the_existing_solution_merge_commit_flow":["Succeeded"]},"expression":{"not":{"equals":["@outputs('Get_the_existing_solution_merge_commit_flow')?['body/_devhub_solutionmergecommitflow_value']","@null"]}},"type":"If"},"Get_project":{"runAfter":{"If_there_is_an_existing_solution_merge_commit_flow":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"GetItem","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_projects","recordId":"@triggerOutputs()?['body/_devhub_project_value']","$select":"devhub_name"},"authentication":"@parameters('$authentication')"}},"Get_the_solution_merge_commit_template_flow":{"runAfter":{"Get_project":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"GetItem","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"workflows","recordId":"c768730f-d671-eb11-a812-000d3adb6517","$select":"clientdata,primaryentity,type,category,name"},"authentication":"@parameters('$authentication')"}},"Get_the_Azure_DevOps_organisation":{"runAfter":{"Get_the_solution_merge_commit_template_flow":["Succeeded"]},"type":"Workflow","inputs":{"host":{"workflowReferenceName":"9bc32b76-754b-ea11-a812-000d3a0b8d0b"},"body":{"text":"devhub_AzureDevOpsOrganization"}}},"Select_new_flow_object":{"runAfter":{"Get_the_Azure_DevOps_organisation":["Succeeded"]},"type":"Select","inputs":{"from":"@createArray(outputs('Get_the_solution_merge_commit_template_flow')?['body'])","select":{"clientdata":"@replace(replace(replace(replace(outputs('Get_the_solution_merge_commit_template_flow')?['body/clientdata'],'{{organisation}}',outputs('Get_the_Azure_DevOps_organisation')?['body']?['environment_variable_value']),'{{project}}',outputs('Get_project')?['body/devhub_name']),'{{repository}}',triggerOutputs()?['body/devhub_name']),'{{targetbranch}}',triggerOutputs()?['body/devhub_targetbranch'])","primaryentity":"@outputs('Get_the_solution_merge_commit_template_flow')?['body/primaryentity']","type":"@outputs('Get_the_solution_merge_commit_template_flow')?['body/type']","category":"@outputs('Get_the_solution_merge_commit_template_flow')?['body/category']","name":"@replace(replace(outputs('Get_the_solution_merge_commit_template_flow')?['body/name'], '[Template] ', ''), '{{repository}}', triggerOutputs()?['body/devhub_name'])","description":"This flow was created automatically by the Development Hub as @{triggerOutputs()?['body/devhub_name']} was registered as a target repository for solutions.","workflowid":"@guid()"}}},"Add_new_flow":{"runAfter":{"Select_new_flow_object":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"CreateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"@concat('workflows')","item":"@body('Select_new_flow_object')"},"authentication":"@parameters('$authentication')"}},"Activate_the_flow":{"runAfter":{"Add_new_flow":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"workflows","recordId":"@body('Select_new_flow_object')[0]['workflowid']","item/statecode":1,"item/statuscode":2},"authentication":"@parameters('$authentication')"}},"Set_flow_on_repository":{"runAfter":{"Activate_the_flow":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_repositories","recordId":"@triggerOutputs()?['body/devhub_repositoryid']","item/devhub_SolutionMergeCommitFlow@odata.bind":"workflows(@{body('Select_new_flow_object')[0]['workflowid']})","item/statecode":0,"item/statuscode":1},"authentication":"@parameters('$authentication')"}}},"runAfter":{},"type":"Scope"},"Set_status_to_'Failed_to_link_repository'":{"runAfter":{"Link_repository":["Failed"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_repositories","recordId":"@triggerOutputs()?['body/devhub_repositoryid']","item/statecode":1,"item/statuscode":353400001},"authentication":"@parameters('$authentication')"}}},"outputs":{}}},"schemaVersion":"1.0.0.0"} \ No newline at end of file +{ + "properties": { + "connectionReferences": { + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + }, + "Azure DevOps Organization": { + "defaultValue": "ewingjm", + "type": "String", + "metadata": { + "schemaName": "devhub_AzureDevOpsOrganization", + "description": "The name of the Azure DevOps organization which contains the source code for the target solutions." + } + } + }, + "triggers": { + "When_a_repository_is_created_or_updated": { + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 4, + "subscriptionRequest/entityname": "devhub_repository", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "devhub_targetbranch,devhub_name,devhub_project" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "actions": { + "Link_repository": { + "actions": { + "Get_the_existing_solution_merge_commit_flow": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_repositories", + "recordId": "@triggerOutputs()?['body/devhub_repositoryid']", + "$select": "_devhub_solutionmergecommitflow_value" + }, + "authentication": "@parameters('$authentication')" + } + }, + "If_there_is_an_existing_solution_merge_commit_flow": { + "actions": { + "Deactivate_the_existing_flow": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "workflows", + "recordId": "@outputs('Get_the_existing_solution_merge_commit_flow')?['body/_devhub_solutionmergecommitflow_value']", + "item/statecode": 0, + "item/statuscode": 1 + }, + "authentication": "@parameters('$authentication')" + } + }, + "Delete_the_existing_flow": { + "runAfter": { + "Deactivate_the_existing_flow": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "DeleteRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "workflows", + "recordId": "@outputs('Get_the_existing_solution_merge_commit_flow')?['body/_devhub_solutionmergecommitflow_value']" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "runAfter": { + "Get_the_existing_solution_merge_commit_flow": [ + "Succeeded" + ] + }, + "expression": { + "not": { + "equals": [ + "@outputs('Get_the_existing_solution_merge_commit_flow')?['body/_devhub_solutionmergecommitflow_value']", + "@null" + ] + } + }, + "type": "If" + }, + "Get_project": { + "runAfter": { + "If_there_is_an_existing_solution_merge_commit_flow": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_projects", + "recordId": "@triggerOutputs()?['body/_devhub_project_value']", + "$select": "devhub_name" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_the_solution_merge_commit_template_flow": { + "runAfter": { + "Get_project": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "workflows", + "recordId": "c768730f-d671-eb11-a812-000d3adb6517", + "$select": "clientdata,primaryentity,type,category,name" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Select_new_flow_object": { + "runAfter": { + "Get_the_solution_merge_commit_template_flow": [ + "Succeeded" + ] + }, + "type": "Select", + "inputs": { + "from": "@createArray(outputs('Get_the_solution_merge_commit_template_flow')?['body'])", + "select": { + "clientdata": "@replace(replace(replace(replace(outputs('Get_the_solution_merge_commit_template_flow')?['body/clientdata'],'{{organisation}}', parameters('Azure DevOps Organization')),'{{project}}',outputs('Get_project')?['body/devhub_name']),'{{repository}}',triggerOutputs()?['body/devhub_name']),'{{targetbranch}}',triggerOutputs()?['body/devhub_targetbranch'])", + "primaryentity": "@outputs('Get_the_solution_merge_commit_template_flow')?['body/primaryentity']", + "type": "@outputs('Get_the_solution_merge_commit_template_flow')?['body/type']", + "category": "@outputs('Get_the_solution_merge_commit_template_flow')?['body/category']", + "name": "@replace(replace(outputs('Get_the_solution_merge_commit_template_flow')?['body/name'], '[Template] ', ''), '{{repository}}', triggerOutputs()?['body/devhub_name'])", + "description": "This flow was created automatically by the Development Hub as @{triggerOutputs()?['body/devhub_name']} was registered as a target repository for solutions.", + "workflowid": "@guid()" + } + } + }, + "Add_new_flow": { + "runAfter": { + "Select_new_flow_object": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "CreateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "@concat('workflows')", + "item": "@body('Select_new_flow_object')" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Activate_the_flow": { + "runAfter": { + "Add_new_flow": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "workflows", + "recordId": "@body('Select_new_flow_object')[0]['workflowid']", + "item/statecode": 1, + "item/statuscode": 2 + }, + "authentication": "@parameters('$authentication')" + } + }, + "Set_flow_on_repository": { + "runAfter": { + "Activate_the_flow": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_repositories", + "recordId": "@triggerOutputs()?['body/devhub_repositoryid']", + "item/devhub_SolutionMergeCommitFlow@odata.bind": "workflows(@{body('Select_new_flow_object')[0]['workflowid']})", + "item/statecode": 0, + "item/statuscode": 1 + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "runAfter": {}, + "type": "Scope" + }, + "Set_status_to_'Failed_to_link_repository'": { + "runAfter": { + "Link_repository": [ + "Failed" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_repositories", + "recordId": "@triggerOutputs()?['body/devhub_repositoryid']", + "item/statecode": 1, + "item/statuscode": 353400001 + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenarepositoryiscreatedorupdated-Createanassociat-828E3518-5B78-EB11-A812-000D3AB20581.json.data.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenarepositoryiscreatedorupdated-Createanassociat-828E3518-5B78-EB11-A812-000D3AB20581.json.data.xml index 2c281bf..caa3654 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenarepositoryiscreatedorupdated-Createanassociat-828E3518-5B78-EB11-A812-000D3AB20581.json.data.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenarepositoryiscreatedorupdated-Createanassociat-828E3518-5B78-EB11-A812-000D3AB20581.json.data.xml @@ -17,7 +17,6 @@ <IsTransacted>1</IsTransacted> <IntroducedVersion>0.2.1</IntroducedVersion> <IsCustomizable>1</IsCustomizable> - <BusinessProcessType>0</BusinessProcessType> <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> <PrimaryEntity>none</PrimaryEntity> <LocalizedNames> diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json deleted file mode 100644 index 01d17eb..0000000 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json +++ /dev/null @@ -1 +0,0 @@ -{"properties":{"connectionReferences":{"shared_commondataserviceforapps":{"runtimeSource":"embedded","connection":{"connectionReferenceLogicalName":"devhub_sharedcommondataserviceforapps_f7ca3"},"api":{"name":"shared_commondataserviceforapps"}}},"definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"},"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"When_a_solution_merge_is_'Merged'":{"type":"OpenApiConnectionWebhook","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"SubscribeWebhookTrigger","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"subscriptionRequest/message":3,"subscriptionRequest/entityname":"devhub_solutionmerge","subscriptionRequest/scope":4,"subscriptionRequest/filteringattributes":"statuscode","subscriptionRequest/filterexpression":"statuscode eq 353400001"},"authentication":"@parameters('$authentication')"}}},"actions":{"Get_development_solution":{"runAfter":{"Get_a_row_by_ID":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"ListRecords","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"solutions","$select":"solutionid","$filter":"uniquename eq '@{outputs('Get_a_row_by_ID')?['body/devhub_developmentsolution']}'","$top":1},"authentication":"@parameters('$authentication')"}},"Delete_development_solution":{"runAfter":{"Get_development_solution":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"DeleteRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"solutions","recordId":"@body('Get_development_solution')?['value']?[0]['solutionid']"},"authentication":"@parameters('$authentication')"}},"Get_a_row_by_ID":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"GetItem","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_issues","recordId":"@triggerOutputs()?['body/_devhub_issue_value']","$select":"devhub_developmentsolution"},"authentication":"@parameters('$authentication')"}}},"outputs":{}}},"schemaVersion":"1.0.0.0"} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json deleted file mode 100644 index caddcc6..0000000 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json +++ /dev/null @@ -1 +0,0 @@ -{"properties": {"connectionReferences": {"shared_commondataserviceforapps": {"runtimeSource": "embedded","connection": {"connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3"},"api": {"name": "shared_commondataserviceforapps"}},"shared_approvals": {"runtimeSource": "embedded","connection": {"connectionReferenceLogicalName": "devhub_sharedapprovals_6d3fc"},"api": {"name": "shared_approvals"}},"shared_visualstudioteamservices": {"runtimeSource": "embedded","connection": {"connectionReferenceLogicalName": "devhub_sharedvisualstudioteamservices_d7fcb"},"api": {"name": "shared_visualstudioteamservices"}}},"definition": {"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion": "1.0.0.0","parameters": {"$connections": {"defaultValue": {},"type": "Object"},"$authentication": {"defaultValue": {},"type": "SecureObject"}},"triggers": {"When_a_solution_merge_is_approved": {"type": "OpenApiConnectionWebhook","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "SubscribeWebhookTrigger","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"subscriptionRequest/message": 3,"subscriptionRequest/entityname": "devhub_solutionmerge","subscriptionRequest/scope": 4,"subscriptionRequest/filteringattributes": "statuscode","subscriptionRequest/filterexpression": "statuscode eq 353400000"},"authentication": "@parameters('$authentication')"},"description": "Using devhub_approvedon rather than statuscode as the flow wasn't triggering with statuscode as a filtering attribute"}},"actions": {"Merge_development_solution": {"actions": {"Get_the_last_approved_solution_merge": {"runAfter": {},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "ListRecords","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_solutionmerges","$select": "devhub_name","$filter": "devhub_solutionmergeid ne @{triggerOutputs()?['body/devhub_solutionmergeid']} and (statuscode eq 353400000 or statuscode eq 353400003 or statuscode eq 353400002 or statuscode eq 353400006 or statuscode eq 353400007)","$orderby": "devhub_approvedon desc","$top": 1},"authentication": "@parameters('$authentication')"}},"If_another_solution_merge_is_in_progress": {"actions": {"Create_a_note_stating_the_solution_merge_is_queued": {"runAfter": {},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "CreateRecord","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "annotations","item/subject": "Solution merge queued","item/notetext": "This solution merge has been queued behind '@{outputs('Get_the_last_approved_solution_merge')?['body/value'][0]['devhub_name']}'.","item/objectid_devhub_solutionmerge@odata.bind": "devhub_solutionmerges(@{triggerOutputs()?['body/devhub_solutionmergeid']})"},"authentication": "@parameters('$authentication')"}},"Cancel_the_flow": {"runAfter": {"Queue_the_solution_merge": ["Succeeded"]},"type": "Terminate","inputs": {"runStatus": "Cancelled"}},"Queue_the_solution_merge": {"runAfter": {"Create_a_note_stating_the_solution_merge_is_queued": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "PerformBoundAction","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_solutionmerges","actionName": "Microsoft.Dynamics.CRM.devhub_QueueSolutionMerge","recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']"},"authentication": "@parameters('$authentication')"}}},"runAfter": {"Get_the_last_approved_solution_merge": ["Succeeded"]},"expression": {"not": {"equals": ["@outputs('Get_the_last_approved_solution_merge')?['body/value']?[0]?['devhub_solutionmergeid']","@null"]}},"type": "If"},"Get_the_target_environment": {"runAfter": {"If_another_solution_merge_is_in_progress": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "GetItem","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_solutions","recordId": "@triggerOutputs()?['body/_devhub_targetsolution_value']","$select": "devhub_solutionid,devhub_uniquename","$expand": "devhub_StagingEnvironment($select=devhub_environmentid,devhub_tenantid,devhub_clientid,devhub_clientsecret,devhub_url),devhub_Repository($expand=devhub_Project($select=devhub_name);$select=devhub_sourcecontrolstrategy,devhub_extractbuilddefinitionid,devhub_targetbranch)"},"authentication": "@parameters('$authentication')"}},"Update_the_solution_merge_status_to_merging": {"runAfter": {"Get_the_target_environment": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "UpdateRecord","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_solutionmerges","recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']","item/statuscode": 353400003},"authentication": "@parameters('$authentication')"}},"Get_the_developed_issue": {"runAfter": {"Update_the_solution_merge_status_to_merging": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "GetItem","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_issues","recordId": "@outputs('Update_the_solution_merge_status_to_merging')?['body/_devhub_issue_value']","$select": "devhub_developmentsolution,devhub_type,devhub_azuredevopsworkitemid,devhub_name"},"authentication": "@parameters('$authentication')"}},"Export_the_development_solution": {"runAfter": {"Get_the_developed_issue": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "PerformUnboundAction","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"actionName": "ExportSolution","item/SolutionName": "@outputs('Get_the_developed_issue')?['body/devhub_developmentsolution']","item/Managed": false,"item/ExportAutoNumberingSettings": false,"item/ExportCalendarSettings": false,"item/ExportCustomizationSettings": false,"item/ExportEmailTrackingSettings": false,"item/ExportGeneralSettings": false,"item/ExportMarketingSettings": false,"item/ExportOutlookSynchronizationSettings": false,"item/ExportRelationshipRoles": false,"item/ExportIsvConfig": false,"item/ExportSales": false,"item/ExportExternalApplications": false},"authentication": "@parameters('$authentication')"}},"Get_access_token_for_staging_environment": {"runAfter": {"Export_the_development_solution": ["Succeeded"]},"type": "Workflow","inputs": {"host": {"workflowReferenceName": "db657a26-1d37-eb11-a813-000d3a0b97ca"},"body": {"text": "@outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_tenantid']","text_1": "@outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_clientid']","text_2": "@outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_clientsecret']","text_3": "@outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']"}}},"Import_development_solution": {"runAfter": {"Get_access_token_for_staging_environment": ["Succeeded"]},"type": "Http","inputs": {"method": "POST","uri": "@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/ImportSolution","headers": {"Content-Type": "application/json"},"body": {"CustomizationFile": "@{outputs('Export_the_development_solution')?['body/ExportSolutionFile']}","OverwriteUnmanagedCustomizations": true,"PublishWorkflows": true,"ImportJobId": "@{variables('importJobId')}"},"authentication": {"type": "Raw","value": "Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"},"retryPolicy": {"type": "none"}}},"Query_import_job_until_done": {"actions": {"Parse_import_job_JSON": {"runAfter": {"Get_import_job": ["Succeeded"]},"type": "ParseJson","inputs": {"content": "@body('Get_import_job')","schema": {"type": "object","properties": {"progress": {"type": "number"},"data": {"type": "string"},"completedon": {"type": ["string","null"]}}}}},"Get_import_job": {"runAfter": {},"type": "Http","inputs": {"method": "GET","uri": "@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/importjobs(@{variables('importJobId')})","authentication": {"type": "Raw","value": "Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"},"retryPolicy": {"type": "none"}}},"Set_importJobComplete": {"runAfter": {"Parse_import_job_JSON": ["Succeeded"]},"type": "SetVariable","inputs": {"name": "importJobComplete","value": "@not(equals(body('Parse_import_job_JSON')?['completedon'], null))"}},"If_incomplete": {"actions": {"Delay": {"runAfter": {},"type": "Wait","inputs": {"interval": {"count": 30,"unit": "Second"}}}},"runAfter": {"Set_importJobComplete": ["Succeeded"]},"expression": {"equals": ["@variables('importJobComplete')","@false"]},"type": "If"}},"runAfter": {"Import_development_solution": ["Succeeded","TimedOut","Failed"]},"expression": "@equals(variables('importJobComplete'), true)","limit": {"count": 40,"timeout": "PT30M "},"type": "Until"},"If_importing_the_development_solution_failed": {"actions": {"Create_a_note_stating_the_solution_import_failed": {"runAfter": {},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "CreateRecord","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "annotations","item/subject": "Solution import failed","item/notetext": "The import into the staging environment failed with the following error:\n\n@{xpath(xml(body('Parse_import_job_JSON')?['data']), 'string(/importexportxml/solutionManifests/solutionManifest/result/@errortext)')}","item/objectid_devhub_solutionmerge@odata.bind": "devhub_solutionmerges(@{triggerOutputs()?['body/devhub_solutionmergeid']})"},"authentication": "@parameters('$authentication')"}},"Fail_the_flow": {"runAfter": {"Update_the_solution_merge_to_failed": ["Succeeded"]},"type": "Terminate","inputs": {"runStatus": "Failed","runError": {"message": "The development solution import failed"}}},"Update_the_solution_merge_to_failed": {"runAfter": {"Create_a_note_stating_the_solution_import_failed": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "UpdateRecord","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_solutionmerges","recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']","item/statuscode": 353400002},"authentication": "@parameters('$authentication')"}}},"runAfter": {"Query_import_job_until_done": ["Succeeded"]},"expression": {"equals": ["@xpath(xml(body('Parse_import_job_JSON')?['data']), 'string(/importexportxml/solutionManifests/solutionManifest/result/@result)')","failure"]},"type": "If"},"Get_solutions": {"runAfter": {"If_importing_the_development_solution_failed": ["Succeeded"]},"type": "Http","inputs": {"method": "GET","uri": "@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/solutions?$filter=uniquename eq '@{outputs('Get_the_developed_issue')?['body/devhub_developmentsolution']}' or uniquename eq '@{outputs('Get_the_target_environment')?['body/devhub_uniquename']}'&$select=uniquename&$expand=solution_solutioncomponent($select=objectid,componenttype,rootcomponentbehavior)","authentication": {"type": "Raw","value": "Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"},"retryPolicy": {"type": "none"}}},"Parse_solutions_JSON": {"runAfter": {"Get_solutions": ["Succeeded"]},"type": "ParseJson","inputs": {"content": "@body('Get_solutions')","schema": {"type": "object","properties": {"@@odata.context": {"type": "string"},"value": {"type": "array","items": {"type": "object","properties": {"@@odata.etag": {"type": "string"},"uniquename": {"type": "string"},"solutionid": {"type": "string"},"solution_solutioncomponent": {"type": "array"},"solution_solutioncomponent@odata.nextLink": {"type": "string"}},"required": ["@@odata.etag","uniquename","solutionid","solution_solutioncomponent","solution_solutioncomponent@odata.nextLink"]}}}}}},"Filter_development_solution": {"runAfter": {"Parse_solutions_JSON": ["Succeeded"]},"type": "Query","inputs": {"from": "@body('Parse_solutions_JSON')?['value']","where": "@equals(item()?['uniquename'], outputs('Get_the_developed_issue')?['body/devhub_developmentsolution'])"}},"Filter_target_solution": {"runAfter": {"Set_developmentSolutionComponents": ["Succeeded"]},"type": "Query","inputs": {"from": "@body('Parse_solutions_JSON')?['value']","where": "@equals(item()?['uniquename'], outputs('Get_the_target_environment')?['body/devhub_uniquename'])"}},"Apply_to_each_development_solution_component": {"foreach": "@variables('developmentSolutionComponents')","actions": {"Find_target_solution_component_for_same_object_ID": {"runAfter": {},"type": "Query","inputs": {"from": "@variables('targetSolutionComponents')","where": "@equals(item()?['objectid'], items('Apply_to_each_development_solution_component')?['objectid'])"}},"If_matching_target_solution_component": {"actions": {},"runAfter": {"Find_target_solution_component_for_same_object_ID": ["Succeeded"]},"else": {"actions": {"Add_solution_component": {"runAfter": {},"type": "Http","inputs": {"method": "POST","uri": "@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/AddSolutionComponent","headers": {"Content-Type": "application/json"},"body": {"ComponentId": "@{string(item()?['objectid'])}","ComponentType": "@items('Apply_to_each_development_solution_component')?['componenttype']","SolutionUniqueName": "@{outputs('Get_the_target_environment')?['body/devhub_uniquename']}","AddRequiredComponents": false,"DoNotIncludeSubcomponents": "@if(equals(item()?['rootcomponentbehavior'], 0), false, true)","IncludedComponentSettingsValues": "@if(equals(item()?['rootcomponentbehaviour'], 2), createArray(), null)"},"authentication": {"type": "Raw","value": "Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}}}},"expression": {"greater": ["@length(body('Find_target_solution_component_for_same_object_ID'))",0]},"type": "If"}},"runAfter": {"Set_targetSolutionComponents": ["Succeeded"]},"type": "Foreach"},"Get_the_post-merge_solution_version": {"runAfter": {"Apply_to_each_development_solution_component": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "PerformBoundAction","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_solutionmerges","actionName": "Microsoft.Dynamics.CRM.devhub_GetPostMergeSolutionVersion","recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']"},"authentication": "@parameters('$authentication')"}},"Update_target_solution_version": {"runAfter": {"Get_the_post-merge_solution_version": ["Succeeded"]},"type": "Http","inputs": {"method": "PATCH","uri": "@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/solutions(@{first(body('Filter_target_solution'))?['solutionid']})","headers": {"Content-Type": "application/json"},"body": {"version": "@{outputs('Get_the_post-merge_solution_version')?['body/MajorVersion']}.@{outputs('Get_the_post-merge_solution_version')?['body/MinorVersion']}.@{outputs('Get_the_post-merge_solution_version')?['body/PatchVersion']}"},"authentication": {"type": "Raw","value": "Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}},"Publish": {"runAfter": {"Update_target_solution_version": ["Succeeded"]},"type": "Http","inputs": {"method": "POST","uri": "@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/PublishAllXml","headers": {"Content-Type": "application/json"},"authentication": {"type": "Raw","value": "Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}},"If_there_are_manual_merge_activities": {"actions": {"Update_the_solution_merge_status_to_awaiting_manual_merge": {"runAfter": {},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "UpdateRecord","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_solutionmerges","recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']","item/statuscode": 353400006},"authentication": "@parameters('$authentication')"}},"Start_and_wait_for_an_approval": {"runAfter": {"Get_the_solution_merge_approver": ["Succeeded"]},"type": "OpenApiConnectionWebhook","inputs": {"host": {"connectionName": "shared_approvals","operationId": "StartAndWaitForAnApproval","apiId": "/providers/Microsoft.PowerApps/apis/shared_approvals"},"parameters": {"approvalType": "CustomResponse","WebhookApprovalCreationInput/responseOptions": ["Merged"],"WebhookApprovalCreationInput/title": "Solution merge awaiting manual merge activities - @{triggerOutputs()?['body/devhub_name']}","WebhookApprovalCreationInput/assignedTo": "@{outputs('Get_the_solution_merge_creator')?['body/internalemailaddress']}; @{outputs('Get_the_solution_merge_approver')?['body/internalemailaddress']};","WebhookApprovalCreationInput/enableNotifications": true,"WebhookApprovalCreationInput/enableReassignment": true},"authentication": "@parameters('$authentication')"}},"Get_the_solution_merge_creator": {"runAfter": {"Update_the_solution_merge_status_to_awaiting_manual_merge": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "GetItem","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "systemusers","recordId": "@triggerOutputs()?['body/_createdby_value']","$select": "internalemailaddress,personalemailaddress"},"authentication": "@parameters('$authentication')"}},"Get_the_solution_merge_approver": {"runAfter": {"Get_the_solution_merge_creator": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "GetItem","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "systemusers","recordId": "@triggerOutputs()?['body/_devhub_approvedby_value']","$select": "internalemailaddress,personalemailaddress"},"authentication": "@parameters('$authentication')"}}},"runAfter": {"Publish": ["Succeeded"]},"expression": {"equals": ["@triggerOutputs()?['body/devhub_manualmergeactivities']",true]},"type": "If"},"Delete_development_solution": {"runAfter": {"Create_the_commit_or_pull_request": ["Succeeded"]},"type": "Http","inputs": {"method": "DELETE","uri": "@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/solutions(@{first(body('Filter_development_solution'))?['solutionid']})","headers": {"Content-Type": "application/json"},"authentication": {"type": "Raw","value": "Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}},"Set_developmentSolutionComponents": {"runAfter": {"Filter_development_solution": ["Succeeded"]},"type": "SetVariable","inputs": {"name": "developmentSolutionComponents","value": "@first(body('Filter_development_solution'))['solution_solutioncomponent']"}},"Set_targetSolutionComponents": {"runAfter": {"Filter_target_solution": ["Succeeded"]},"type": "SetVariable","inputs": {"name": "targetSolutionComponents","value": "@first(body('Filter_target_solution'))['solution_solutioncomponent']"}},"Get_devhub_AzureDevOpsOrganization": {"runAfter": {"If_there_are_manual_merge_activities": ["Succeeded"]},"type": "Workflow","inputs": {"host": {"workflowReferenceName": "9bc32b76-754b-ea11-a812-000d3a0b8d0b"},"body": {"text": "devhub_AzureDevOpsOrganization"}}},"Create_the_commit_or_pull_request": {"runAfter": {"Get_devhub_AzureDevOpsOrganization": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_visualstudioteamservices","operationId": "QueueNewBuild","apiId": "/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices"},"parameters": {"account": "@outputs('Get_devhub_AzureDevOpsOrganization')?['Body']?['environment_variable_value']","project": "@body('Get_the_target_environment')?['devhub_Repository']?['devhub_Project']?['devhub_name']","buildDefId": "@body('Get_the_target_environment')['devhub_Repository']?['devhub_extractbuilddefinitionid']","buildDetails/parameters": "{\n \"solutionMergeId\": \"@{triggerOutputs()?['body/devhub_solutionmergeid']}\",\n \"clientId\": \"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_clientid']}\",\n \"tenantId\": \"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_tenantid']}\",\n \"clientSecret\": \"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_clientsecret']}\",\n \"devEnvironmentUrl\": \"https://@{uriHost(body('Get_the_target_environment')?['@odata.id'])}\"\n}"},"authentication": "@parameters('$authentication')"}}},"runAfter": {"Initialize_targetSolutionComponents": ["Succeeded"]},"type": "Scope"},"Initialize_importJobId": {"runAfter": {},"type": "InitializeVariable","inputs": {"variables": [{"name": "importJobId","type": "string","value": "@{guid()}"}]}},"Initialize_importJobProgress": {"runAfter": {"Initialize_importJobId": ["Succeeded"]},"type": "InitializeVariable","inputs": {"variables": [{"name": "importJobComplete","type": "boolean","value": "@false"}]}},"Initialize_developmentSolutionComponents": {"runAfter": {"Initialize_importJobProgress": ["Succeeded"]},"type": "InitializeVariable","inputs": {"variables": [{"name": "developmentSolutionComponents","type": "array"}]}},"Initialize_targetSolutionComponents": {"runAfter": {"Initialize_developmentSolutionComponents": ["Succeeded"]},"type": "InitializeVariable","inputs": {"variables": [{"name": "targetSolutionComponents","type": "array"}]}},"Set_solution_merge_status_to_'Failed'_(merge_development_solution)": {"runAfter": {"Merge_development_solution": ["Failed","TimedOut"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "UpdateRecord","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "devhub_solutionmerges","recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']","item/statecode": 0,"item/statuscode": 353400002},"authentication": "@parameters('$authentication')"}},"Create_a_failure_note_on_the_solution_merge_(merge_development_solution)": {"runAfter": {"Set_solution_merge_status_to_'Failed'_(merge_development_solution)": ["Succeeded"]},"type": "OpenApiConnection","inputs": {"host": {"connectionName": "shared_commondataserviceforapps","operationId": "CreateRecord","apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters": {"entityName": "annotations","item/subject": "Failed to merge","item/notetext": "Failed to merge the development solution with the target solution. Please refer to the flow <a href=\"@{concat('https://flow.microsoft.com/manage/environments/', workflow().tags.environmentName, '/flows/', workflow().name, '/runs/', workflow().run.name)}\">run</a> for more detail. \n\n","item/objectid_devhub_solutionmerge@odata.bind": "devhub_solutionmerges(@{triggerOutputs()?['body/devhub_solutionmergeid']})"},"authentication": "@parameters('$authentication')"}},"Terminate": {"runAfter": {"Create_a_failure_note_on_the_solution_merge_(merge_development_solution)": ["Succeeded"]},"type": "Terminate","inputs": {"runStatus": "Failed","runError": {"message": "Failed to merge the development solution with the target solution."}}}},"outputs": {}}},"schemaVersion": "1.0.0.0"} diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeispendingmerge-Mergethesolutionm-12868E8E-0501-EC11-94EF-000D3AD679AD.json b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeispendingmerge-Mergethesolutionm-12868E8E-0501-EC11-94EF-000D3AD679AD.json new file mode 100644 index 0000000..ac665b5 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeispendingmerge-Mergethesolutionm-12868E8E-0501-EC11-94EF-000D3AD679AD.json @@ -0,0 +1,215 @@ +{ + "properties": { + "connectionReferences": { + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + }, + "shared_visualstudioteamservices": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedvisualstudioteamservices_d7fcb" + }, + "api": { + "name": "shared_visualstudioteamservices" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + }, + "Azure DevOps Organization (devhub_AzureDevOpsOrganization)": { + "defaultValue": "ewingjm", + "type": "String", + "metadata": { + "schemaName": "devhub_AzureDevOpsOrganization", + "description": "The name of the Azure DevOps organization which contains the source code for the target solutions." + } + } + }, + "triggers": { + "When_a_solution_merge_is_pending_merge": { + "metadata": { + "operationMetadataId": "1765d5bc-89fe-4364-bc86-99193c3d1d1a" + }, + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 3, + "subscriptionRequest/entityname": "devhub_solutionmerge", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "statuscode eq 353400009" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "actions": { + "Get_the_project's_merge_pipeline": { + "runAfter": {}, + "metadata": { + "operationMetadataId": "f9e2415b-c01d-4a2e-b69b-0746caa6f451" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutions", + "recordId": "@triggerOutputs()?['body/_devhub_targetsolution_value']", + "$select": "devhub_uniquename,devhub_displayname,devhub_description,devhub_majorversion,devhub_minorversion,devhub_patchversion", + "$expand": "devhub_Repository($select=devhub_name, devhub_targetbranch, devhub_sourcecontrolstrategy;$expand=devhub_Project($select=devhub_mergepipelineid, devhub_name))" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_the_extract_environment": { + "runAfter": { + "Get_the_project's_merge_pipeline": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "24725dfe-9025-459f-84b1-f3e2835910c8" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_environments", + "recordId": "@triggerOutputs()?['body/_devhub_environment_value']", + "$select": "devhub_url,devhub_commithash" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_the_issue": { + "runAfter": { + "Get_the_extract_environment": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "4d9d8c6a-ae58-454b-966e-be76bcfdfd60" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_issues", + "recordId": "@triggerOutputs()?['body/_devhub_issue_value']", + "$select": "devhub_name, devhub_type, devhub_azuredevopsworkitemid, devhub_developmentsolution" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_the_solution_merge_creator": { + "runAfter": { + "Get_the_issue": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "54caf1e9-29cc-418e-bf71-5ab999e299a7" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "systemusers", + "recordId": "@triggerOutputs()?['body/_createdby_value']", + "$select": "azureactivedirectoryobjectid,internalemailaddress,fullname" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_the_solution_merge_approver": { + "runAfter": { + "Get_the_solution_merge_creator": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "408829e1-67a2-4029-a057-963ef07c0373" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "systemusers", + "recordId": "@triggerOutputs()?['body/_devhub_approvedby_value']", + "$select": "azureactivedirectoryobjectid,internalemailaddress,fullname" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Send_an_HTTP_request_to_Azure_DevOps": { + "runAfter": { + "Get_the_solution_merge_approver": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "866a905e-2173-481e-a988-89b82c6e765e" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_visualstudioteamservices", + "operationId": "HttpRequest", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices" + }, + "parameters": { + "account": "@parameters('Azure DevOps Organization (devhub_AzureDevOpsOrganization)')", + "parameters/Method": "POST", + "parameters/Uri": "@{outputs('Get_the_project''s_merge_pipeline')?['body/devhub_repository/devhub_project/devhub_name']}/_apis/pipelines/@{outputs('Get_the_project''s_merge_pipeline')?['body/devhub_repository/devhub_project/devhub_mergepipelineid']}/runs?api-version=6.0-preview.1", + "parameters/Body": "{\n \"templateParameters\": {\n @{if(not(equals(triggerOutputs()?['body/devhub_sourcebranch'], null)), concat('\"sourceBranch\": \"', triggerOutputs()?['body/devhub_sourcebranch'], '\",'), ' ')}\n \"sourceControlStrategy\": \"@{if(equals(outputs('Get_the_project''s_merge_pipeline')?['body/devhub_repository/devhub_sourcecontrolstrategy'], 353400000), 'Pull request', 'Push')}\",\n \"manualMergeActivities\": @{toLower(string(triggerOutputs()?['body/devhub_manualmergeactivities']))}\n },\n \"variables\": {\n \"DevelopmentHub.DevelopmentEnvironment.Name\": {\n \"value\": \"@{workflow()['tags']['environmentName']}\"\n },\n \"DevelopmentHub.DevelopmentEnvironment.Url\": {\n \"value\": \"@{concat('https://', uriHost(outputs('Get_the_project''s_merge_pipeline')?['body/@odata.id']))}\",\n },\n \"DevelopmentHub.ExtractEnvironment.Url\": {\n \"value\": \"@{outputs('Get_the_extract_environment')?['body/devhub_url']}\"\n },\n \"DevelopmentHub.ExtractEnvironment.CommitHash\": {\n \"value\": \"@{outputs('Get_the_extract_environment')?['body/devhub_commithash']}\"\n },\n \"DevelopmentHub.SolutionMerge.RecordId\": {\n \"value\": \"@{triggerOutputs()?['body/devhub_solutionmergeid']}\"\n },\n \"DevelopmentHub.SolutionMerge.MergeStrategy\": {\n \"value\": \"@{if(equals(triggerOutputs()?['body/devhub_mergestrategy'], 353400000), 'Sequential', 'Parallel')}\"\n },\n \"DevelopmentHub.SolutionMerge.ManualMergeActivities\": {\n \"value\": \"@{triggerOutputs()?['body/devhub_manualmergeactivities']}\"\n },\n \"DevelopmentHub.SolutionMerge.Approver\": {\n \"value\": \"@{outputs('Get_the_solution_merge_approver')?['body/fullname']}\"\n },\n \"DevelopmentHub.SolutionMerge.ApproverEmail\": {\n \"value\": \"@{outputs('Get_the_solution_merge_approver')?['body/internalemailaddress']}\"\n },\n \"DevelopmentHub.SolutionMerge.ApproverId\": {\n \"value\": \"@{outputs('Get_the_solution_merge_approver')?['body/@odata.id']}\"\n },\n \"DevelopmentHub.SolutionMerge.ApproverObjectId\": {\n \"value\": \"@{outputs('Get_the_solution_merge_approver')?['body/azureactivedirectoryobjectid']}\"\n },\n \"DevelopmentHub.SolutionMerge.Creator\": {\n \"value\": \"@{outputs('Get_the_solution_merge_creator')?['body/fullname']}\"\n },\n \"DevelopmentHub.SolutionMerge.CreatorEmail\": {\n \"value\": \"@{outputs('Get_the_solution_merge_creator')?['body/internalemailaddress']}\"\n },\n \"DevelopmentHub.SolutionMerge.CreatorId\": {\n \"value\": \"@{outputs('Get_the_solution_merge_creator')?['body/@odata.id']}\"\n },\n \"DevelopmentHub.SolutionMerge.CreatorObjectId\": {\n \"value\": \"@{outputs('Get_the_solution_merge_creator')?['body/azureactivedirectoryobjectid']}\"\n },\n \"DevelopmentHub.SolutionMerge.SourceBranch\": {\n \"value\": \"@{triggerOutputs()?['body/devhub_sourcebranch']}\"\n },\n \"DevelopmentHub.Issue.DevelopmentSolution\": {\n \"value\": \"@{outputs('Get_the_issue')?['body/devhub_developmentsolution']}\"\n },\n \"DevelopmentHub.Issue.Name\": {\n \"value\": \"@{outputs('Get_the_issue')?['body/devhub_name']}\"\n },\n \"DevelopmentHub.Issue.Type\": {\n \"value\": \"@{if(equals(outputs('Get_the_issue')?['body/devhub_type'], 353400001), 'Feature', 'Bug')}\"\n },\n \"DevelopmentHub.Issue.WorkItemId\": {\n \"value\": \"@{outputs('Get_the_issue')?['body/devhub_azuredevopsworkitemid']}\"\n },\n \"DevelopmentHub.Issue.RecordId\": {\n \"value\": \"@{triggerOutputs()?['body/_devhub_issue_value']}\"\n },\n \"DevelopmentHub.TargetSolution.Name\": {\n \"value\": \"@{outputs('Get_the_project''s_merge_pipeline')?['body/devhub_uniquename']}\"\n },\n \"DevelopmentHub.TargetSolution.Repository\": {\n \"value\": \"@{outputs('Get_the_project''s_merge_pipeline')?['body/devhub_repository/devhub_name']}\"\n },\n \"DevelopmentHub.TargetSolution.DisplayName\": {\n \"value\": \"@{outputs('Get_the_project''s_merge_pipeline')?['body/devhub_displayname']}\"\n },\n \"DevelopmentHub.TargetSolution.Description\": {\n \"value\": \"@{outputs('Get_the_project''s_merge_pipeline')?['body/devhub_description']}\"\n },\n \"DevelopmentHub.TargetSolution.Version\": {\n \"value\": \"@{if(\n equals(triggerOutputs()?['body/devhub_mergestrategy'], 353400000), \n if(\n equals(outputs('Get_the_issue')?['body/devhub_type'], 353400001), \n concat(\n outputs('Get_the_project''s_merge_pipeline')?['body/devhub_majorversion'], \n '.', \n add(outputs('Get_the_project''s_merge_pipeline')?['body/devhub_minorversion'], 1), \n '.', \n 0\n ), \n concat(\n outputs('Get_the_project''s_merge_pipeline')?['body/devhub_majorversion'], \n '.', \n outputs('Get_the_project''s_merge_pipeline')?['body/devhub_minorversion'], \n '.', \n add(outputs('Get_the_project''s_merge_pipeline')?['body/devhub_patchversion'], 1)\n )\n ), \n ''\n)}\"\n },\n \"DevelopmentHub.Repository.TargetBranch\": {\n \"value\": \"@{outputs('Get_the_project''s_merge_pipeline')?['body/devhub_repository/devhub_targetbranch']}\"\n },\n \"DevelopmentHub.Repository.SourceControlStrategy\": {\n \"value\": \"@{if(equals(outputs('Get_the_project''s_merge_pipeline')?['body/devhub_repository/devhub_sourcecontrolstrategy'], 353400000), 'Pull request', 'Push')}\"\n }\n }\n}" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json.data.xml b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeispendingmerge-Mergethesolutionm-12868E8E-0501-EC11-94EF-000D3AD679AD.json.data.xml similarity index 60% rename from src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json.data.xml rename to src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeispendingmerge-Mergethesolutionm-12868E8E-0501-EC11-94EF-000D3AD679AD.json.data.xml index 0faaaec..fde18db 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json.data.xml +++ b/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/Whenasolutionmergeispendingmerge-Mergethesolutionm-12868E8E-0501-EC11-94EF-000D3AD679AD.json.data.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<Workflow WorkflowId="{5004652f-f9b3-ea11-a812-000d3a86ad99}" Name="When a solution merge is approved -> Merge the solution" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <JsonFileName>/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json</JsonFileName> +<Workflow WorkflowId="{12868e8e-0501-ec11-94ef-000d3ad679ad}" Name="When a solution merge is pending merge -> Merge the solution merge" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <JsonFileName>/Workflows/Whenasolutionmergeispendingmerge-Mergethesolutionm-12868E8E-0501-EC11-94EF-000D3AD679AD.json</JsonFileName> <Type>1</Type> <Subprocess>0</Subprocess> <Category>5</Category> @@ -15,10 +15,11 @@ <StatusCode>2</StatusCode> <RunAs>1</RunAs> <IsTransacted>1</IsTransacted> - <IntroducedVersion>1.0</IntroducedVersion> + <IntroducedVersion>0.2.22</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> <PrimaryEntity>none</PrimaryEntity> <LocalizedNames> - <LocalizedName languagecode="1033" description="When a solution merge is approved -> Merge the solution" /> + <LocalizedName languagecode="1033" description="When a solution merge is pending merge -> Merge the solution merge" /> </LocalizedNames> </Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap.xml index df98e66..68ddd40 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <AppModuleSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SiteMapUniqueName>devhub_DevelopmentHub</SiteMapUniqueName> + <EnableCollapsibleGroups>False</EnableCollapsibleGroups> + <ShowHome>True</ShowHome> + <ShowPinned>True</ShowPinned> + <ShowRecents>True</ShowRecents> <SiteMap IntroducedVersion="7.0.0.0"> <Area Id="devhub_DevelopmentHub" ResourceId="SitemapDesigner.NewArea" DescriptionResourceId="SitemapDesigner.NewArea" VectorIcon="/WebResources/devhub_/Images/devhub_Issue.svg" Icon="/WebResources/devhub_/Images/devhub_Issue.svg" ShowGroups="true" IntroducedVersion="7.0.0.0"> <Titles> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap_managed.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap_managed.xml index c3deb54..a71e39b 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/AppModuleSiteMaps/devhub_DevelopmentHub/AppModuleSiteMap_managed.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <AppModuleSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SiteMapUniqueName>devhub_DevelopmentHub</SiteMapUniqueName> + <EnableCollapsibleGroups>False</EnableCollapsibleGroups> + <ShowHome>True</ShowHome> + <ShowPinned>True</ShowPinned> + <ShowRecents>True</ShowRecents> <SiteMap IntroducedVersion="7.0.0.0"> <Area Id="devhub_DevelopmentHub" ResourceId="SitemapDesigner.NewArea" DescriptionResourceId="SitemapDesigner.NewArea" VectorIcon="/WebResources/devhub_/Images/devhub_Issue.svg" Icon="/WebResources/devhub_/Images/devhub_Issue.svg" ShowGroups="true" IntroducedVersion="7.0.0.0" ordinalvalue="0"> <Group Id="NewGroup_4aa6eeb6" ResourceId="SitemapDesigner.NewGroup" IsProfile="false" ToolTipResourseId="SitemapDesigner.Unknown" ordinalvalue="1" solutionaction="Added"> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/Entity.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/Entity.xml index eb39c46..1ccae95 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/Entity.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/Entity.xml @@ -131,11 +131,11 @@ <Description description="Unique identifier of the delegate user who created the record." languagecode="1033" /> </Descriptions> </attribute> - <attribute PhysicalName="devhub_ClientID"> + <attribute PhysicalName="devhub_CommitHash"> <Type>nvarchar</Type> - <Name>devhub_clientid</Name> - <LogicalName>devhub_clientid</LogicalName> - <RequiredLevel>required</RequiredLevel> + <Name>devhub_commithash</Name> + <LogicalName>devhub_commithash</LogicalName> + <RequiredLevel>none</RequiredLevel> <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> <ImeMode>auto</ImeMode> <ValidForUpdateApi>1</ValidForUpdateApi> @@ -162,33 +162,33 @@ <IsRetrievable>0</IsRetrievable> <IsLocalizable>0</IsLocalizable> <Format>text</Format> - <MaxLength>36</MaxLength> - <Length>72</Length> + <MaxLength>40</MaxLength> + <Length>80</Length> <displaynames> - <displayname description="Client ID" languagecode="1033" /> + <displayname description="Commit Hash" languagecode="1033" /> </displaynames> <Descriptions> - <Description description="The client ID to use when connecting to this environment." languagecode="1033" /> + <Description description="The commit hash the environment was prepared based on." languagecode="1033" /> </Descriptions> </attribute> - <attribute PhysicalName="devhub_ClientSecret"> - <Type>nvarchar</Type> - <Name>devhub_clientsecret</Name> - <LogicalName>devhub_clientsecret</LogicalName> - <RequiredLevel>required</RequiredLevel> - <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> + <attribute PhysicalName="devhub_environmentId"> + <Type>primarykey</Type> + <Name>devhub_environmentid</Name> + <LogicalName>devhub_environmentid</LogicalName> + <RequiredLevel>systemrequired</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|RequiredForGrid</DisplayMask> <ImeMode>auto</ImeMode> - <ValidForUpdateApi>1</ValidForUpdateApi> + <ValidForUpdateApi>0</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> <ValidForCreateApi>1</ValidForCreateApi> - <IsCustomField>1</IsCustomField> - <IsAuditEnabled>1</IsAuditEnabled> + <IsCustomField>0</IsCustomField> + <IsAuditEnabled>0</IsAuditEnabled> <IsSecured>0</IsSecured> - <IntroducedVersion>0.2.0</IntroducedVersion> + <IntroducedVersion>0.0.1.0</IntroducedVersion> <IsCustomizable>1</IsCustomizable> <IsRenameable>1</IsRenameable> <CanModifySearchSettings>1</CanModifySearchSettings> - <CanModifyRequirementLevelSettings>1</CanModifyRequirementLevelSettings> + <CanModifyRequirementLevelSettings>0</CanModifyRequirementLevelSettings> <CanModifyAdditionalSettings>1</CanModifyAdditionalSettings> <SourceType>0</SourceType> <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> @@ -198,37 +198,34 @@ <IsDataSourceSecret>0</IsDataSourceSecret> <AutoNumberFormat></AutoNumberFormat> <IsSearchable>0</IsSearchable> - <IsFilterable>0</IsFilterable> - <IsRetrievable>0</IsRetrievable> + <IsFilterable>1</IsFilterable> + <IsRetrievable>1</IsRetrievable> <IsLocalizable>0</IsLocalizable> - <Format>text</Format> - <MaxLength>100</MaxLength> - <Length>200</Length> <displaynames> - <displayname description="Client Secret" languagecode="1033" /> + <displayname description="Environment" languagecode="1033" /> </displaynames> <Descriptions> - <Description description="" languagecode="1033" /> + <Description description="Unique identifier for entity instances" languagecode="1033" /> </Descriptions> </attribute> - <attribute PhysicalName="devhub_environmentId"> - <Type>primarykey</Type> - <Name>devhub_environmentid</Name> - <LogicalName>devhub_environmentid</LogicalName> - <RequiredLevel>systemrequired</RequiredLevel> - <DisplayMask>ValidForAdvancedFind|RequiredForGrid</DisplayMask> + <attribute PhysicalName="devhub_Lifetime"> + <Type>picklist</Type> + <Name>devhub_lifetime</Name> + <LogicalName>devhub_lifetime</LogicalName> + <RequiredLevel>required</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> <ImeMode>auto</ImeMode> - <ValidForUpdateApi>0</ValidForUpdateApi> + <ValidForUpdateApi>1</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> <ValidForCreateApi>1</ValidForCreateApi> - <IsCustomField>0</IsCustomField> - <IsAuditEnabled>0</IsAuditEnabled> + <IsCustomField>1</IsCustomField> + <IsAuditEnabled>1</IsAuditEnabled> <IsSecured>0</IsSecured> - <IntroducedVersion>0.0.1.0</IntroducedVersion> + <IntroducedVersion>0.2.0</IntroducedVersion> <IsCustomizable>1</IsCustomizable> <IsRenameable>1</IsRenameable> <CanModifySearchSettings>1</CanModifySearchSettings> - <CanModifyRequirementLevelSettings>0</CanModifyRequirementLevelSettings> + <CanModifyRequirementLevelSettings>1</CanModifyRequirementLevelSettings> <CanModifyAdditionalSettings>1</CanModifyAdditionalSettings> <SourceType>0</SourceType> <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> @@ -238,14 +235,16 @@ <IsDataSourceSecret>0</IsDataSourceSecret> <AutoNumberFormat></AutoNumberFormat> <IsSearchable>0</IsSearchable> - <IsFilterable>1</IsFilterable> + <IsFilterable>0</IsFilterable> <IsRetrievable>1</IsRetrievable> <IsLocalizable>0</IsLocalizable> + <AppDefaultValue>353400000</AppDefaultValue> + <OptionSetName>devhub_lifetime</OptionSetName> <displaynames> - <displayname description="Environment" languagecode="1033" /> + <displayname description="Lifetime" languagecode="1033" /> </displaynames> <Descriptions> - <Description description="Unique identifier for entity instances" languagecode="1033" /> + <Description description="Whether the environment's lifetime is static or ephemeral. Static environments are created and deleted outside of the Development Hub and are used as part of a sequential merge strategy. Ephemeral environments are created and deleted by the Development Hub as part of a parallel merge strategy." languagecode="1033" /> </Descriptions> </attribute> <attribute PhysicalName="devhub_name"> @@ -288,18 +287,18 @@ <Description description="The name of the environment." languagecode="1033" /> </Descriptions> </attribute> - <attribute PhysicalName="devhub_TenantID"> - <Type>nvarchar</Type> - <Name>devhub_tenantid</Name> - <LogicalName>devhub_tenantid</LogicalName> - <RequiredLevel>required</RequiredLevel> + <attribute PhysicalName="devhub_Solution"> + <Type>lookup</Type> + <Name>devhub_solution</Name> + <LogicalName>devhub_solution</LogicalName> + <RequiredLevel>none</RequiredLevel> <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> <ImeMode>auto</ImeMode> <ValidForUpdateApi>1</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> <ValidForCreateApi>1</ValidForCreateApi> <IsCustomField>1</IsCustomField> - <IsAuditEnabled>1</IsAuditEnabled> + <IsAuditEnabled>0</IsAuditEnabled> <IsSecured>0</IsSecured> <IntroducedVersion>0.2.0</IntroducedVersion> <IsCustomizable>1</IsCustomizable> @@ -318,14 +317,13 @@ <IsFilterable>0</IsFilterable> <IsRetrievable>0</IsRetrievable> <IsLocalizable>0</IsLocalizable> - <Format>text</Format> - <MaxLength>36</MaxLength> - <Length>72</Length> + <LookupStyle>single</LookupStyle> + <LookupTypes /> <displaynames> - <displayname description="Tenant ID" languagecode="1033" /> + <displayname description="Solution" languagecode="1033" /> </displaynames> <Descriptions> - <Description description="The tenant ID of the target instance." languagecode="1033" /> + <Description description="The solution this environment was created for (applies to ephemeral environments only)" languagecode="1033" /> </Descriptions> </attribute> <attribute PhysicalName="devhub_Url"> @@ -354,9 +352,9 @@ <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> <IsDataSourceSecret>0</IsDataSourceSecret> <AutoNumberFormat></AutoNumberFormat> - <IsSearchable>0</IsSearchable> + <IsSearchable>1</IsSearchable> <IsFilterable>0</IsFilterable> - <IsRetrievable>0</IsRetrievable> + <IsRetrievable>1</IsRetrievable> <IsLocalizable>0</IsLocalizable> <Format>url</Format> <MaxLength>200</MaxLength> @@ -613,6 +611,7 @@ <Name>owningbusinessunit</Name> <LogicalName>owningbusinessunit</LogicalName> <RequiredLevel>none</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> <ImeMode>auto</ImeMode> <ValidForUpdateApi>0</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> @@ -733,7 +732,7 @@ <ImeMode>auto</ImeMode> <ValidForUpdateApi>1</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> - <ValidForCreateApi>0</ValidForCreateApi> + <ValidForCreateApi>1</ValidForCreateApi> <IsCustomField>0</IsCustomField> <IsAuditEnabled>1</IsAuditEnabled> <IsSecured>0</IsSecured> @@ -812,7 +811,7 @@ <AutoNumberFormat></AutoNumberFormat> <IsSearchable>0</IsSearchable> <IsFilterable>0</IsFilterable> - <IsRetrievable>0</IsRetrievable> + <IsRetrievable>1</IsRetrievable> <IsLocalizable>0</IsLocalizable> <optionset Name="devhub_environment_statuscode"> <OptionSetType>status</OptionSetType> @@ -825,14 +824,34 @@ <Description description="Reason for the status of the Environment" languagecode="1033" /> </Descriptions> <statuses> - <status value="1" state="0"> + <status value="353400004" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400004" tostatusid="2" /><allowedtransition sourcestatusid="353400004" tostatusid="353400002" /><allowedtransition sourcestatusid="353400004" tostatusid="1" /><allowedtransition sourcestatusid="353400004" tostatusid="353400001" /></allowedtransitions>" Color="#0000ff"> <labels> - <label description="Active" languagecode="1033" /> + <label description="Pending Provision" languagecode="1033" /> </labels> </status> - <status value="2" state="1"> + <status value="353400001" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400001" tostatusid="353400002" /><allowedtransition sourcestatusid="353400001" tostatusid="1" /><allowedtransition sourcestatusid="353400001" tostatusid="2" /><allowedtransition sourcestatusid="353400001" tostatusid="353400003" /></allowedtransitions>" Color="#0000ff"> <labels> - <label description="Inactive" languagecode="1033" /> + <label description="Provisioning" languagecode="1033" /> + </labels> + </status> + <status value="353400002" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400002" tostatusid="2" /><allowedtransition sourcestatusid="353400002" tostatusid="353400001" /><allowedtransition sourcestatusid="353400002" tostatusid="1" /><allowedtransition sourcestatusid="353400002" tostatusid="353400003" /><allowedtransition sourcestatusid="353400002" tostatusid="353400004" /></allowedtransitions>" Color="#0000ff"> + <labels> + <label description="Failed to Provision" languagecode="1033" /> + </labels> + </status> + <status value="1" state="0" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="1" tostatusid="2" /><allowedtransition sourcestatusid="1" tostatusid="353400003" /></allowedtransitions>" Color="#0000ff"> + <labels> + <label description="Ready" languagecode="1033" /> + </labels> + </status> + <status value="353400003" state="1" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="353400003" tostatusid="2" /><allowedtransition sourcestatusid="353400003" tostatusid="1" /></allowedtransitions>" Color="#0000ff"> + <labels> + <label description="Pending Delete" languagecode="1033" /> + </labels> + </status> + <status value="2" state="1" TransitionData="<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition sourcestatusid="2" tostatusid="1" /><allowedtransition sourcestatusid="2" tostatusid="353400004" /></allowedtransitions>" Color="#0000ff"> + <labels> + <label description="Deleted" languagecode="1033" /> </labels> </status> </statuses> @@ -923,20 +942,6 @@ </Descriptions> </attribute> </attributes> - <EntityKeys> - <EntityKey> - <Name>devhub_Url</Name> - <LogicalName>devhub_url</LogicalName> - <IntroducedVersion>0.0.1.0</IntroducedVersion> - <IsCustomizable>0</IsCustomizable> - <EntityKeyAttributes> - <AttributeName>devhub_url</AttributeName> - </EntityKeyAttributes> - <displaynames> - <displayname description="URL" languagecode="1033" /> - </displaynames> - </EntityKey> - </EntityKeys> <EntitySetName>devhub_environments</EntitySetName> <IsDuplicateCheckSupported>1</IsDuplicateCheckSupported> <IsBusinessProcessEnabled>0</IsBusinessProcessEnabled> @@ -995,7 +1000,7 @@ <IconMediumName>devhub_/Images/devhub_Environment.svg</IconMediumName> <IconSmallName>devhub_/Images/devhub_Environment.svg</IconSmallName> <IconVectorName>devhub_/Images/devhub_Environment.svg</IconVectorName> - <EnforceStateTransitions>0</EnforceStateTransitions> + <EnforceStateTransitions>1</EnforceStateTransitions> <CanChangeHierarchicalRelationship>1</CanChangeHierarchicalRelationship> <EntityHelpUrlEnabled>0</EntityHelpUrlEnabled> <ChangeTrackingEnabled>0</ChangeTrackingEnabled> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/main/{9055186e-ceb9-4d30-bc5f-88433ecb87f1}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/main/{9055186e-ceb9-4d30-bc5f-88433ecb87f1}.xml index 1352997..68c1f0a 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/main/{9055186e-ceb9-4d30-bc5f-88433ecb87f1}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/main/{9055186e-ceb9-4d30-bc5f-88433ecb87f1}.xml @@ -12,7 +12,7 @@ <label description="General" languagecode="1033" /> </labels> <columns> - <column width="100%"> + <column width="50%"> <sections> <section showlabel="true" showbar="false" IsUserDefined="0" id="{2d27e888-4bf1-48a7-b489-dd78e5cb3ce0}" name="tab_general_section_details" columns="1"> <labels> @@ -36,54 +36,48 @@ </cell> </row> <row> - <cell locklevel="0" id="{f9925bc6-a4cc-4f8c-bfee-bcd320a6c46d}"> + <cell id="{a62a5031-88e7-4bd9-88f1-ae889e563f02}" locklevel="0"> <labels> - <label description="" languagecode="1033" /> + <label description="Lifetime" languagecode="1033" /> </labels> + <control id="devhub_lifetime" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_lifetime" disabled="true" /> </cell> </row> - </rows> - </section> - <section name="tab_geneal_section_auth" id="e1d86fd7-8117-4c2b-a194-eb8a2b13f8ed" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> - <labels> - <label description="Auth" languagecode="1033" /> - </labels> - <rows> <row> - <cell id="{5fdefa8e-b2ee-4c40-b319-7e0e36af08c7}" locklevel="0"> + <cell id="{3b016cf9-f519-4aff-8b87-ed2ef0339481}" locklevel="0" visible="false"> <labels> - <label description="Tenant ID" languagecode="1033" /> + <label description="Solution" languagecode="1033" /> </labels> - <control id="devhub_tenantid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_tenantid" disabled="false" /> + <control id="devhub_solution" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_solution" disabled="true"> + <parameters> + <AvailableViewIds>{3FE92E4D-4835-4CE6-A1BD-A85092283B6D}</AvailableViewIds> + <DisableViewPicker>true</DisableViewPicker> + </parameters> + </control> </cell> </row> <row> - <cell id="{c8f500bc-c64d-4cd2-99a3-ab91ffdb5c76}" locklevel="0"> + <cell id="{589d2326-2c08-4b2c-8089-c6ea68de796f}" locklevel="0" visible="false" availableforphone="true"> <labels> - <label description="Client ID" languagecode="1033" /> + <label description="Commit Hash" languagecode="1033" /> </labels> - <control id="devhub_clientid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_clientid" disabled="false" /> - </cell> - </row> - <row> - <cell id="{de94194b-a577-4947-8369-f81f64e992d3}" locklevel="0"> - <labels> - <label description="Client Secret" languagecode="1033" /> - </labels> - <control id="devhub_clientsecret" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_clientsecret" disabled="false" /> + <control id="devhub_commithash" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_commithash" disabled="true" /> </cell> </row> </rows> </section> </sections> </column> + <column width="50%"> + <sections></sections> + </column> </columns> </tab> </tabs> <header id="{9579a346-a51d-4681-b1e6-6d4bf08f2ef2}" columns="111"> <rows> <row> - <cell id="{77fb0311-7536-40ac-b77e-9d5bb3699ec4}"> + <cell id="{77fb0311-7536-40ac-b77e-9d5bb3699ec4}" showlabel="false"> <labels> <label description="" languagecode="1033" /> </labels> @@ -106,7 +100,7 @@ <footer id="{a8c05818-b375-415a-ba7b-dbe82404843c}" columns="111"> <rows> <row> - <cell id="{df5eb271-8b09-4876-8392-9168c28bd075}"> + <cell id="{df5eb271-8b09-4876-8392-9168c28bd075}" showlabel="false"> <labels> <label description="" languagecode="1033" /> </labels> @@ -127,7 +121,7 @@ </rows> </footer> <Navigation> - <NavBar /> + <NavBar></NavBar> <NavBarAreas> <NavBarArea Id="Info"> <Titles> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/main/{9055186e-ceb9-4d30-bc5f-88433ecb87f1}_managed.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/main/{9055186e-ceb9-4d30-bc5f-88433ecb87f1}_managed.xml index 1352997..68c1f0a 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/main/{9055186e-ceb9-4d30-bc5f-88433ecb87f1}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/main/{9055186e-ceb9-4d30-bc5f-88433ecb87f1}_managed.xml @@ -12,7 +12,7 @@ <label description="General" languagecode="1033" /> </labels> <columns> - <column width="100%"> + <column width="50%"> <sections> <section showlabel="true" showbar="false" IsUserDefined="0" id="{2d27e888-4bf1-48a7-b489-dd78e5cb3ce0}" name="tab_general_section_details" columns="1"> <labels> @@ -36,54 +36,48 @@ </cell> </row> <row> - <cell locklevel="0" id="{f9925bc6-a4cc-4f8c-bfee-bcd320a6c46d}"> + <cell id="{a62a5031-88e7-4bd9-88f1-ae889e563f02}" locklevel="0"> <labels> - <label description="" languagecode="1033" /> + <label description="Lifetime" languagecode="1033" /> </labels> + <control id="devhub_lifetime" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_lifetime" disabled="true" /> </cell> </row> - </rows> - </section> - <section name="tab_geneal_section_auth" id="e1d86fd7-8117-4c2b-a194-eb8a2b13f8ed" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> - <labels> - <label description="Auth" languagecode="1033" /> - </labels> - <rows> <row> - <cell id="{5fdefa8e-b2ee-4c40-b319-7e0e36af08c7}" locklevel="0"> + <cell id="{3b016cf9-f519-4aff-8b87-ed2ef0339481}" locklevel="0" visible="false"> <labels> - <label description="Tenant ID" languagecode="1033" /> + <label description="Solution" languagecode="1033" /> </labels> - <control id="devhub_tenantid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_tenantid" disabled="false" /> + <control id="devhub_solution" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_solution" disabled="true"> + <parameters> + <AvailableViewIds>{3FE92E4D-4835-4CE6-A1BD-A85092283B6D}</AvailableViewIds> + <DisableViewPicker>true</DisableViewPicker> + </parameters> + </control> </cell> </row> <row> - <cell id="{c8f500bc-c64d-4cd2-99a3-ab91ffdb5c76}" locklevel="0"> + <cell id="{589d2326-2c08-4b2c-8089-c6ea68de796f}" locklevel="0" visible="false" availableforphone="true"> <labels> - <label description="Client ID" languagecode="1033" /> + <label description="Commit Hash" languagecode="1033" /> </labels> - <control id="devhub_clientid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_clientid" disabled="false" /> - </cell> - </row> - <row> - <cell id="{de94194b-a577-4947-8369-f81f64e992d3}" locklevel="0"> - <labels> - <label description="Client Secret" languagecode="1033" /> - </labels> - <control id="devhub_clientsecret" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_clientsecret" disabled="false" /> + <control id="devhub_commithash" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_commithash" disabled="true" /> </cell> </row> </rows> </section> </sections> </column> + <column width="50%"> + <sections></sections> + </column> </columns> </tab> </tabs> <header id="{9579a346-a51d-4681-b1e6-6d4bf08f2ef2}" columns="111"> <rows> <row> - <cell id="{77fb0311-7536-40ac-b77e-9d5bb3699ec4}"> + <cell id="{77fb0311-7536-40ac-b77e-9d5bb3699ec4}" showlabel="false"> <labels> <label description="" languagecode="1033" /> </labels> @@ -106,7 +100,7 @@ <footer id="{a8c05818-b375-415a-ba7b-dbe82404843c}" columns="111"> <rows> <row> - <cell id="{df5eb271-8b09-4876-8392-9168c28bd075}"> + <cell id="{df5eb271-8b09-4876-8392-9168c28bd075}" showlabel="false"> <labels> <label description="" languagecode="1033" /> </labels> @@ -127,7 +121,7 @@ </rows> </footer> <Navigation> - <NavBar /> + <NavBar></NavBar> <NavBarAreas> <NavBarArea Id="Info"> <Titles> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quick/{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quick/{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}.xml index 2c61e49..8a1619f 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quick/{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quick/{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}.xml @@ -20,7 +20,7 @@ </labels> <rows> <row> - <cell id="{e3d809de-175d-48c9-8b50-972324e32f46}"> + <cell id="{e3d809de-175d-48c9-8b50-972324e32f46}" showlabel="true" visible="false"> <labels> <label description="Name" languagecode="1033" /> </labels> @@ -36,11 +36,11 @@ </cell> </row> <row> - <cell id="{beac85cb-2383-9c7e-22ba-d53622b2adc6}" showlabel="true" locklevel="0"> + <cell id="{910ade84-13f7-4a25-a0bb-64f0e2c5801b}" locklevel="0"> <labels> - <label description="Status Reason" languagecode="1033" /> + <label description="Lifetime" languagecode="1033" /> </labels> - <control id="statuscode" classid="{5D68B988-0661-4db2-BC3E-17598AD3BE6C}" datafieldname="statuscode" disabled="false" /> + <control id="devhub_lifetime" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_lifetime" disabled="false" /> </cell> </row> <row> @@ -56,6 +56,14 @@ </control> </cell> </row> + <row> + <cell id="{f584d36c-26b2-48e3-8b36-a560a210cb19}" locklevel="0"> + <labels> + <label description="Status Reason" languagecode="1033" /> + </labels> + <control id="statuscode" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="statuscode" disabled="false" /> + </cell> + </row> </rows> </section> </sections> @@ -63,6 +71,9 @@ </columns> </tab> </tabs> + <DisplayConditions Order="0" FallbackForm="true"> + <Everyone /> + </DisplayConditions> </form> <IsCustomizable>1</IsCustomizable> <CanBeDeleted>1</CanBeDeleted> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quick/{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}_managed.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quick/{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}_managed.xml index 2c61e49..8a1619f 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quick/{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quick/{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}_managed.xml @@ -20,7 +20,7 @@ </labels> <rows> <row> - <cell id="{e3d809de-175d-48c9-8b50-972324e32f46}"> + <cell id="{e3d809de-175d-48c9-8b50-972324e32f46}" showlabel="true" visible="false"> <labels> <label description="Name" languagecode="1033" /> </labels> @@ -36,11 +36,11 @@ </cell> </row> <row> - <cell id="{beac85cb-2383-9c7e-22ba-d53622b2adc6}" showlabel="true" locklevel="0"> + <cell id="{910ade84-13f7-4a25-a0bb-64f0e2c5801b}" locklevel="0"> <labels> - <label description="Status Reason" languagecode="1033" /> + <label description="Lifetime" languagecode="1033" /> </labels> - <control id="statuscode" classid="{5D68B988-0661-4db2-BC3E-17598AD3BE6C}" datafieldname="statuscode" disabled="false" /> + <control id="devhub_lifetime" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_lifetime" disabled="false" /> </cell> </row> <row> @@ -56,6 +56,14 @@ </control> </cell> </row> + <row> + <cell id="{f584d36c-26b2-48e3-8b36-a560a210cb19}" locklevel="0"> + <labels> + <label description="Status Reason" languagecode="1033" /> + </labels> + <control id="statuscode" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="statuscode" disabled="false" /> + </cell> + </row> </rows> </section> </sections> @@ -63,6 +71,9 @@ </columns> </tab> </tabs> + <DisplayConditions Order="0" FallbackForm="true"> + <Everyone /> + </DisplayConditions> </form> <IsCustomizable>1</IsCustomizable> <CanBeDeleted>1</CanBeDeleted> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quickCreate/{91515219-2b79-eb11-a812-002248414025}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quickCreate/{91515219-2b79-eb11-a812-002248414025}.xml index ccae1d6..a2c3056 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quickCreate/{91515219-2b79-eb11-a812-002248414025}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quickCreate/{91515219-2b79-eb11-a812-002248414025}.xml @@ -47,27 +47,10 @@ </labels> <rows> <row> - <cell id="{8c4cb554-585f-44f1-8f79-05b889e9b37d}" locklevel="0" labelid="{c4cf88bc-89c7-46c2-842b-0dfb85fe32a7}"> + <cell id="{26e57b50-0e2a-762c-684c-072d82576153}" showlabel="false"> <labels> - <label description="Tenant ID" languagecode="1033" /> - </labels> - <control id="devhub_tenantid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_tenantid" disabled="false" /> - </cell> - </row> - <row> - <cell id="{baa38e8e-3f53-4bb6-b7a0-9195da2d6496}" locklevel="0" labelid="{58f456d6-eae7-4859-97eb-4542506d95fa}"> - <labels> - <label description="Client ID" languagecode="1033" /> - </labels> - <control id="devhub_clientid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_clientid" disabled="false" /> - </cell> - </row> - <row> - <cell id="{9871a02a-9aed-4772-8354-6400947539a6}" locklevel="0" labelid="{689500f2-5556-459b-b79e-519214daf5a7}"> - <labels> - <label description="Client Secret" languagecode="1033" /> + <label description="" languagecode="1033" /> </labels> - <control id="devhub_clientsecret" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_clientsecret" disabled="false" /> </cell> </row> </rows> @@ -82,7 +65,7 @@ </labels> <rows> <row> - <cell id="07C04A4E-A482-45CC-BAB7-7FCA3CD02938" labelid="{9fe17130-6b38-40d1-a275-900aed3737ba}"> + <cell id="07C04A4E-A482-45CC-BAB7-7FCA3CD02938" labelid="{9fe17130-6b38-40d1-a275-900aed3737ba}" showlabel="false"> <labels> <label description="" languagecode="1033" /> </labels> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quickCreate/{91515219-2b79-eb11-a812-002248414025}_managed.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quickCreate/{91515219-2b79-eb11-a812-002248414025}_managed.xml index ccae1d6..a2c3056 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quickCreate/{91515219-2b79-eb11-a812-002248414025}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/FormXml/quickCreate/{91515219-2b79-eb11-a812-002248414025}_managed.xml @@ -47,27 +47,10 @@ </labels> <rows> <row> - <cell id="{8c4cb554-585f-44f1-8f79-05b889e9b37d}" locklevel="0" labelid="{c4cf88bc-89c7-46c2-842b-0dfb85fe32a7}"> + <cell id="{26e57b50-0e2a-762c-684c-072d82576153}" showlabel="false"> <labels> - <label description="Tenant ID" languagecode="1033" /> - </labels> - <control id="devhub_tenantid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_tenantid" disabled="false" /> - </cell> - </row> - <row> - <cell id="{baa38e8e-3f53-4bb6-b7a0-9195da2d6496}" locklevel="0" labelid="{58f456d6-eae7-4859-97eb-4542506d95fa}"> - <labels> - <label description="Client ID" languagecode="1033" /> - </labels> - <control id="devhub_clientid" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_clientid" disabled="false" /> - </cell> - </row> - <row> - <cell id="{9871a02a-9aed-4772-8354-6400947539a6}" locklevel="0" labelid="{689500f2-5556-459b-b79e-519214daf5a7}"> - <labels> - <label description="Client Secret" languagecode="1033" /> + <label description="" languagecode="1033" /> </labels> - <control id="devhub_clientsecret" classid="{4273EDBD-AC1D-40D3-9FB2-095C621B552D}" datafieldname="devhub_clientsecret" disabled="false" /> </cell> </row> </rows> @@ -82,7 +65,7 @@ </labels> <rows> <row> - <cell id="07C04A4E-A482-45CC-BAB7-7FCA3CD02938" labelid="{9fe17130-6b38-40d1-a275-900aed3737ba}"> + <cell id="07C04A4E-A482-45CC-BAB7-7FCA3CD02938" labelid="{9fe17130-6b38-40d1-a275-900aed3737ba}" showlabel="false"> <labels> <label description="" languagecode="1033" /> </labels> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{0ef451fd-9013-49fc-a71d-65288fff4cd5}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{0ef451fd-9013-49fc-a71d-65288fff4cd5}.xml index a59f5fe..9f5baac 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{0ef451fd-9013-49fc-a71d-65288fff4cd5}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{0ef451fd-9013-49fc-a71d-65288fff4cd5}.xml @@ -11,7 +11,9 @@ <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_environmentid"> <cell name="devhub_name" width="300" /> - <cell name="createdon" width="125" /> + <cell name="devhub_lifetime" width="100" /> + <cell name="devhub_url" width="300" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="200" /> </row> </grid> </layoutxml> @@ -21,7 +23,9 @@ <entity name="devhub_environment"> <attribute name="devhub_environmentid" /> <attribute name="devhub_name" /> - <attribute name="createdon" /> + <attribute name="devhub_url" /> + <attribute name="statuscode" /> + <attribute name="devhub_lifetime" /> <order attribute="devhub_name" descending="false" /> </entity> </fetch> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{315fb094-91e7-46be-a7bb-e3dd68c0431e}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{315fb094-91e7-46be-a7bb-e3dd68c0431e}.xml index 804dd3e..301c6a4 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{315fb094-91e7-46be-a7bb-e3dd68c0431e}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{315fb094-91e7-46be-a7bb-e3dd68c0431e}.xml @@ -11,8 +11,9 @@ <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_environmentid"> <cell name="devhub_name" width="300" /> - <cell name="devhub_url" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="statuscode" width="100" /> + <cell name="devhub_lifetime" width="100" /> + <cell name="devhub_url" width="300" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="200" /> </row> </grid> </layoutxml> @@ -27,6 +28,7 @@ </filter> <attribute name="devhub_url" /> <attribute name="statuscode" /> + <attribute name="devhub_lifetime" /> <order attribute="devhub_name" descending="false" /> </entity> </fetch> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{3bc6edba-36b0-4dd7-a26c-03c3a6d9e6f8}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{3bc6edba-36b0-4dd7-a26c-03c3a6d9e6f8}.xml index bab7be6..2b3ff70 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{3bc6edba-36b0-4dd7-a26c-03c3a6d9e6f8}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{3bc6edba-36b0-4dd7-a26c-03c3a6d9e6f8}.xml @@ -11,7 +11,9 @@ <grid name="" jump="devhub_name" select="1" icon="1" preview="1"> <row name="devhub_environment" id="devhub_environmentid"> <cell name="devhub_name" width="300" /> - <cell name="createdon" width="125" /> + <cell name="devhub_lifetime" width="100" /> + <cell name="devhub_url" width="300" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="200" /> </row> </grid> </layoutxml> @@ -21,10 +23,12 @@ <entity name="devhub_environment"> <attribute name="devhub_environmentid" /> <attribute name="devhub_name" /> - <attribute name="createdon" /> <filter type="and"> <condition attribute="statecode" operator="eq" value="0" /> </filter> + <attribute name="devhub_url" /> + <attribute name="statuscode" /> + <attribute name="devhub_lifetime" /> <order attribute="devhub_name" descending="false" /> </entity> </fetch> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{698f250a-0eba-428c-adc4-1b8c4a2faf83}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{698f250a-0eba-428c-adc4-1b8c4a2faf83}.xml index cffe60d..312c7b6 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{698f250a-0eba-428c-adc4-1b8c4a2faf83}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{698f250a-0eba-428c-adc4-1b8c4a2faf83}.xml @@ -11,8 +11,9 @@ <grid name="" jump="devhub_name" select="1" icon="1" preview="0"> <row name="devhub_environment" id="devhub_environmentid"> <cell name="devhub_name" width="300" /> - <cell name="devhub_url" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="statuscode" width="100" /> + <cell name="devhub_lifetime" width="100" /> + <cell name="devhub_url" width="300" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="200" /> </row> </grid> </layoutxml> @@ -25,9 +26,10 @@ <filter type="and"> <condition attribute="statecode" operator="eq" value="0" /> </filter> - <order attribute="devhub_name" descending="false" /> <attribute name="devhub_url" /> <attribute name="statuscode" /> + <attribute name="devhub_lifetime" /> + <order attribute="devhub_name" descending="false" /> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{6bf35967-f49b-4411-93a1-31ccf95debe1}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{6bf35967-f49b-4411-93a1-31ccf95debe1}.xml index 8e414db..1561cf8 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{6bf35967-f49b-4411-93a1-31ccf95debe1}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{6bf35967-f49b-4411-93a1-31ccf95debe1}.xml @@ -11,8 +11,9 @@ <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_environmentid"> <cell name="devhub_name" width="300" /> - <cell name="devhub_url" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="statuscode" width="100" /> + <cell name="devhub_lifetime" width="100" /> + <cell name="devhub_url" width="300" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="200" /> </row> </grid> </layoutxml> @@ -28,6 +29,7 @@ <attribute name="devhub_url" /> <attribute name="statuscode" /> <attribute name="devhub_environmentid" /> + <attribute name="devhub_lifetime" /> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{eae132e9-cdcc-4e8c-90bd-3acb38bca6be}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{eae132e9-cdcc-4e8c-90bd-3acb38bca6be}.xml index 64e068f..0f01fab 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{eae132e9-cdcc-4e8c-90bd-3acb38bca6be}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_environment/SavedQueries/{eae132e9-cdcc-4e8c-90bd-3acb38bca6be}.xml @@ -11,8 +11,9 @@ <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_environmentid"> <cell name="devhub_name" width="300" /> - <cell name="devhub_url" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="statuscode" width="100" /> + <cell name="devhub_lifetime" width="100" /> + <cell name="devhub_url" width="300" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="200" /> </row> </grid> </layoutxml> @@ -21,7 +22,6 @@ <fetch version="1.0" mapping="logical"> <entity name="devhub_environment"> <attribute name="devhub_name" /> - <order attribute="devhub_name" descending="false" /> <filter type="and"> <condition attribute="statecode" operator="eq" value="0" /> </filter> @@ -32,6 +32,8 @@ <attribute name="devhub_url" /> <attribute name="statuscode" /> <attribute name="devhub_environmentid" /> + <attribute name="devhub_lifetime" /> + <order attribute="devhub_name" descending="false" /> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_issue/FormXml/main/{97b0d9e0-dab1-41ae-8174-d252bfe633e6}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_issue/FormXml/main/{97b0d9e0-dab1-41ae-8174-d252bfe633e6}.xml index 1f4bcd6..c19f08f 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_issue/FormXml/main/{97b0d9e0-dab1-41ae-8174-d252bfe633e6}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_issue/FormXml/main/{97b0d9e0-dab1-41ae-8174-d252bfe633e6}.xml @@ -7,72 +7,20 @@ <FormActivationState>1</FormActivationState> <form> <tabs> - <tab verticallayout="true" id="{31a3608a-b475-4b8d-ae54-673f7c8cff2f}" IsUserDefined="1" name="{31a3608a-b475-4b8d-ae54-673f7c8cff2f}" locklevel="0" expanded="true" showlabel="false"> - <labels> - <label description="General" languagecode="1033" /> - </labels> - <columns> - <column width="100%"> - <sections> - <section showlabel="false" showbar="false" IsUserDefined="0" id="{9a43d5ad-41e5-4636-9627-ac9695f97330}"> - <labels> - <label description="General" languagecode="1033" /> - </labels> - <rows> - <row> - <cell id="{72864921-2c21-484c-81a6-4e169e3b7e0e}"> - <labels> - <label description="Name" languagecode="1033" /> - </labels> - <control id="devhub_name" classid="{4273EDBD-AC1D-40d3-9FB2-095C621B552D}" datafieldname="devhub_name" /> - </cell> - </row> - <row> - <cell id="{d62207d3-1d35-6eb5-e2c9-ba474ca65417}" showlabel="true" locklevel="0"> - <labels> - <label description="Type" languagecode="1033" /> - </labels> - <control id="devhub_type" classid="{3EF39988-22BB-4f0b-BBBE-64B5A3748AEE}" datafieldname="devhub_type" disabled="false" /> - </cell> - </row> - <row> - <cell id="{c23e1cec-bbd6-153a-1cc0-902941acaa6e}" showlabel="true" locklevel="0" rowspan="3"> - <labels> - <label description="Description" languagecode="1033" /> - </labels> - <control id="devhub_description" classid="{E0DECE4B-6FC8-4a8f-A065-082708572369}" datafieldname="devhub_description" disabled="false" uniqueid="{c1d976a8-16d6-0b3b-5ec3-09e24a1d2218}" /> - </cell> - </row> - <row /> - <row /> - <row> - <cell id="{ac01d49d-1a7d-d649-da1b-852277521738}" showlabel="true" locklevel="0"> - <labels> - <label description="URL" languagecode="1033" /> - </labels> - <control id="devhub_url" classid="{71716B6C-711E-476c-8AB8-5D11542BFB47}" datafieldname="devhub_url" disabled="false" /> - </cell> - </row> - </rows> - </section> - </sections> - </column> - </columns> - </tab> - <tab name="tab_Development" id="{31087d41-1a02-6a51-ea46-1118a2776021}" IsUserDefined="0" locklevel="0" showlabel="true" expanded="true"> + <tab name="tab_Development" id="{31087d41-1a02-6a51-ea46-1118a2776021}" IsUserDefined="0" locklevel="0" showlabel="true" expanded="true" ordinalvalue="1" solutionaction="Added"> <labels> <label description="Development" languagecode="1033" /> </labels> <columns> - <column width="100%"> + <column width="100%" id="0"> <sections> - <section name="tab_2_section_1" showlabel="false" showbar="false" locklevel="0" id="{e228c329-ee43-a60b-cdc7-76e5a860b162}" IsUserDefined="0" layout="varwidth" columns="1" labelwidth="115"> + <section name="tab_2_section_1" showlabel="false" showbar="false" locklevel="0" id="{e228c329-ee43-a60b-cdc7-76e5a860b162}" IsUserDefined="0" layout="varwidth" columns="1" labelwidth="115" ordinalvalue="0"> <labels> <label description="Section" languagecode="1033" /> </labels> <rows> <row> - <cell id="{b17045da-191e-ca1a-a13d-3cd4d8297718}" showlabel="true" locklevel="0"> + <cell id="{b17045da-191e-ca1a-a13d-3cd4d8297718}" showlabel="true" locklevel="0" ordinalvalue="10000"> <labels> <label description="Development Solution" languagecode="1033" /> </labels> @@ -80,7 +28,7 @@ </cell> </row> <row> - <cell id="{c7d2e37b-db79-1bde-1440-18491696de55}" showlabel="true" colspan="1" auto="false" rowspan="7"> + <cell id="{c7d2e37b-db79-1bde-1440-18491696de55}" showlabel="true" colspan="1" auto="false" rowspan="7" ordinalvalue="10001"> <labels> <label description="Solution Merges" languagecode="1033" /> </labels> @@ -118,83 +66,6 @@ </columns> </tab> </tabs> - <header id="{cc29eb5c-181e-4b70-a5d3-df945c804461}" columns="111"> - <rows> - <row> - <cell id="{836257b9-1202-4cba-a4da-83adb0e507cd}" showlabel="false"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - <cell id="{3844c87b-e919-0cd7-a95a-a669ecc63753}" showlabel="true" locklevel="0"> - <labels> - <label description="Owner" languagecode="1033" /> - </labels> - <control id="header_ownerid" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="ownerid" disabled="false" /> - </cell> - <cell id="{28321868-7e52-9b85-2aa1-c78383ab927c}" showlabel="true" locklevel="0"> - <labels> - <label description="Status Reason" languagecode="1033" /> - </labels> - <control id="header_statuscode" classid="{5D68B988-0661-4db2-BC3E-17598AD3BE6C}" datafieldname="statuscode" disabled="false" /> - </cell> - </row> - </rows> - </header> - <footer id="{dd825d5f-a285-4d23-81da-518121726b19}" columns="111"> - <rows> - <row> - <cell id="{00a76c5e-b553-40bf-97d7-ff62ac7e64eb}" showlabel="false"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - <cell id="{a7477d33-bd39-2c62-431a-b46d1186aa3e}" showlabel="true" locklevel="0"> - <labels> - <label description="Created By" languagecode="1033" /> - </labels> - <control id="footer_createdby" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="createdby" disabled="true" /> - </cell> - <cell id="{7c2e68a3-51a2-3222-a103-57d10b25840c}" showlabel="true" locklevel="0"> - <labels> - <label description="Created On" languagecode="1033" /> - </labels> - <control id="footer_createdon" classid="{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" datafieldname="createdon" disabled="true" /> - </cell> - </row> - </rows> - </footer> - <Navigation> - <NavBar></NavBar> - <NavBarAreas> - <NavBarArea Id="Info"> - <Titles> - <Title LCID="1033" Text="Common" /> - </Titles> - </NavBarArea> - <NavBarArea Id="Sales"> - <Titles> - <Title LCID="1033" Text="Sales" /> - </Titles> - </NavBarArea> - <NavBarArea Id="Service"> - <Titles> - <Title LCID="1033" Text="Service" /> - </Titles> - </NavBarArea> - <NavBarArea Id="Marketing"> - <Titles> - <Title LCID="1033" Text="Marketing" /> - </Titles> - </NavBarArea> - <NavBarArea Id="ProcessCenter"> - <Titles> - <Title LCID="1033" Text="Process Sessions" /> - </Titles> - </NavBarArea> - </NavBarAreas> - </Navigation> - <controlDescriptions /> </form> <LocalizedNames> <LocalizedName description="Information" languagecode="1033" /> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/Entity.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/Entity.xml index 8f1acd1..bca0a30 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/Entity.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/Entity.xml @@ -131,6 +131,44 @@ <Description description="Unique identifier of the delegate user who created the record." languagecode="1033" /> </Descriptions> </attribute> + <attribute PhysicalName="devhub_AppTemplates"> + <Type>multiselectpicklist</Type> + <Name>devhub_apptemplates</Name> + <LogicalName>devhub_apptemplates</LogicalName> + <RequiredLevel>none</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> + <ImeMode>auto</ImeMode> + <ValidForUpdateApi>1</ValidForUpdateApi> + <ValidForReadApi>1</ValidForReadApi> + <ValidForCreateApi>1</ValidForCreateApi> + <IsCustomField>1</IsCustomField> + <IsAuditEnabled>1</IsAuditEnabled> + <IsSecured>0</IsSecured> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <IsRenameable>1</IsRenameable> + <CanModifySearchSettings>1</CanModifySearchSettings> + <CanModifyRequirementLevelSettings>1</CanModifyRequirementLevelSettings> + <CanModifyAdditionalSettings>1</CanModifyAdditionalSettings> + <SourceType>0</SourceType> + <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> + <IsSortableEnabled>0</IsSortableEnabled> + <CanModifyGlobalFilterSettings>1</CanModifyGlobalFilterSettings> + <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> + <IsDataSourceSecret>0</IsDataSourceSecret> + <AutoNumberFormat></AutoNumberFormat> + <IsSearchable>0</IsSearchable> + <IsFilterable>0</IsFilterable> + <IsRetrievable>0</IsRetrievable> + <IsLocalizable>0</IsLocalizable> + <OptionSetName>devhub_apptemplates</OptionSetName> + <displaynames> + <displayname description="App Templates" languagecode="1033" /> + </displaynames> + <Descriptions> + <Description description="The app templates that this solution is dependent on. For example, if your solution is dependent on Field Service, you would select 'D365_FieldService'." languagecode="1033" /> + </Descriptions> + </attribute> <attribute PhysicalName="devhub_Description"> <Type>ntext</Type> <Name>devhub_description</Name> @@ -157,9 +195,9 @@ <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> <IsDataSourceSecret>0</IsDataSourceSecret> <AutoNumberFormat></AutoNumberFormat> - <IsSearchable>0</IsSearchable> + <IsSearchable>1</IsSearchable> <IsFilterable>0</IsFilterable> - <IsRetrievable>0</IsRetrievable> + <IsRetrievable>1</IsRetrievable> <IsLocalizable>0</IsLocalizable> <Format></Format> <MaxLength>2000</MaxLength> @@ -250,6 +288,45 @@ <Description description="The major version of the solution." languagecode="1033" /> </Descriptions> </attribute> + <attribute PhysicalName="devhub_MergeStrategy"> + <Type>picklist</Type> + <Name>devhub_mergestrategy</Name> + <LogicalName>devhub_mergestrategy</LogicalName> + <RequiredLevel>required</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> + <ImeMode>auto</ImeMode> + <ValidForUpdateApi>1</ValidForUpdateApi> + <ValidForReadApi>1</ValidForReadApi> + <ValidForCreateApi>1</ValidForCreateApi> + <IsCustomField>1</IsCustomField> + <IsAuditEnabled>1</IsAuditEnabled> + <IsSecured>0</IsSecured> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <IsRenameable>1</IsRenameable> + <CanModifySearchSettings>1</CanModifySearchSettings> + <CanModifyRequirementLevelSettings>1</CanModifyRequirementLevelSettings> + <CanModifyAdditionalSettings>1</CanModifyAdditionalSettings> + <SourceType>0</SourceType> + <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> + <IsSortableEnabled>0</IsSortableEnabled> + <CanModifyGlobalFilterSettings>1</CanModifyGlobalFilterSettings> + <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> + <IsDataSourceSecret>0</IsDataSourceSecret> + <AutoNumberFormat></AutoNumberFormat> + <IsSearchable>0</IsSearchable> + <IsFilterable>0</IsFilterable> + <IsRetrievable>1</IsRetrievable> + <IsLocalizable>0</IsLocalizable> + <AppDefaultValue>353400000</AppDefaultValue> + <OptionSetName>devhub_mergestrategy</OptionSetName> + <displaynames> + <displayname description="Merge Strategy" languagecode="1033" /> + </displaynames> + <Descriptions> + <Description description="Whether (non-conflicting) merges should be handled sequentially or in parallel. A parallel merge strategy requires an environment to be provisioned per solution merge. This means it will take longer to process any given solution merge, but many solution merges can be processed at the same time." languagecode="1033" /> + </Descriptions> + </attribute> <attribute PhysicalName="devhub_MinorVersion"> <Type>int</Type> <Name>devhub_minorversion</Name> @@ -371,7 +448,7 @@ <Type>lookup</Type> <Name>devhub_stagingenvironment</Name> <LogicalName>devhub_stagingenvironment</LogicalName> - <RequiredLevel>required</RequiredLevel> + <RequiredLevel>none</RequiredLevel> <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> <ImeMode>auto</ImeMode> <ValidForUpdateApi>1</ValidForUpdateApi> @@ -393,7 +470,7 @@ <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> <IsDataSourceSecret>0</IsDataSourceSecret> <AutoNumberFormat></AutoNumberFormat> - <IsSearchable>0</IsSearchable> + <IsSearchable>1</IsSearchable> <IsFilterable>0</IsFilterable> <IsRetrievable>0</IsRetrievable> <IsLocalizable>0</IsLocalizable> @@ -432,9 +509,9 @@ <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> <IsDataSourceSecret>0</IsDataSourceSecret> <AutoNumberFormat></AutoNumberFormat> - <IsSearchable>0</IsSearchable> + <IsSearchable>1</IsSearchable> <IsFilterable>0</IsFilterable> - <IsRetrievable>0</IsRetrievable> + <IsRetrievable>1</IsRetrievable> <IsLocalizable>0</IsLocalizable> <Format>text</Format> <MaxLength>65</MaxLength> @@ -732,6 +809,7 @@ <Name>owningbusinessunit</Name> <LogicalName>owningbusinessunit</LogicalName> <RequiredLevel>none</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> <ImeMode>auto</ImeMode> <ValidForUpdateApi>0</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}.xml index 90eddb5..178d288 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}.xml @@ -14,7 +14,7 @@ <columns> <column width="50%"> <sections> - <section showlabel="false" showbar="false" IsUserDefined="0" id="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" name="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" columns="1" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> + <section showlabel="true" showbar="false" IsUserDefined="0" id="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" name="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" columns="1" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> <labels> <label description="Information" languagecode="1033" /> </labels> @@ -43,10 +43,33 @@ <control id="devhub_description" classid="{E0DECE4B-6FC8-4a8f-A065-082708572369}" datafieldname="devhub_description" disabled="false" uniqueid="{217ec1b2-099d-9d4e-a0db-a8b4b749b1be}" /> </cell> </row> + </rows> + </section> + <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_4" id="5f174613-d7eb-4747-9761-153044e2e774" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> + <labels> + <label description="Merge" languagecode="1033" /> + </labels> + <rows> + <row> + <cell id="{20c99f02-f069-495e-b7f7-08579c263d5a}" locklevel="1"> + <labels> + <label description="Strategy" languagecode="1033" /> + </labels> + <control id="devhub_mergestrategy" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_mergestrategy" disabled="false" /> + </cell> + </row> + <row> + <cell id="{809c1b90-6458-4619-8004-d30d82292a6f}" locklevel="0" visible="false" colspan="1" rowspan="1"> + <labels> + <label description="App Templates" languagecode="1033" /> + </labels> + <control id="devhub_apptemplates" classid="{4AA28AB7-9C13-4F57-A73D-AD894D048B5F}" datafieldname="devhub_apptemplates" disabled="false" /> + </cell> + </row> <row> - <cell id="{9aa15507-7008-c434-248d-d6284d3192bc}" showlabel="true" locklevel="0"> + <cell id="{9aa15507-7008-c434-248d-d6284d3192bc}" showlabel="true" locklevel="0" visible="false"> <labels> - <label description="Staging Environment" languagecode="1033" /> + <label description="Environment" languagecode="1033" /> </labels> <control id="devhub_stagingenvironment" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_stagingenvironment" disabled="false" /> </cell> @@ -57,29 +80,46 @@ </column> <column width="50%"> <sections> - <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_3" showlabel="false" showbar="false" locklevel="0" id="{0cdbe593-e2a2-3804-d095-cdbe62c05d58}" IsUserDefined="0" layout="varwidth" columns="111" labelwidth="115" celllabelalignment="Left" celllabelposition="Top"> + <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_5" id="003c5bb4-9e52-4f4c-b441-e6202b6706d0" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="111" labelwidth="115"> <labels> <label description="Version" languagecode="1033" /> </labels> <rows> <row> - <cell id="{e19301c6-463e-5c3e-6700-c673cabaa697}" showlabel="true" locklevel="0"> + <cell id="{be7db78a-48bd-481f-85c8-e2c5114fc4bf}" locklevel="0" visible="true" showlabel="false"> + <labels> + <label description="Major" languagecode="1033" /> + </labels> + <control id="devhub_majorversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_majorversion" disabled="false" /> + </cell> + <cell id="{8bf95b2c-bc6f-4bb0-8a22-aefb26d29175}" locklevel="0" showlabel="false"> + <labels> + <label description="Minor" languagecode="1033" /> + </labels> + <control id="devhub_minorversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_minorversion" disabled="false" /> + </cell> + <cell id="{f233ef88-421d-4f5c-bcfa-ffc926b3bee5}" locklevel="0" showlabel="false"> + <labels> + <label description="Patch" languagecode="1033" /> + </labels> + <control id="devhub_patchversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_patchversion" disabled="false" /> + </cell> + </row> + <row> + <cell locklevel="0" id="{62c18c99-9af6-46b6-8a46-090f9109a565}" showlabel="false"> <labels> - <label description="Major Version" languagecode="1033" /> + <label description="" languagecode="1033" /> </labels> - <control id="devhub_majorversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_majorversion" disabled="false" uniqueid="{d32664c3-7098-dc7c-ceaa-d9dca570b8a3}" /> </cell> - <cell id="{5103b9da-c724-d938-8148-a7134446722e}" showlabel="true" locklevel="0"> + <cell showlabel="false" locklevel="0" id="{b3e525d7-31a5-47b9-be33-3f42eeffe0bf}"> <labels> - <label description="Minor Version" languagecode="1033" /> + <label description="" languagecode="1033" /> </labels> - <control id="devhub_minorversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_minorversion" disabled="false" uniqueid="{e54ad56a-c78b-9d51-31a4-ae26ee76e1d7}" /> </cell> - <cell id="{e3776aca-c481-d9b3-1111-39178420094b}" showlabel="true" locklevel="0"> + <cell showlabel="false" locklevel="0" id="{df0e9923-7171-4fac-bbeb-6deb101f825d}"> <labels> - <label description="Patch Version" languagecode="1033" /> + <label description="" languagecode="1033" /> </labels> - <control id="devhub_patchversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_patchversion" disabled="false" uniqueid="{9972edae-eebb-06cb-620b-5ad58de4975c}" /> </cell> </row> </rows> @@ -167,6 +207,21 @@ </Navigation> <controlDescriptions /> <DisplayConditions Order="0" FallbackForm="true" /> + <formLibraries> + <Library name="devhub_/Js/develop.common.js" libraryUniqueId="{2d5266a5-c773-4452-bdfa-f4673c8b88f6}" /> + </formLibraries> + <events> + <event name="onchange" application="true" active="true" attribute="devhub_mergestrategy"> + <Handlers> + <Handler functionName="DevelopmentHub.Develop.toggleFieldOnValue" libraryName="devhub_/Js/develop.common.js" handlerUniqueId="{ba2f03bb-7ba8-4cda-bdeb-a6fce8946663}" enabled="true" parameters=""devhub_mergestrategy", 353400001, "devhub_apptemplates"" passExecutionContext="true" /> + </Handlers> + </event> + <event name="onload" application="true" active="true"> + <Handlers> + <Handler functionName="DevelopmentHub.Develop.toggleFieldOnValue" libraryName="devhub_/Js/develop.common.js" handlerUniqueId="{c59fdf98-9269-4f96-a62a-1ee43cd98ff7}" enabled="true" parameters=""devhub_mergestrategy", 353400001, "devhub_apptemplates"" passExecutionContext="true" /> + </Handlers> + </event> + </events> </form> <IsCustomizable>1</IsCustomizable> <CanBeDeleted>1</CanBeDeleted> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}_managed.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}_managed.xml index 90eddb5..178d288 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/main/{6d588ec7-f362-43b4-b68a-e2181734f959}_managed.xml @@ -14,7 +14,7 @@ <columns> <column width="50%"> <sections> - <section showlabel="false" showbar="false" IsUserDefined="0" id="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" name="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" columns="1" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> + <section showlabel="true" showbar="false" IsUserDefined="0" id="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" name="{9df7542f-44b1-41e1-a5d1-bb002d3ef7ef}" columns="1" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> <labels> <label description="Information" languagecode="1033" /> </labels> @@ -43,10 +43,33 @@ <control id="devhub_description" classid="{E0DECE4B-6FC8-4a8f-A065-082708572369}" datafieldname="devhub_description" disabled="false" uniqueid="{217ec1b2-099d-9d4e-a0db-a8b4b749b1be}" /> </cell> </row> + </rows> + </section> + <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_4" id="5f174613-d7eb-4747-9761-153044e2e774" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> + <labels> + <label description="Merge" languagecode="1033" /> + </labels> + <rows> + <row> + <cell id="{20c99f02-f069-495e-b7f7-08579c263d5a}" locklevel="1"> + <labels> + <label description="Strategy" languagecode="1033" /> + </labels> + <control id="devhub_mergestrategy" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_mergestrategy" disabled="false" /> + </cell> + </row> + <row> + <cell id="{809c1b90-6458-4619-8004-d30d82292a6f}" locklevel="0" visible="false" colspan="1" rowspan="1"> + <labels> + <label description="App Templates" languagecode="1033" /> + </labels> + <control id="devhub_apptemplates" classid="{4AA28AB7-9C13-4F57-A73D-AD894D048B5F}" datafieldname="devhub_apptemplates" disabled="false" /> + </cell> + </row> <row> - <cell id="{9aa15507-7008-c434-248d-d6284d3192bc}" showlabel="true" locklevel="0"> + <cell id="{9aa15507-7008-c434-248d-d6284d3192bc}" showlabel="true" locklevel="0" visible="false"> <labels> - <label description="Staging Environment" languagecode="1033" /> + <label description="Environment" languagecode="1033" /> </labels> <control id="devhub_stagingenvironment" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_stagingenvironment" disabled="false" /> </cell> @@ -57,29 +80,46 @@ </column> <column width="50%"> <sections> - <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_3" showlabel="false" showbar="false" locklevel="0" id="{0cdbe593-e2a2-3804-d095-cdbe62c05d58}" IsUserDefined="0" layout="varwidth" columns="111" labelwidth="115" celllabelalignment="Left" celllabelposition="Top"> + <section name="{80977aef-85bb-46cc-9c30-4ab517bee6bd}_section_5" id="003c5bb4-9e52-4f4c-b441-e6202b6706d0" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="111" labelwidth="115"> <labels> <label description="Version" languagecode="1033" /> </labels> <rows> <row> - <cell id="{e19301c6-463e-5c3e-6700-c673cabaa697}" showlabel="true" locklevel="0"> + <cell id="{be7db78a-48bd-481f-85c8-e2c5114fc4bf}" locklevel="0" visible="true" showlabel="false"> + <labels> + <label description="Major" languagecode="1033" /> + </labels> + <control id="devhub_majorversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_majorversion" disabled="false" /> + </cell> + <cell id="{8bf95b2c-bc6f-4bb0-8a22-aefb26d29175}" locklevel="0" showlabel="false"> + <labels> + <label description="Minor" languagecode="1033" /> + </labels> + <control id="devhub_minorversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_minorversion" disabled="false" /> + </cell> + <cell id="{f233ef88-421d-4f5c-bcfa-ffc926b3bee5}" locklevel="0" showlabel="false"> + <labels> + <label description="Patch" languagecode="1033" /> + </labels> + <control id="devhub_patchversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_patchversion" disabled="false" /> + </cell> + </row> + <row> + <cell locklevel="0" id="{62c18c99-9af6-46b6-8a46-090f9109a565}" showlabel="false"> <labels> - <label description="Major Version" languagecode="1033" /> + <label description="" languagecode="1033" /> </labels> - <control id="devhub_majorversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_majorversion" disabled="false" uniqueid="{d32664c3-7098-dc7c-ceaa-d9dca570b8a3}" /> </cell> - <cell id="{5103b9da-c724-d938-8148-a7134446722e}" showlabel="true" locklevel="0"> + <cell showlabel="false" locklevel="0" id="{b3e525d7-31a5-47b9-be33-3f42eeffe0bf}"> <labels> - <label description="Minor Version" languagecode="1033" /> + <label description="" languagecode="1033" /> </labels> - <control id="devhub_minorversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_minorversion" disabled="false" uniqueid="{e54ad56a-c78b-9d51-31a4-ae26ee76e1d7}" /> </cell> - <cell id="{e3776aca-c481-d9b3-1111-39178420094b}" showlabel="true" locklevel="0"> + <cell showlabel="false" locklevel="0" id="{df0e9923-7171-4fac-bbeb-6deb101f825d}"> <labels> - <label description="Patch Version" languagecode="1033" /> + <label description="" languagecode="1033" /> </labels> - <control id="devhub_patchversion" classid="{C6D124CA-7EDA-4a60-AEA9-7FB8D318B68F}" datafieldname="devhub_patchversion" disabled="false" uniqueid="{9972edae-eebb-06cb-620b-5ad58de4975c}" /> </cell> </row> </rows> @@ -167,6 +207,21 @@ </Navigation> <controlDescriptions /> <DisplayConditions Order="0" FallbackForm="true" /> + <formLibraries> + <Library name="devhub_/Js/develop.common.js" libraryUniqueId="{2d5266a5-c773-4452-bdfa-f4673c8b88f6}" /> + </formLibraries> + <events> + <event name="onchange" application="true" active="true" attribute="devhub_mergestrategy"> + <Handlers> + <Handler functionName="DevelopmentHub.Develop.toggleFieldOnValue" libraryName="devhub_/Js/develop.common.js" handlerUniqueId="{ba2f03bb-7ba8-4cda-bdeb-a6fce8946663}" enabled="true" parameters=""devhub_mergestrategy", 353400001, "devhub_apptemplates"" passExecutionContext="true" /> + </Handlers> + </event> + <event name="onload" application="true" active="true"> + <Handlers> + <Handler functionName="DevelopmentHub.Develop.toggleFieldOnValue" libraryName="devhub_/Js/develop.common.js" handlerUniqueId="{c59fdf98-9269-4f96-a62a-1ee43cd98ff7}" enabled="true" parameters=""devhub_mergestrategy", 353400001, "devhub_apptemplates"" passExecutionContext="true" /> + </Handlers> + </event> + </events> </form> <IsCustomizable>1</IsCustomizable> <CanBeDeleted>1</CanBeDeleted> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}.xml index 94bfef1..d23e502 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}.xml @@ -43,8 +43,35 @@ <control id="devhub_description" classid="{E0DECE4B-6FC8-4A8F-A065-082708572369}" datafieldname="devhub_description" disabled="false" /> </cell> </row> + </rows> + </section> + </sections> + </column> + <column width="33%"> + <sections> + <section id="02DECBA0-3AE2-484D-A19F-C5353AF4F4F2" name="tab_1_column_2_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{2296ec5d-ba11-4b71-b468-3d865c935d5e}"> + <labels> + <label description="Merging" languagecode="1033" /> + </labels> + <rows> + <row> + <cell id="{cdbba345-8aa1-4273-886b-1df2fe11bfc4}" locklevel="0"> + <labels> + <label description="Merge Strategy" languagecode="1033" /> + </labels> + <control id="devhub_mergestrategy" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_mergestrategy" disabled="false" /> + </cell> + </row> <row> - <cell id="{997e0daa-8e16-41db-b678-54182f2c78fb}" locklevel="0" labelid="{b7b04a4d-263c-4528-a2e7-8a60eda97443}"> + <cell id="{17d3d8e1-b5e6-42be-aac9-1aec73e6bf47}" locklevel="0" visible="false" colspan="1" rowspan="1"> + <labels> + <label description="App Templates" languagecode="1033" /> + </labels> + <control id="devhub_apptemplates" classid="{4AA28AB7-9C13-4F57-A73D-AD894D048B5F}" datafieldname="devhub_apptemplates" disabled="false" /> + </cell> + </row> + <row> + <cell id="{997e0daa-8e16-41db-b678-54182f2c78fb}" locklevel="0" labelid="{b7b04a4d-263c-4528-a2e7-8a60eda97443}" visible="false"> <labels> <label description="Staging Environment" languagecode="1033" /> </labels> @@ -57,13 +84,13 @@ </column> <column width="33%"> <sections> - <section id="02DECBA0-3AE2-484D-A19F-C5353AF4F4F2" name="tab_1_column_2_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{2296ec5d-ba11-4b71-b468-3d865c935d5e}"> + <section id="46FD66EA-B686-41D9-AAE0-C565BD78EC1F" name="tab_1_column_3_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" visible="true" labelid="{292c0228-cb8e-4ad0-aa69-5b8e74d8272c}"> <labels> <label description="Version" languagecode="1033" /> </labels> <rows> <row> - <cell id="{715ed134-530b-44ff-a528-10dcd6dda760}" locklevel="0" labelid="{21cb009b-a5ca-4289-a674-dc5d4b1c1c66}"> + <cell id="{715ed134-530b-44ff-a528-10dcd6dda760}" locklevel="0" labelid="{21cb009b-a5ca-4289-a674-dc5d4b1c1c66}" visible="false"> <labels> <label description="Major Version" languagecode="1033" /> </labels> @@ -71,7 +98,7 @@ </cell> </row> <row> - <cell id="{5758695a-8edd-47ec-8b21-ea3c9983ce39}" locklevel="0" labelid="{49e8cb39-92c3-4a05-a78e-285c543e2c07}"> + <cell id="{5758695a-8edd-47ec-8b21-ea3c9983ce39}" locklevel="0" labelid="{49e8cb39-92c3-4a05-a78e-285c543e2c07}" visible="false"> <labels> <label description="Minor Version" languagecode="1033" /> </labels> @@ -79,26 +106,15 @@ </cell> </row> <row> - <cell id="{4a8440d8-9057-42e8-867b-0d68fe7cd90f}" locklevel="0" labelid="{f424b533-c965-4f35-b62f-fa20f508a56d}"> + <cell id="{4a8440d8-9057-42e8-867b-0d68fe7cd90f}" locklevel="0" labelid="{f424b533-c965-4f35-b62f-fa20f508a56d}" visible="false"> <labels> <label description="Patch Version" languagecode="1033" /> </labels> <control id="devhub_patchversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_patchversion" disabled="false" /> </cell> </row> - </rows> - </section> - </sections> - </column> - <column width="33%"> - <sections> - <section id="46FD66EA-B686-41D9-AAE0-C565BD78EC1F" name="tab_1_column_3_section_1" columns="1" showlabel="false" showbar="false" IsUserDefined="0" labelwidth="130" visible="false" labelid="{292c0228-cb8e-4ad0-aa69-5b8e74d8272c}"> - <labels> - <label description="Section" languagecode="1033" /> - </labels> - <rows> <row> - <cell id="{49e4d6c7-f98a-4377-8284-1545bdf455b9}" locklevel="0" visible="true" labelid="{3afe64d3-3eb4-42a1-89c5-3cf07eddaeaa}"> + <cell id="{49e4d6c7-f98a-4377-8284-1545bdf455b9}" locklevel="0" visible="false" labelid="{3afe64d3-3eb4-42a1-89c5-3cf07eddaeaa}"> <labels> <label description="Owner" languagecode="1033" /> </labels> @@ -116,6 +132,21 @@ <Role Id="{627090ff-40a3-4053-8790-584edc5be201}" /> <Role Id="{119f245c-3cc8-4b62-b31c-d1a046ced15d}" /> </DisplayConditions> + <formLibraries> + <Library name="devhub_/Js/develop.common.js" libraryUniqueId="{cde76d69-bfe2-4ac7-a290-06478969450b}" /> + </formLibraries> + <events> + <event name="onload" application="true" active="true"> + <Handlers> + <Handler functionName="DevelopmentHub.Develop.toggleFieldOnValue" libraryName="devhub_/Js/develop.common.js" handlerUniqueId="{9b84bbee-0a67-4abd-a275-6adc96d68c30}" enabled="true" parameters=""devhub_mergestrategy", 353400001, "devhub_apptemplates"" passExecutionContext="true" /> + </Handlers> + </event> + <event name="onchange" application="true" active="true" attribute="devhub_mergestrategy"> + <Handlers> + <Handler functionName="DevelopmentHub.Develop.toggleFieldOnValue" libraryName="devhub_/Js/develop.common.js" handlerUniqueId="{68abe4a5-636b-4f86-be9a-57dc6bd2a04e}" enabled="true" parameters=""devhub_mergestrategy", 353400001, "devhub_apptemplates"" passExecutionContext="true" /> + </Handlers> + </event> + </events> </form> <IsCustomizable>1</IsCustomizable> <CanBeDeleted>1</CanBeDeleted> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}_managed.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}_managed.xml index 94bfef1..d23e502 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/FormXml/quickCreate/{cb116382-2b79-eb11-a812-002248414025}_managed.xml @@ -43,8 +43,35 @@ <control id="devhub_description" classid="{E0DECE4B-6FC8-4A8F-A065-082708572369}" datafieldname="devhub_description" disabled="false" /> </cell> </row> + </rows> + </section> + </sections> + </column> + <column width="33%"> + <sections> + <section id="02DECBA0-3AE2-484D-A19F-C5353AF4F4F2" name="tab_1_column_2_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{2296ec5d-ba11-4b71-b468-3d865c935d5e}"> + <labels> + <label description="Merging" languagecode="1033" /> + </labels> + <rows> + <row> + <cell id="{cdbba345-8aa1-4273-886b-1df2fe11bfc4}" locklevel="0"> + <labels> + <label description="Merge Strategy" languagecode="1033" /> + </labels> + <control id="devhub_mergestrategy" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_mergestrategy" disabled="false" /> + </cell> + </row> <row> - <cell id="{997e0daa-8e16-41db-b678-54182f2c78fb}" locklevel="0" labelid="{b7b04a4d-263c-4528-a2e7-8a60eda97443}"> + <cell id="{17d3d8e1-b5e6-42be-aac9-1aec73e6bf47}" locklevel="0" visible="false" colspan="1" rowspan="1"> + <labels> + <label description="App Templates" languagecode="1033" /> + </labels> + <control id="devhub_apptemplates" classid="{4AA28AB7-9C13-4F57-A73D-AD894D048B5F}" datafieldname="devhub_apptemplates" disabled="false" /> + </cell> + </row> + <row> + <cell id="{997e0daa-8e16-41db-b678-54182f2c78fb}" locklevel="0" labelid="{b7b04a4d-263c-4528-a2e7-8a60eda97443}" visible="false"> <labels> <label description="Staging Environment" languagecode="1033" /> </labels> @@ -57,13 +84,13 @@ </column> <column width="33%"> <sections> - <section id="02DECBA0-3AE2-484D-A19F-C5353AF4F4F2" name="tab_1_column_2_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" labelid="{2296ec5d-ba11-4b71-b468-3d865c935d5e}"> + <section id="46FD66EA-B686-41D9-AAE0-C565BD78EC1F" name="tab_1_column_3_section_1" columns="1" showlabel="true" showbar="false" IsUserDefined="0" labelwidth="130" visible="true" labelid="{292c0228-cb8e-4ad0-aa69-5b8e74d8272c}"> <labels> <label description="Version" languagecode="1033" /> </labels> <rows> <row> - <cell id="{715ed134-530b-44ff-a528-10dcd6dda760}" locklevel="0" labelid="{21cb009b-a5ca-4289-a674-dc5d4b1c1c66}"> + <cell id="{715ed134-530b-44ff-a528-10dcd6dda760}" locklevel="0" labelid="{21cb009b-a5ca-4289-a674-dc5d4b1c1c66}" visible="false"> <labels> <label description="Major Version" languagecode="1033" /> </labels> @@ -71,7 +98,7 @@ </cell> </row> <row> - <cell id="{5758695a-8edd-47ec-8b21-ea3c9983ce39}" locklevel="0" labelid="{49e8cb39-92c3-4a05-a78e-285c543e2c07}"> + <cell id="{5758695a-8edd-47ec-8b21-ea3c9983ce39}" locklevel="0" labelid="{49e8cb39-92c3-4a05-a78e-285c543e2c07}" visible="false"> <labels> <label description="Minor Version" languagecode="1033" /> </labels> @@ -79,26 +106,15 @@ </cell> </row> <row> - <cell id="{4a8440d8-9057-42e8-867b-0d68fe7cd90f}" locklevel="0" labelid="{f424b533-c965-4f35-b62f-fa20f508a56d}"> + <cell id="{4a8440d8-9057-42e8-867b-0d68fe7cd90f}" locklevel="0" labelid="{f424b533-c965-4f35-b62f-fa20f508a56d}" visible="false"> <labels> <label description="Patch Version" languagecode="1033" /> </labels> <control id="devhub_patchversion" classid="{C6D124CA-7EDA-4A60-AEA9-7FB8D318B68F}" datafieldname="devhub_patchversion" disabled="false" /> </cell> </row> - </rows> - </section> - </sections> - </column> - <column width="33%"> - <sections> - <section id="46FD66EA-B686-41D9-AAE0-C565BD78EC1F" name="tab_1_column_3_section_1" columns="1" showlabel="false" showbar="false" IsUserDefined="0" labelwidth="130" visible="false" labelid="{292c0228-cb8e-4ad0-aa69-5b8e74d8272c}"> - <labels> - <label description="Section" languagecode="1033" /> - </labels> - <rows> <row> - <cell id="{49e4d6c7-f98a-4377-8284-1545bdf455b9}" locklevel="0" visible="true" labelid="{3afe64d3-3eb4-42a1-89c5-3cf07eddaeaa}"> + <cell id="{49e4d6c7-f98a-4377-8284-1545bdf455b9}" locklevel="0" visible="false" labelid="{3afe64d3-3eb4-42a1-89c5-3cf07eddaeaa}"> <labels> <label description="Owner" languagecode="1033" /> </labels> @@ -116,6 +132,21 @@ <Role Id="{627090ff-40a3-4053-8790-584edc5be201}" /> <Role Id="{119f245c-3cc8-4b62-b31c-d1a046ced15d}" /> </DisplayConditions> + <formLibraries> + <Library name="devhub_/Js/develop.common.js" libraryUniqueId="{cde76d69-bfe2-4ac7-a290-06478969450b}" /> + </formLibraries> + <events> + <event name="onload" application="true" active="true"> + <Handlers> + <Handler functionName="DevelopmentHub.Develop.toggleFieldOnValue" libraryName="devhub_/Js/develop.common.js" handlerUniqueId="{9b84bbee-0a67-4abd-a275-6adc96d68c30}" enabled="true" parameters=""devhub_mergestrategy", 353400001, "devhub_apptemplates"" passExecutionContext="true" /> + </Handlers> + </event> + <event name="onchange" application="true" active="true" attribute="devhub_mergestrategy"> + <Handlers> + <Handler functionName="DevelopmentHub.Develop.toggleFieldOnValue" libraryName="devhub_/Js/develop.common.js" handlerUniqueId="{68abe4a5-636b-4f86-be9a-57dc6bd2a04e}" enabled="true" parameters=""devhub_mergestrategy", 353400001, "devhub_apptemplates"" passExecutionContext="true" /> + </Handlers> + </event> + </events> </form> <IsCustomizable>1</IsCustomizable> <CanBeDeleted>1</CanBeDeleted> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{3fe92e4d-4835-4ce6-a1bd-a85092283b6d}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{3fe92e4d-4835-4ce6-a1bd-a85092283b6d}.xml index 347a588..3c46185 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{3fe92e4d-4835-4ce6-a1bd-a85092283b6d}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{3fe92e4d-4835-4ce6-a1bd-a85092283b6d}.xml @@ -11,8 +11,9 @@ <grid name="" jump="devhub_displayname" select="1" icon="1" preview="0"> <row name="devhub_solution" id="devhub_solutionid"> <cell name="devhub_displayname" width="300" /> - <cell name="devhub_uniquename" width="100" /> - <cell name="devhub_stagingenvironment" width="100" /> + <cell name="devhub_uniquename" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_mergestrategy" width="200" /> </row> </grid> </layoutxml> @@ -25,9 +26,10 @@ <filter type="and"> <condition attribute="statecode" operator="eq" value="0" /> </filter> - <order attribute="devhub_displayname" descending="false" /> <attribute name="devhub_uniquename" /> - <attribute name="devhub_stagingenvironment" /> + <attribute name="devhub_description" /> + <attribute name="devhub_mergestrategy" /> + <order attribute="devhub_displayname" descending="false" /> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{62d1fe69-baec-452c-8dc6-b36843c1f186}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{62d1fe69-baec-452c-8dc6-b36843c1f186}.xml index dca0a45..742b9c9 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{62d1fe69-baec-452c-8dc6-b36843c1f186}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{62d1fe69-baec-452c-8dc6-b36843c1f186}.xml @@ -11,9 +11,9 @@ <grid name="resultset" jump="devhub_displayname" select="1" icon="1" preview="1"> <row name="result" id="devhub_solutionid"> <cell name="devhub_displayname" width="300" /> - <cell name="devhub_uniquename" width="300" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_uniquename" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> <cell name="devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_stagingenvironment" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_mergestrategy" width="200" /> </row> </grid> </layoutxml> @@ -22,7 +22,6 @@ <fetch version="1.0" mapping="logical"> <entity name="devhub_solution"> <attribute name="devhub_displayname" /> - <order attribute="devhub_displayname" descending="false" /> <filter type="and"> <condition attribute="statecode" operator="eq" value="0" /> </filter> @@ -33,9 +32,10 @@ <condition attribute="devhub_description" operator="like" value="{0}" /> </filter> <attribute name="devhub_uniquename" /> - <attribute name="devhub_stagingenvironment" /> <attribute name="devhub_description" /> <attribute name="devhub_solutionid" /> + <attribute name="devhub_mergestrategy" /> + <order attribute="devhub_displayname" descending="false" /> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{b387e88d-e36f-4847-b447-2e62155cd888}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{b387e88d-e36f-4847-b447-2e62155cd888}.xml index 1c4af2a..18d5769 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{b387e88d-e36f-4847-b447-2e62155cd888}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{b387e88d-e36f-4847-b447-2e62155cd888}.xml @@ -13,7 +13,7 @@ <cell name="devhub_displayname" width="300" /> <cell name="devhub_uniquename" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> <cell name="devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_stagingenvironment" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_mergestrategy" width="200" /> </row> </grid> </layoutxml> @@ -27,9 +27,9 @@ <condition attribute="statecode" operator="eq" value="0" /> </filter> <attribute name="devhub_uniquename" /> - <attribute name="devhub_stagingenvironment" /> <attribute name="devhub_description" /> <attribute name="devhub_solutionid" /> + <attribute name="devhub_mergestrategy" /> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{d0e17777-70d6-4b40-9c51-84212aab6740}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{d0e17777-70d6-4b40-9c51-84212aab6740}.xml index 37c1335..c2cf40f 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{d0e17777-70d6-4b40-9c51-84212aab6740}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{d0e17777-70d6-4b40-9c51-84212aab6740}.xml @@ -13,7 +13,7 @@ <cell name="devhub_displayname" width="300" /> <cell name="devhub_uniquename" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> <cell name="devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_stagingenvironment" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_mergestrategy" width="200" /> </row> </grid> </layoutxml> @@ -24,8 +24,8 @@ <attribute name="devhub_solutionid" /> <attribute name="devhub_displayname" /> <attribute name="devhub_uniquename" /> - <attribute name="devhub_stagingenvironment" /> <attribute name="devhub_description" /> + <attribute name="devhub_mergestrategy" /> <order attribute="devhub_displayname" descending="false" /> </entity> </fetch> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{dc37d79a-d704-4a34-9e50-1d27bc75c416}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{dc37d79a-d704-4a34-9e50-1d27bc75c416}.xml index 8d06e95..d7089ea 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{dc37d79a-d704-4a34-9e50-1d27bc75c416}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{dc37d79a-d704-4a34-9e50-1d27bc75c416}.xml @@ -13,7 +13,7 @@ <cell name="devhub_displayname" width="300" /> <cell name="devhub_uniquename" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> <cell name="devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_stagingenvironment" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_mergestrategy" width="200" /> </row> </grid> </layoutxml> @@ -27,8 +27,8 @@ <condition attribute="statecode" operator="eq" value="0" /> </filter> <attribute name="devhub_uniquename" /> - <attribute name="devhub_stagingenvironment" /> <attribute name="devhub_description" /> + <attribute name="devhub_mergestrategy" /> <order attribute="devhub_displayname" descending="false" /> </entity> </fetch> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{fe73ecfd-3c1e-4dc3-a6f6-3f8ed36ba3d4}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{fe73ecfd-3c1e-4dc3-a6f6-3f8ed36ba3d4}.xml index 48c3c9e..8e04551 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{fe73ecfd-3c1e-4dc3-a6f6-3f8ed36ba3d4}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solution/SavedQueries/{fe73ecfd-3c1e-4dc3-a6f6-3f8ed36ba3d4}.xml @@ -13,7 +13,7 @@ <cell name="devhub_displayname" width="300" /> <cell name="devhub_uniquename" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> <cell name="devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_stagingenvironment" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_mergestrategy" width="200" /> </row> </grid> </layoutxml> @@ -27,8 +27,8 @@ <condition attribute="statecode" operator="eq" value="1" /> </filter> <attribute name="devhub_uniquename" /> - <attribute name="devhub_stagingenvironment" /> <attribute name="devhub_description" /> + <attribute name="devhub_mergestrategy" /> <order attribute="devhub_displayname" descending="false" /> </entity> </fetch> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/Entity.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/Entity.xml index 6447da2..88a615b 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/Entity.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/Entity.xml @@ -210,41 +210,43 @@ <Description description="The date and time that the solution merge was reviewed." languagecode="1033" /> </Descriptions> </attribute> - <attribute PhysicalName="devhub_DevelopmentSolution"> - <Type>file</Type> - <Name>devhub_developmentsolution</Name> - <LogicalName>devhub_developmentsolution</LogicalName> + <attribute PhysicalName="devhub_Environment"> + <Type>lookup</Type> + <Name>devhub_environment</Name> + <LogicalName>devhub_environment</LogicalName> <RequiredLevel>none</RequiredLevel> - <DisplayMask>ValidForForm|ValidForGrid</DisplayMask> - <ImeMode>disabled</ImeMode> - <ValidForUpdateApi>0</ValidForUpdateApi> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> + <ImeMode>auto</ImeMode> + <ValidForUpdateApi>1</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> - <ValidForCreateApi>0</ValidForCreateApi> + <ValidForCreateApi>1</ValidForCreateApi> <IsCustomField>1</IsCustomField> - <IsAuditEnabled>1</IsAuditEnabled> + <IsAuditEnabled>0</IsAuditEnabled> <IsSecured>0</IsSecured> - <IntroducedVersion>0.1.20.0</IntroducedVersion> + <IntroducedVersion>0.2.0</IntroducedVersion> <IsCustomizable>1</IsCustomizable> <IsRenameable>1</IsRenameable> - <CanModifySearchSettings>0</CanModifySearchSettings> - <CanModifyRequirementLevelSettings>0</CanModifyRequirementLevelSettings> + <CanModifySearchSettings>1</CanModifySearchSettings> + <CanModifyRequirementLevelSettings>1</CanModifyRequirementLevelSettings> <CanModifyAdditionalSettings>1</CanModifyAdditionalSettings> <SourceType>0</SourceType> <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> <IsSortableEnabled>0</IsSortableEnabled> <CanModifyGlobalFilterSettings>1</CanModifyGlobalFilterSettings> - <CanModifyIsSortableSettings>0</CanModifyIsSortableSettings> + <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> <IsDataSourceSecret>0</IsDataSourceSecret> <AutoNumberFormat></AutoNumberFormat> <IsSearchable>0</IsSearchable> <IsFilterable>0</IsFilterable> <IsRetrievable>0</IsRetrievable> <IsLocalizable>0</IsLocalizable> + <LookupStyle>single</LookupStyle> + <LookupTypes /> <displaynames> - <displayname description="Development Solution" languagecode="1033" /> + <displayname description="Environment" languagecode="1033" /> </displaynames> <Descriptions> - <Description description="The development solution that was merged." languagecode="1033" /> + <Description description="The environment to be used for this solution merge." languagecode="1033" /> </Descriptions> </attribute> <attribute PhysicalName="devhub_Issue"> @@ -347,6 +349,45 @@ <Description description="Whether or not manual activities are required in the merge." languagecode="1033" /> </Descriptions> </attribute> + <attribute PhysicalName="devhub_MergeStrategy"> + <Type>picklist</Type> + <Name>devhub_mergestrategy</Name> + <LogicalName>devhub_mergestrategy</LogicalName> + <RequiredLevel>required</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> + <ImeMode>auto</ImeMode> + <ValidForUpdateApi>1</ValidForUpdateApi> + <ValidForReadApi>1</ValidForReadApi> + <ValidForCreateApi>1</ValidForCreateApi> + <IsCustomField>1</IsCustomField> + <IsAuditEnabled>1</IsAuditEnabled> + <IsSecured>0</IsSecured> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <IsRenameable>1</IsRenameable> + <CanModifySearchSettings>1</CanModifySearchSettings> + <CanModifyRequirementLevelSettings>1</CanModifyRequirementLevelSettings> + <CanModifyAdditionalSettings>1</CanModifyAdditionalSettings> + <SourceType>0</SourceType> + <IsGlobalFilterEnabled>0</IsGlobalFilterEnabled> + <IsSortableEnabled>0</IsSortableEnabled> + <CanModifyGlobalFilterSettings>1</CanModifyGlobalFilterSettings> + <CanModifyIsSortableSettings>1</CanModifyIsSortableSettings> + <IsDataSourceSecret>0</IsDataSourceSecret> + <AutoNumberFormat></AutoNumberFormat> + <IsSearchable>0</IsSearchable> + <IsFilterable>0</IsFilterable> + <IsRetrievable>0</IsRetrievable> + <IsLocalizable>0</IsLocalizable> + <AppDefaultValue>-1</AppDefaultValue> + <OptionSetName>devhub_mergestrategy</OptionSetName> + <displaynames> + <displayname description="Merge Strategy" languagecode="1033" /> + </displaynames> + <Descriptions> + <Description description="The merge strategy applied to this solution merge. For internal use only." languagecode="1033" /> + </Descriptions> + </attribute> <attribute PhysicalName="devhub_name"> <Type>nvarchar</Type> <Name>devhub_name</Name> @@ -849,6 +890,7 @@ <Name>owningbusinessunit</Name> <LogicalName>owningbusinessunit</LogicalName> <RequiredLevel>none</RequiredLevel> + <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> <ImeMode>auto</ImeMode> <ValidForUpdateApi>0</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> @@ -969,7 +1011,7 @@ <ImeMode>auto</ImeMode> <ValidForUpdateApi>1</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> - <ValidForCreateApi>0</ValidForCreateApi> + <ValidForCreateApi>1</ValidForCreateApi> <IsCustomField>0</IsCustomField> <IsAuditEnabled>1</IsAuditEnabled> <IsSecured>0</IsSecured> @@ -1076,19 +1118,34 @@ <label description="Queued" languagecode="1033" /> </labels> </status> + <status value="353400008" state="0" TransitionData="" Color="#0000ff"> + <labels> + <label description="Provisioning Environment" languagecode="1033" /> + </labels> + </status> + <status value="353400009" state="0" TransitionData="" Color="#0000ff"> + <labels> + <label description="Pending Merge" languagecode="1033" /> + </labels> + </status> <status value="353400003" state="0" TransitionData="" Color="#0000ff"> <labels> <label description="Merging" languagecode="1033" /> </labels> </status> + <status value="353400006" state="0" TransitionData="" Color="#0000ff"> + <labels> + <label description="Awaiting Manual Merge" languagecode="1033" /> + </labels> + </status> <status value="353400002" state="0" TransitionData="" Color="#0000ff"> <labels> <label description="Failed" languagecode="1033" /> </labels> </status> - <status value="353400006" state="0" TransitionData="" Color="#0000ff"> + <status value="353400007" state="0" TransitionData="" Color="#0000ff"> <labels> - <label description="Awaiting Manual Merge" languagecode="1033" /> + <label description="Awaiting PR Merge" languagecode="1033" /> </labels> </status> <status value="2" state="1" TransitionData="" Color="#0000ff"> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/FormXml/main/{6f14717f-673c-45a3-b862-4c3e7408be3f}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/FormXml/main/{6f14717f-673c-45a3-b862-4c3e7408be3f}.xml index 314560d..f1b292f 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/FormXml/main/{6f14717f-673c-45a3-b862-4c3e7408be3f}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/FormXml/main/{6f14717f-673c-45a3-b862-4c3e7408be3f}.xml @@ -12,11 +12,11 @@ <label description="General" languagecode="1033" /> </labels> <columns> - <column width="100%"> + <column width="40%"> <sections> - <section showlabel="false" showbar="false" IsUserDefined="0" id="{039975e0-c765-44b3-8487-2deedaa8bea3}" name="{039975e0-c765-44b3-8487-2deedaa8bea3}" columns="11" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> + <section showlabel="false" showbar="false" IsUserDefined="0" id="{039975e0-c765-44b3-8487-2deedaa8bea3}" name="{039975e0-c765-44b3-8487-2deedaa8bea3}" columns="1" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> <labels> - <label description="General" languagecode="1033" /> + <label description="Details" languagecode="1033" /> </labels> <rows> <row> @@ -35,12 +35,6 @@ </parameters> </control> </cell> - <cell id="{de51ae81-1e98-4788-80f0-590a67de7859}" showlabel="true" locklevel="0" visible="false"> - <labels> - <label description="Name" languagecode="1033" /> - </labels> - <control id="devhub_name" classid="{4273EDBD-AC1D-40d3-9FB2-095C621B552D}" datafieldname="devhub_name" uniqueid="{2aec4226-5d6a-985d-7cad-6c054ad3e9a0}" disabled="false" /> - </cell> </row> <row> <cell id="{59062375-9a2e-27b5-8c4a-ac7ea4ccd522}" showlabel="true" locklevel="0"> @@ -49,13 +43,14 @@ </labels> <control id="devhub_targetsolution" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_targetsolution" disabled="false" /> </cell> - <cell id="{787e02ac-63a2-4f02-a496-baca1a4579bd}" showlabel="true" locklevel="0" visible="false"> - <labels> - <label description="Development Solution" languagecode="1033" /> - </labels> - <control id="devhub_developmentsolution" classid="{0A7FF475-B016-4687-9CE5-042BFDBD6519}" datafieldname="devhub_developmentsolution" disabled="true" /> - </cell> </row> + </rows> + </section> + <section name="{ff981c83-7418-4010-a4d9-13f804c35a90}_section_3" showlabel="true" showbar="false" locklevel="0" id="{62ba406e-8972-6dc3-0062-1924bd19c52c}" IsUserDefined="0" layout="varwidth" columns="11" labelwidth="115"> + <labels> + <label description="Merge Details" languagecode="1033" /> + </labels> + <rows> <row> <cell id="{8ea7960e-c00d-7288-d822-327eadae427e}" showlabel="true" locklevel="0"> <labels> @@ -63,19 +58,12 @@ </labels> <control id="devhub_sourcebranch" classid="{4273EDBD-AC1D-40d3-9FB2-095C621B552D}" datafieldname="devhub_sourcebranch" disabled="false" /> </cell> - <cell locklevel="0" id="{7335bef0-dddb-400f-996a-5debacfa0d89}"> + <cell locklevel="0" id="{d183b65e-db1a-4c58-bfe2-162f60828a7b}"> <labels> <label description="" languagecode="1033" /> </labels> </cell> </row> - </rows> - </section> - <section name="{ff981c83-7418-4010-a4d9-13f804c35a90}_section_3" showlabel="false" showbar="false" locklevel="0" id="{62ba406e-8972-6dc3-0062-1924bd19c52c}" IsUserDefined="0" layout="varwidth" columns="11" labelwidth="115"> - <labels> - <label description="Section" languagecode="1033" /> - </labels> - <rows> <row> <cell id="{e4c96ee3-3e0c-31d5-5e09-c397883b2d63}" showlabel="true" locklevel="0"> <labels> @@ -83,19 +71,20 @@ </labels> <control id="devhub_manualmergeactivities" classid="{F9A8A302-114E-466A-B582-6771B2AE0D92}" datafieldname="devhub_manualmergeactivities" disabled="false" uniqueid="{ad4b4660-5e53-4402-6c13-c7db2a63bc0e}" /> </cell> - <cell id="{1906ce19-e5ee-dc2e-1bd0-d4677395ce54}" showlabel="false"> + <cell locklevel="0" id="{278eebdf-7128-4505-af99-b50261256a75}"> <labels> <label description="" languagecode="1033" /> </labels> </cell> </row> <row> - <cell showlabel="true" locklevel="0" id="{9ce811a3-77b2-4a67-bc20-5754b5a905d2}"> + <cell id="{6619799e-84c5-4ce4-a6b5-2388d9afc036}" locklevel="0"> <labels> - <label description="" languagecode="1033" /> + <label description="Merge Strategy" languagecode="1033" /> </labels> + <control id="devhub_mergestrategy" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_mergestrategy" disabled="true" /> </cell> - <cell id="{ac3eadeb-971d-648c-130c-10625c342162}" showlabel="false"> + <cell locklevel="0" id="{4557666e-db29-42b1-9a5f-051ac5036040}"> <labels> <label description="" languagecode="1033" /> </labels> @@ -103,49 +92,41 @@ </row> </rows> </section> - <section name="{ff981c83-7418-4010-a4d9-13f804c35a90}_section_2" showlabel="false" showbar="false" locklevel="0" id="{49014417-e9a9-89cb-a712-e08117896db2}" IsUserDefined="0" layout="varwidth" columns="1" labelwidth="115"> + <section name="tab_General_section_Environment" id="c5d54013-48b0-419a-a1e3-e8d6be81fbee" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> <labels> - <label description="Section" languagecode="1033" /> + <label description="Environment" languagecode="1033" /> </labels> <rows> <row> - <cell id="{2d6cac64-bb14-d19e-8be5-0beece28d2d0}" showlabel="true" rowspan="15" auto="false" colspan="1"> + <cell id="{f7347f2a-e5f6-4777-87ea-a7e8f9083c68}" locklevel="0"> <labels> - <label description="Note Text" languagecode="1033" /> + <label description="Environment" languagecode="1033" /> + </labels> + <control id="devhub_environment" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_environment" disabled="true" /> + </cell> + </row> + <row> + <cell locklevel="0" id="{cb8a9160-9a0d-4f18-89c6-91207da4ec47}"> + <labels> + <label description="New QV control 1628885821154" languagecode="1033" /> </labels> - <control id="notescontrol" classid="{06375649-c143-495e-a496-c962e5b4488e}" /> + <control id="QuickviewControl1628885821154" classid="{5C5600E0-1D6E-4205-A272-BE80DA87FD42}" datafieldname="devhub_environment" disabled="false"> + <parameters> + <DisplayAsCustomer360Tile>false</DisplayAsCustomer360Tile> + <QuickForms><QuickFormIds><QuickFormId entityname="devhub_environment">a4a4927d-ee98-49e2-b2e8-80daf3f97bdf</QuickFormId></QuickFormIds></QuickForms> + </parameters> + </control> </cell> </row> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> </rows> </section> </sections> </column> - </columns> - </tab> - <tab name="tab_AdditionalInfo" id="{b1902b46-61d0-25b6-d38d-9bb1e60c63b1}" IsUserDefined="0" locklevel="0" showlabel="true" expanded="true"> - <labels> - <label description="Additional Info" languagecode="1033" /> - </labels> - <columns> - <column width="100%"> + <column width="50%"> <sections> - <section name="tab_Approval_section_Details" showlabel="false" showbar="false" locklevel="0" id="{db731e50-a519-748b-1c94-9477b2bb2052}" IsUserDefined="0" layout="varwidth" columns="11" labelwidth="115" celllabelalignment="Left" celllabelposition="Left"> + <section name="tab_AdditionalInfo_section_Review" id="acc57fed-8b25-4267-b43c-efe14eb26b09" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> <labels> - <label description="Details" languagecode="1033" /> + <label description="Review" languagecode="1033" /> </labels> <rows> <row> @@ -164,11 +145,6 @@ </parameters> </control> </cell> - <cell showlabel="true" locklevel="0" id="{2301751a-7fb6-4b1f-9311-8828ec2c2f23}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> </row> <row> <cell id="{85e76cd8-3c75-3631-2a4c-955840917519}" showlabel="true" locklevel="0"> @@ -177,47 +153,25 @@ </labels> <control id="devhub_approvedon" classid="{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" datafieldname="devhub_approvedon" disabled="true" uniqueid="{ce9a8a47-17a3-e165-2531-844982da42ea}" /> </cell> - <cell showlabel="true" locklevel="0" id="{3369e438-f3fc-454d-882a-ef6caf523275}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - </row> - <row> - <cell id="{fd7cff3b-3cc5-4b03-a583-44aed4c8f9f6}" showlabel="true" locklevel="0"> - <labels> - <label description="Queued On" languagecode="1033" /> - </labels> - <control id="devhub_queuedon" classid="{5B773807-9FB2-42DB-97C3-7A91EFF8ADFF}" datafieldname="devhub_queuedon" disabled="true" /> - </cell> - <cell showlabel="true" locklevel="0" id="{cf1165db-311d-4d2e-8b28-8afb6e1b6055}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - </row> - <row> - <cell showlabel="true" locklevel="0" id="{363d52d8-b814-4497-b7b9-443f79af7854}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - <cell showlabel="true" locklevel="0" id="{13f0e0ef-631f-4490-bdea-3e2da12ade7a}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> </row> + </rows> + </section> + <section name="{ff981c83-7418-4010-a4d9-13f804c35a90}_section_2" showlabel="false" showbar="false" locklevel="0" id="{49014417-e9a9-89cb-a712-e08117896db2}" IsUserDefined="0" layout="varwidth" columns="1" labelwidth="115"> + <labels> + <label description="Section" languagecode="1033" /> + </labels> + <rows> <row> - <cell showlabel="true" locklevel="0" id="{bd430119-0ec1-4c11-a56a-010e61780df6}"> + <cell id="{2d6cac64-bb14-d19e-8be5-0beece28d2d0}" showlabel="true" rowspan="1" auto="false" colspan="1"> <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - <cell showlabel="true" locklevel="0" id="{32e9f9ac-bb9c-4550-8cab-668a7e012a1b}"> - <labels> - <label description="" languagecode="1033" /> + <label description="Note Text" languagecode="1033" /> </labels> + <control id="notescontrol" classid="{06375649-c143-495e-a496-c962e5b4488e}"> + <parameters> + <UClientNotesConfigurationJSON>{"sortNotesByValue":"createdon"}</UClientNotesConfigurationJSON> + <UClientEnableWhatsNewFilter>true</UClientEnableWhatsNewFilter> + </parameters> + </control> </cell> </row> </rows> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/FormXml/main/{6f14717f-673c-45a3-b862-4c3e7408be3f}_managed.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/FormXml/main/{6f14717f-673c-45a3-b862-4c3e7408be3f}_managed.xml index 314560d..f1b292f 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/FormXml/main/{6f14717f-673c-45a3-b862-4c3e7408be3f}_managed.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/FormXml/main/{6f14717f-673c-45a3-b862-4c3e7408be3f}_managed.xml @@ -12,11 +12,11 @@ <label description="General" languagecode="1033" /> </labels> <columns> - <column width="100%"> + <column width="40%"> <sections> - <section showlabel="false" showbar="false" IsUserDefined="0" id="{039975e0-c765-44b3-8487-2deedaa8bea3}" name="{039975e0-c765-44b3-8487-2deedaa8bea3}" columns="11" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> + <section showlabel="false" showbar="false" IsUserDefined="0" id="{039975e0-c765-44b3-8487-2deedaa8bea3}" name="{039975e0-c765-44b3-8487-2deedaa8bea3}" columns="1" locklevel="0" labelwidth="130" celllabelalignment="Left" celllabelposition="Left"> <labels> - <label description="General" languagecode="1033" /> + <label description="Details" languagecode="1033" /> </labels> <rows> <row> @@ -35,12 +35,6 @@ </parameters> </control> </cell> - <cell id="{de51ae81-1e98-4788-80f0-590a67de7859}" showlabel="true" locklevel="0" visible="false"> - <labels> - <label description="Name" languagecode="1033" /> - </labels> - <control id="devhub_name" classid="{4273EDBD-AC1D-40d3-9FB2-095C621B552D}" datafieldname="devhub_name" uniqueid="{2aec4226-5d6a-985d-7cad-6c054ad3e9a0}" disabled="false" /> - </cell> </row> <row> <cell id="{59062375-9a2e-27b5-8c4a-ac7ea4ccd522}" showlabel="true" locklevel="0"> @@ -49,13 +43,14 @@ </labels> <control id="devhub_targetsolution" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_targetsolution" disabled="false" /> </cell> - <cell id="{787e02ac-63a2-4f02-a496-baca1a4579bd}" showlabel="true" locklevel="0" visible="false"> - <labels> - <label description="Development Solution" languagecode="1033" /> - </labels> - <control id="devhub_developmentsolution" classid="{0A7FF475-B016-4687-9CE5-042BFDBD6519}" datafieldname="devhub_developmentsolution" disabled="true" /> - </cell> </row> + </rows> + </section> + <section name="{ff981c83-7418-4010-a4d9-13f804c35a90}_section_3" showlabel="true" showbar="false" locklevel="0" id="{62ba406e-8972-6dc3-0062-1924bd19c52c}" IsUserDefined="0" layout="varwidth" columns="11" labelwidth="115"> + <labels> + <label description="Merge Details" languagecode="1033" /> + </labels> + <rows> <row> <cell id="{8ea7960e-c00d-7288-d822-327eadae427e}" showlabel="true" locklevel="0"> <labels> @@ -63,19 +58,12 @@ </labels> <control id="devhub_sourcebranch" classid="{4273EDBD-AC1D-40d3-9FB2-095C621B552D}" datafieldname="devhub_sourcebranch" disabled="false" /> </cell> - <cell locklevel="0" id="{7335bef0-dddb-400f-996a-5debacfa0d89}"> + <cell locklevel="0" id="{d183b65e-db1a-4c58-bfe2-162f60828a7b}"> <labels> <label description="" languagecode="1033" /> </labels> </cell> </row> - </rows> - </section> - <section name="{ff981c83-7418-4010-a4d9-13f804c35a90}_section_3" showlabel="false" showbar="false" locklevel="0" id="{62ba406e-8972-6dc3-0062-1924bd19c52c}" IsUserDefined="0" layout="varwidth" columns="11" labelwidth="115"> - <labels> - <label description="Section" languagecode="1033" /> - </labels> - <rows> <row> <cell id="{e4c96ee3-3e0c-31d5-5e09-c397883b2d63}" showlabel="true" locklevel="0"> <labels> @@ -83,19 +71,20 @@ </labels> <control id="devhub_manualmergeactivities" classid="{F9A8A302-114E-466A-B582-6771B2AE0D92}" datafieldname="devhub_manualmergeactivities" disabled="false" uniqueid="{ad4b4660-5e53-4402-6c13-c7db2a63bc0e}" /> </cell> - <cell id="{1906ce19-e5ee-dc2e-1bd0-d4677395ce54}" showlabel="false"> + <cell locklevel="0" id="{278eebdf-7128-4505-af99-b50261256a75}"> <labels> <label description="" languagecode="1033" /> </labels> </cell> </row> <row> - <cell showlabel="true" locklevel="0" id="{9ce811a3-77b2-4a67-bc20-5754b5a905d2}"> + <cell id="{6619799e-84c5-4ce4-a6b5-2388d9afc036}" locklevel="0"> <labels> - <label description="" languagecode="1033" /> + <label description="Merge Strategy" languagecode="1033" /> </labels> + <control id="devhub_mergestrategy" classid="{3EF39988-22BB-4F0B-BBBE-64B5A3748AEE}" datafieldname="devhub_mergestrategy" disabled="true" /> </cell> - <cell id="{ac3eadeb-971d-648c-130c-10625c342162}" showlabel="false"> + <cell locklevel="0" id="{4557666e-db29-42b1-9a5f-051ac5036040}"> <labels> <label description="" languagecode="1033" /> </labels> @@ -103,49 +92,41 @@ </row> </rows> </section> - <section name="{ff981c83-7418-4010-a4d9-13f804c35a90}_section_2" showlabel="false" showbar="false" locklevel="0" id="{49014417-e9a9-89cb-a712-e08117896db2}" IsUserDefined="0" layout="varwidth" columns="1" labelwidth="115"> + <section name="tab_General_section_Environment" id="c5d54013-48b0-419a-a1e3-e8d6be81fbee" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> <labels> - <label description="Section" languagecode="1033" /> + <label description="Environment" languagecode="1033" /> </labels> <rows> <row> - <cell id="{2d6cac64-bb14-d19e-8be5-0beece28d2d0}" showlabel="true" rowspan="15" auto="false" colspan="1"> + <cell id="{f7347f2a-e5f6-4777-87ea-a7e8f9083c68}" locklevel="0"> <labels> - <label description="Note Text" languagecode="1033" /> + <label description="Environment" languagecode="1033" /> + </labels> + <control id="devhub_environment" classid="{270BD3DB-D9AF-4782-9025-509E298DEC0A}" datafieldname="devhub_environment" disabled="true" /> + </cell> + </row> + <row> + <cell locklevel="0" id="{cb8a9160-9a0d-4f18-89c6-91207da4ec47}"> + <labels> + <label description="New QV control 1628885821154" languagecode="1033" /> </labels> - <control id="notescontrol" classid="{06375649-c143-495e-a496-c962e5b4488e}" /> + <control id="QuickviewControl1628885821154" classid="{5C5600E0-1D6E-4205-A272-BE80DA87FD42}" datafieldname="devhub_environment" disabled="false"> + <parameters> + <DisplayAsCustomer360Tile>false</DisplayAsCustomer360Tile> + <QuickForms><QuickFormIds><QuickFormId entityname="devhub_environment">a4a4927d-ee98-49e2-b2e8-80daf3f97bdf</QuickFormId></QuickFormIds></QuickForms> + </parameters> + </control> </cell> </row> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> - <row /> </rows> </section> </sections> </column> - </columns> - </tab> - <tab name="tab_AdditionalInfo" id="{b1902b46-61d0-25b6-d38d-9bb1e60c63b1}" IsUserDefined="0" locklevel="0" showlabel="true" expanded="true"> - <labels> - <label description="Additional Info" languagecode="1033" /> - </labels> - <columns> - <column width="100%"> + <column width="50%"> <sections> - <section name="tab_Approval_section_Details" showlabel="false" showbar="false" locklevel="0" id="{db731e50-a519-748b-1c94-9477b2bb2052}" IsUserDefined="0" layout="varwidth" columns="11" labelwidth="115" celllabelalignment="Left" celllabelposition="Left"> + <section name="tab_AdditionalInfo_section_Review" id="acc57fed-8b25-4267-b43c-efe14eb26b09" IsUserDefined="0" locklevel="0" showlabel="true" showbar="false" layout="varwidth" celllabelalignment="Left" celllabelposition="Left" columns="1" labelwidth="115"> <labels> - <label description="Details" languagecode="1033" /> + <label description="Review" languagecode="1033" /> </labels> <rows> <row> @@ -164,11 +145,6 @@ </parameters> </control> </cell> - <cell showlabel="true" locklevel="0" id="{2301751a-7fb6-4b1f-9311-8828ec2c2f23}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> </row> <row> <cell id="{85e76cd8-3c75-3631-2a4c-955840917519}" showlabel="true" locklevel="0"> @@ -177,47 +153,25 @@ </labels> <control id="devhub_approvedon" classid="{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" datafieldname="devhub_approvedon" disabled="true" uniqueid="{ce9a8a47-17a3-e165-2531-844982da42ea}" /> </cell> - <cell showlabel="true" locklevel="0" id="{3369e438-f3fc-454d-882a-ef6caf523275}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - </row> - <row> - <cell id="{fd7cff3b-3cc5-4b03-a583-44aed4c8f9f6}" showlabel="true" locklevel="0"> - <labels> - <label description="Queued On" languagecode="1033" /> - </labels> - <control id="devhub_queuedon" classid="{5B773807-9FB2-42DB-97C3-7A91EFF8ADFF}" datafieldname="devhub_queuedon" disabled="true" /> - </cell> - <cell showlabel="true" locklevel="0" id="{cf1165db-311d-4d2e-8b28-8afb6e1b6055}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - </row> - <row> - <cell showlabel="true" locklevel="0" id="{363d52d8-b814-4497-b7b9-443f79af7854}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - <cell showlabel="true" locklevel="0" id="{13f0e0ef-631f-4490-bdea-3e2da12ade7a}"> - <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> </row> + </rows> + </section> + <section name="{ff981c83-7418-4010-a4d9-13f804c35a90}_section_2" showlabel="false" showbar="false" locklevel="0" id="{49014417-e9a9-89cb-a712-e08117896db2}" IsUserDefined="0" layout="varwidth" columns="1" labelwidth="115"> + <labels> + <label description="Section" languagecode="1033" /> + </labels> + <rows> <row> - <cell showlabel="true" locklevel="0" id="{bd430119-0ec1-4c11-a56a-010e61780df6}"> + <cell id="{2d6cac64-bb14-d19e-8be5-0beece28d2d0}" showlabel="true" rowspan="1" auto="false" colspan="1"> <labels> - <label description="" languagecode="1033" /> - </labels> - </cell> - <cell showlabel="true" locklevel="0" id="{32e9f9ac-bb9c-4550-8cab-668a7e012a1b}"> - <labels> - <label description="" languagecode="1033" /> + <label description="Note Text" languagecode="1033" /> </labels> + <control id="notescontrol" classid="{06375649-c143-495e-a496-c962e5b4488e}"> + <parameters> + <UClientNotesConfigurationJSON>{"sortNotesByValue":"createdon"}</UClientNotesConfigurationJSON> + <UClientEnableWhatsNewFilter>true</UClientEnableWhatsNewFilter> + </parameters> + </control> </cell> </row> </rows> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/RibbonDiff.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/RibbonDiff.xml index 2f3a6d3..baba7bc 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/RibbonDiff.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/RibbonDiff.xml @@ -6,6 +6,11 @@ <Button Alt="$LocLabels:devhub.devhub_solutionmerge.Approve.Button.Alt" Command="devhub.devhub_solutionmerge.Approve.Command" Id="devhub.devhub_solutionmerge.Approve.Button" LabelText="$LocLabels:devhub.devhub_solutionmerge.Approve.Button.LabelText" Sequence="14" TemplateAlias="isv" ToolTipTitle="$LocLabels:devhub.devhub_solutionmerge.Approve.Button.ToolTipTitle" ToolTipDescription="$LocLabels:devhub.devhub_solutionmerge.Approve.Button.ToolTipDescription" ModernImage="$webresource:devhub_/Images/devhub_approve.svg" /> </CommandUIDefinition> </CustomAction> + <CustomAction Id="devhub.devhub_solutionmerge.ApproveChanges.Button.CustomAction" Location="Mscrm.Form.devhub_solutionmerge.MainTab.Actions.Controls._children" Sequence="20"> + <CommandUIDefinition> + <Button Alt="$LocLabels:devhub.devhub_solutionmerge.ApproveChanges.Button.Alt" Command="devhub.devhub_solutionmerge.ApproveChanges.Command" Id="devhub.devhub_solutionmerge.ApproveChanges.Button" Image32by32="$webresource:devhub_/Images/devhub_pushchanges.svg" Image16by16="$webresource:devhub_/Images/devhub_pushchanges.svg" LabelText="$LocLabels:devhub.devhub_solutionmerge.ApproveChanges.Button.LabelText" Sequence="20" TemplateAlias="isv" ToolTipTitle="$LocLabels:devhub.devhub_solutionmerge.ApproveChanges.Button.ToolTipTitle" ToolTipDescription="$LocLabels:devhub.devhub_solutionmerge.ApproveChanges.Button.ToolTipDescription" ModernImage="$webresource:devhub_/Images/devhub_pushchanges.svg" /> + </CommandUIDefinition> + </CustomAction> <CustomAction Id="devhub.devhub_solutionmerge.Reject.Button.CustomAction" Location="Mscrm.Form.devhub_solutionmerge.MainTab.Actions.Controls._children" Sequence="15"> <CommandUIDefinition> <Button Alt="$LocLabels:devhub.devhub_solutionmerge.Reject.Button.Alt" Command="devhub.devhub_solutionmerge.Reject.Command" Id="devhub.devhub_solutionmerge.Reject.Button" LabelText="$LocLabels:devhub.devhub_solutionmerge.Reject.Button.LabelText" Sequence="15" TemplateAlias="isv" ToolTipTitle="$LocLabels:devhub.devhub_solutionmerge.Reject.Button.ToolTipTitle" ToolTipDescription="$LocLabels:devhub.devhub_solutionmerge.Reject.Button.ToolTipDescription" ModernImage="$webresource:devhub_/Images/devhub_reject.svg" /> @@ -32,6 +37,17 @@ </JavaScriptFunction> </Actions> </CommandDefinition> + <CommandDefinition Id="devhub.devhub_solutionmerge.ApproveChanges.Command"> + <EnableRules> + <EnableRule Id="devhub.devhub_solutionmerge.IsAwaitingPRApproval.EnableRule" /> + </EnableRules> + <DisplayRules /> + <Actions> + <JavaScriptFunction FunctionName="DevelopmentHub.Develop.approve" Library="$webresource:devhub_/Js/develop.solutionmerge.ribbon.js"> + <CrmParameter Value="PrimaryControl" /> + </JavaScriptFunction> + </Actions> + </CommandDefinition> <CommandDefinition Id="devhub.devhub_solutionmerge.Reject.Command"> <EnableRules> <EnableRule Id="devhub.devhub_solutionmerge.Review.EnableRule" /> @@ -59,6 +75,9 @@ <TabDisplayRules /> <DisplayRules /> <EnableRules> + <EnableRule Id="devhub.devhub_solutionmerge.IsAwaitingPRApproval.EnableRule"> + <ValueRule Field="statuscode" Value="353400007" Default="false" InvertResult="false" /> + </EnableRule> <EnableRule Id="devhub.devhub_solutionmerge.Retry.EnableRule"> <ValueRule Field="statuscode" Value="353400002" /> </EnableRule> @@ -90,6 +109,26 @@ <Title description="Approve" languagecode="1033" /> </Titles> </LocLabel> + <LocLabel Id="devhub.devhub_solutionmerge.ApproveChanges.Button.Alt"> + <Titles> + <Title description="Approve changes" languagecode="1033" /> + </Titles> + </LocLabel> + <LocLabel Id="devhub.devhub_solutionmerge.ApproveChanges.Button.LabelText"> + <Titles> + <Title description="Approve changes" languagecode="1033" /> + </Titles> + </LocLabel> + <LocLabel Id="devhub.devhub_solutionmerge.ApproveChanges.Button.ToolTipDescription"> + <Titles> + <Title description="Approves latest changes from the development solution and updates the pull request." languagecode="1033" /> + </Titles> + </LocLabel> + <LocLabel Id="devhub.devhub_solutionmerge.ApproveChanges.Button.ToolTipTitle"> + <Titles> + <Title description="Approve changes" languagecode="1033" /> + </Titles> + </LocLabel> <LocLabel Id="devhub.devhub_solutionmerge.Reject.Button.Alt"> <Titles> <Title description="Reject" languagecode="1033" /> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{131f5dd1-9e4a-ea11-a812-000d3a0b97ca}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{131f5dd1-9e4a-ea11-a812-000d3a0b97ca}.xml index bc3f0d5..74f4e77 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{131f5dd1-9e4a-ea11-a812-000d3a0b97ca}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{131f5dd1-9e4a-ea11-a812-000d3a0b97ca}.xml @@ -10,13 +10,14 @@ <layoutxml> <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_solutionmergeid"> - <cell name="devhub_issue" width="100" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="200" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_targetsolution" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="createdby" width="100" /> - <cell name="createdon" width="125" /> + <cell name="devhub_issue" width="150" /> <cell name="a_866722318e84e911a97e0022480186c3.devhub_type" width="100" disableSorting="1" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="175" /> + <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="175" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_targetsolution" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="a_9d12fce845a84cb8979c1b82bbb79455.devhub_url" width="275" /> + <cell name="createdby" width="125" /> + <cell name="createdon" width="150" /> </row> </grid> </layoutxml> @@ -25,19 +26,22 @@ <fetch version="1.0" mapping="logical"> <entity name="devhub_solutionmerge"> <attribute name="createdon" /> - <order attribute="createdon" descending="false" /> <filter type="and"> - <condition attribute="statecode" operator="eq" value="0" /> + <condition attribute="statuscode" operator="eq" value="353400002" /> </filter> <link-entity alias="a_866722318e84e911a97e0022480186c3" name="devhub_issue" from="devhub_issueid" to="devhub_issue" link-type="outer" visible="false"> <attribute name="devhub_type" /> <attribute name="devhub_developmentsolution" /> - <attribute name="devhub_description" /> </link-entity> <attribute name="devhub_targetsolution" /> <attribute name="createdby" /> <attribute name="devhub_issue" /> <attribute name="devhub_solutionmergeid" /> + <attribute name="statuscode" /> + <order attribute="createdon" descending="false" /> + <link-entity alias="a_9d12fce845a84cb8979c1b82bbb79455" name="devhub_environment" to="devhub_environment" from="devhub_environmentid" link-type="outer" visible="false"> + <attribute name="devhub_url" /> + </link-entity> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{2baece6c-461c-4a01-9ab5-cae63af2eb7c}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{2baece6c-461c-4a01-9ab5-cae63af2eb7c}.xml index cfa82ec..e1323ab 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{2baece6c-461c-4a01-9ab5-cae63af2eb7c}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{2baece6c-461c-4a01-9ab5-cae63af2eb7c}.xml @@ -10,14 +10,14 @@ <layoutxml> <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_solutionmergeid"> - <cell name="devhub_issue" width="100" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="100" disableSorting="1" /> - <cell name="devhub_targetsolution" width="100" /> - <cell name="statuscode" width="100" /> - <cell name="createdby" width="100" /> - <cell name="createdon" width="125" /> + <cell name="devhub_issue" width="150" /> <cell name="a_866722318e84e911a97e0022480186c3.devhub_type" width="100" disableSorting="1" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_description" width="100" disableSorting="1" /> + <cell name="statuscode" width="175" /> + <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="175" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_targetsolution" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="a_9d12fce845a84cb8979c1b82bbb79455.devhub_url" width="275" /> + <cell name="createdby" width="125" /> + <cell name="createdon" width="150" /> </row> </grid> </layoutxml> @@ -32,11 +32,13 @@ <link-entity alias="a_866722318e84e911a97e0022480186c3" name="devhub_issue" from="devhub_issueid" to="devhub_issue" link-type="outer" visible="false"> <attribute name="devhub_type" /> <attribute name="devhub_developmentsolution" /> - <attribute name="devhub_description" /> </link-entity> - <order attribute="createdon" descending="false" /> <attribute name="devhub_issue" /> <attribute name="devhub_solutionmergeid" /> + <order attribute="createdon" descending="false" /> + <link-entity alias="a_9d12fce845a84cb8979c1b82bbb79455" name="devhub_environment" to="devhub_environment" from="devhub_environmentid" link-type="outer" visible="false"> + <attribute name="devhub_url" /> + </link-entity> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{4e38cbe4-9e4a-ea11-a812-000d3a0b97ca}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{4e38cbe4-9e4a-ea11-a812-000d3a0b97ca}.xml index 9fa65d5..2720129 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{4e38cbe4-9e4a-ea11-a812-000d3a0b97ca}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{4e38cbe4-9e4a-ea11-a812-000d3a0b97ca}.xml @@ -10,13 +10,14 @@ <layoutxml> <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_solutionmergeid"> - <cell name="devhub_issue" width="100" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="200" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_targetsolution" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="createdby" width="100" /> - <cell name="createdon" width="125" /> + <cell name="devhub_issue" width="150" /> <cell name="a_866722318e84e911a97e0022480186c3.devhub_type" width="100" disableSorting="1" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="175" /> + <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="175" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_targetsolution" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="a_9d12fce845a84cb8979c1b82bbb79455.devhub_url" width="275" /> + <cell name="createdby" width="125" /> + <cell name="createdon" width="150" /> </row> </grid> </layoutxml> @@ -25,19 +26,22 @@ <fetch version="1.0" mapping="logical"> <entity name="devhub_solutionmerge"> <attribute name="createdon" /> - <order attribute="createdon" descending="false" /> <filter type="and"> <condition attribute="statecode" operator="eq" value="0" /> </filter> <link-entity alias="a_866722318e84e911a97e0022480186c3" name="devhub_issue" from="devhub_issueid" to="devhub_issue" link-type="outer" visible="false"> <attribute name="devhub_type" /> <attribute name="devhub_developmentsolution" /> - <attribute name="devhub_description" /> </link-entity> <attribute name="devhub_targetsolution" /> <attribute name="createdby" /> <attribute name="devhub_issue" /> <attribute name="devhub_solutionmergeid" /> + <attribute name="statuscode" /> + <order attribute="createdon" descending="false" /> + <link-entity alias="a_9d12fce845a84cb8979c1b82bbb79455" name="devhub_environment" to="devhub_environment" from="devhub_environmentid" link-type="outer" visible="false"> + <attribute name="devhub_url" /> + </link-entity> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{93d7173f-5b4a-4585-9aac-de791fe4d445}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{93d7173f-5b4a-4585-9aac-de791fe4d445}.xml index 97c3e7e..9e5a1c2 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{93d7173f-5b4a-4585-9aac-de791fe4d445}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{93d7173f-5b4a-4585-9aac-de791fe4d445}.xml @@ -10,14 +10,14 @@ <layoutxml> <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_solutionmergeid"> - <cell name="devhub_issue" width="100" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="100" disableSorting="1" /> - <cell name="devhub_targetsolution" width="100" /> - <cell name="statuscode" width="100" /> - <cell name="createdby" width="100" /> - <cell name="createdon" width="125" /> + <cell name="devhub_issue" width="150" /> <cell name="a_866722318e84e911a97e0022480186c3.devhub_type" width="100" disableSorting="1" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_description" width="100" disableSorting="1" /> + <cell name="statuscode" width="175" /> + <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="175" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_targetsolution" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="a_9d12fce845a84cb8979c1b82bbb79455.devhub_url" width="275" /> + <cell name="createdby" width="125" /> + <cell name="createdon" width="150" /> </row> </grid> </layoutxml> @@ -35,11 +35,13 @@ <link-entity alias="a_866722318e84e911a97e0022480186c3" name="devhub_issue" from="devhub_issueid" to="devhub_issue" link-type="outer" visible="false"> <attribute name="devhub_type" /> <attribute name="devhub_developmentsolution" /> - <attribute name="devhub_description" /> </link-entity> - <order attribute="createdon" descending="false" /> <attribute name="devhub_issue" /> <attribute name="devhub_solutionmergeid" /> + <order attribute="createdon" descending="false" /> + <link-entity alias="a_9d12fce845a84cb8979c1b82bbb79455" name="devhub_environment" to="devhub_environment" from="devhub_environmentid" link-type="outer" visible="false"> + <attribute name="devhub_url" /> + </link-entity> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{bcabbfd7-a184-e911-a97e-0022480186c3}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{bcabbfd7-a184-e911-a97e-0022480186c3}.xml index 71f3c4a..9d2bd76 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{bcabbfd7-a184-e911-a97e-0022480186c3}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{bcabbfd7-a184-e911-a97e-0022480186c3}.xml @@ -10,14 +10,14 @@ <layoutxml> <grid name="resultset" jump="devhub_name" select="1" preview="1" icon="1"> <row name="result" id="devhub_solutionmergeid"> - <cell name="devhub_issue" width="100" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="100" disableSorting="1" /> - <cell name="devhub_targetsolution" width="100" /> - <cell name="statuscode" width="100" /> - <cell name="createdby" width="100" /> - <cell name="createdon" width="125" /> + <cell name="devhub_issue" width="150" /> <cell name="a_866722318e84e911a97e0022480186c3.devhub_type" width="100" disableSorting="1" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_description" width="100" disableSorting="1" /> + <cell name="statuscode" width="175" /> + <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="175" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_targetsolution" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="a_9d12fce845a84cb8979c1b82bbb79455.devhub_url" width="275" /> + <cell name="createdby" width="125" /> + <cell name="createdon" width="150" /> </row> </grid> </layoutxml> @@ -29,14 +29,16 @@ <attribute name="devhub_targetsolution" /> <attribute name="statuscode" /> <attribute name="createdby" /> - <order attribute="createdon" descending="false" /> <link-entity alias="a_866722318e84e911a97e0022480186c3" name="devhub_issue" from="devhub_issueid" to="devhub_issue" link-type="outer" visible="false"> <attribute name="devhub_type" /> <attribute name="devhub_developmentsolution" /> - <attribute name="devhub_description" /> </link-entity> <attribute name="devhub_issue" /> <attribute name="devhub_solutionmergeid" /> + <order attribute="createdon" descending="false" /> + <link-entity alias="a_9d12fce845a84cb8979c1b82bbb79455" name="devhub_environment" to="devhub_environment" from="devhub_environmentid" link-type="outer" visible="false"> + <attribute name="devhub_url" /> + </link-entity> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}.xml index ad26e80..e8fd6d5 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}.xml @@ -10,14 +10,14 @@ <layoutxml> <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_solutionmergeid"> - <cell name="devhub_issue" width="100" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="200" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_targetsolution" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="statuscode" width="100" /> - <cell name="createdby" width="100" /> - <cell name="createdon" width="125" /> + <cell name="devhub_issue" width="150" /> <cell name="a_866722318e84e911a97e0022480186c3.devhub_type" width="100" disableSorting="1" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="175" /> + <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="175" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_targetsolution" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="a_9d12fce845a84cb8979c1b82bbb79455.devhub_url" width="275" /> + <cell name="createdby" width="125" /> + <cell name="createdon" width="150" /> </row> </grid> </layoutxml> @@ -33,13 +33,15 @@ <link-entity alias="a_866722318e84e911a97e0022480186c3" name="devhub_issue" from="devhub_issueid" to="devhub_issue" link-type="outer" visible="false"> <attribute name="devhub_type" /> <attribute name="devhub_developmentsolution" /> - <attribute name="devhub_description" /> </link-entity> <attribute name="devhub_targetsolution" /> <attribute name="statuscode" /> <attribute name="createdby" /> <attribute name="devhub_issue" /> <attribute name="devhub_solutionmergeid" /> + <link-entity alias="a_9d12fce845a84cb8979c1b82bbb79455" name="devhub_environment" to="devhub_environment" from="devhub_environmentid" link-type="outer" visible="false"> + <attribute name="devhub_url" /> + </link-entity> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{f926172c-9e4a-ea11-a812-000d3a0b97ca}.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{f926172c-9e4a-ea11-a812-000d3a0b97ca}.xml index a9518bf..e32471e 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{f926172c-9e4a-ea11-a812-000d3a0b97ca}.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Entities/devhub_solutionmerge/SavedQueries/{f926172c-9e4a-ea11-a812-000d3a0b97ca}.xml @@ -10,14 +10,14 @@ <layoutxml> <grid name="resultset" jump="devhub_name" select="1" icon="1" preview="1"> <row name="result" id="devhub_solutionmergeid"> - <cell name="devhub_issue" width="100" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="200" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="devhub_targetsolution" width="200" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> - <cell name="statuscode" width="100" /> - <cell name="createdby" width="100" /> - <cell name="createdon" width="125" /> + <cell name="devhub_issue" width="150" /> <cell name="a_866722318e84e911a97e0022480186c3.devhub_type" width="100" disableSorting="1" /> - <cell name="a_866722318e84e911a97e0022480186c3.devhub_description" width="300" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="statuscode" width="175" /> + <cell name="a_866722318e84e911a97e0022480186c3.devhub_developmentsolution" width="175" disableSorting="1" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="devhub_targetsolution" width="150" imageproviderfunctionname="" imageproviderwebresource="$webresource:" /> + <cell name="a_9d12fce845a84cb8979c1b82bbb79455.devhub_url" width="275" /> + <cell name="createdby" width="125" /> + <cell name="createdon" width="150" /> </row> </grid> </layoutxml> @@ -26,20 +26,22 @@ <fetch version="1.0" mapping="logical"> <entity name="devhub_solutionmerge"> <attribute name="createdon" /> - <order attribute="createdon" descending="false" /> <filter type="and"> <condition attribute="statecode" operator="eq" value="0" /> </filter> <link-entity alias="a_866722318e84e911a97e0022480186c3" name="devhub_issue" from="devhub_issueid" to="devhub_issue" link-type="outer" visible="false"> <attribute name="devhub_type" /> <attribute name="devhub_developmentsolution" /> - <attribute name="devhub_description" /> </link-entity> <attribute name="devhub_targetsolution" /> <attribute name="statuscode" /> <attribute name="createdby" /> <attribute name="devhub_issue" /> <attribute name="devhub_solutionmergeid" /> + <order attribute="createdon" descending="false" /> + <link-entity alias="a_9d12fce845a84cb8979c1b82bbb79455" name="devhub_environment" to="devhub_environment" from="devhub_environmentid" link-type="outer" visible="false"> + <attribute name="devhub_url" /> + </link-entity> </entity> </fetch> </fetchxml> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_apptemplates.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_apptemplates.xml new file mode 100644 index 0000000..561976b --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_apptemplates.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?> +<optionset Name="devhub_apptemplates" localizedName="App Templates" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <OptionSetType>picklist</OptionSetType> + <IsGlobal>1</IsGlobal> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <displaynames> + <displayname description="App Templates" languagecode="1033" /> + </displaynames> + <Descriptions> + <Description description="" languagecode="1033" /> + </Descriptions> + <options> + <option value="353400000"> + <labels> + <label description="D365_Sales" languagecode="1033" /> + </labels> + </option> + <option value="353400001"> + <labels> + <label description="D365_CustomerService" languagecode="1033" /> + </labels> + </option> + <option value="353400002"> + <labels> + <label description="D365_FieldService" languagecode="1033" /> + </labels> + </option> + <option value="353400003"> + <labels> + <label description="D365_ProjectServiceAutomation" languagecode="1033" /> + </labels> + </option> + <option value="353400004"> + <labels> + <label description="D365_CDSSampleApp" languagecode="1033" /> + </labels> + </option> + </options> +</optionset> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_lifetime.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_lifetime.xml new file mode 100644 index 0000000..cc91f9a --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_lifetime.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<optionset Name="devhub_lifetime" localizedName="Lifetime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <OptionSetType>picklist</OptionSetType> + <IsGlobal>1</IsGlobal> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <displaynames> + <displayname description="Lifetime" languagecode="1033" /> + </displaynames> + <Descriptions> + <Description description="" languagecode="1033" /> + </Descriptions> + <options> + <option value="353400000"> + <labels> + <label description="Static" languagecode="1033" /> + </labels> + </option> + <option value="353400001"> + <labels> + <label description="Ephemeral" languagecode="1033" /> + </labels> + </option> + </options> +</optionset> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_mergestrategy.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_mergestrategy.xml new file mode 100644 index 0000000..1ec0c35 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/OptionSets/devhub_mergestrategy.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<optionset Name="devhub_mergestrategy" localizedName="Merge Strategy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <OptionSetType>picklist</OptionSetType> + <IsGlobal>1</IsGlobal> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <displaynames> + <displayname description="Merge Strategy" languagecode="1033" /> + </displaynames> + <Descriptions> + <Description description="" languagecode="1033" /> + </Descriptions> + <options> + <option value="353400000"> + <labels> + <label description="Sequential" languagecode="1033" /> + </labels> + </option> + <option value="353400001"> + <labels> + <label description="Parallel" languagecode="1033" /> + </labels> + </option> + </options> +</optionset> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships.xml index 4fd9b84..e99dc85 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships.xml @@ -3,12 +3,13 @@ <EntityRelationship Name="business_unit_devhub_environment" /> <EntityRelationship Name="business_unit_devhub_solution" /> <EntityRelationship Name="business_unit_devhub_solutionmerge" /> + <EntityRelationship Name="devhub_environment_Solution_devhub_solution" /> <EntityRelationship Name="devhub_environment_solution_StagingEnvironment" /> <EntityRelationship Name="devhub_issue_solutionmerge_Issue" /> <EntityRelationship Name="devhub_solution_solutionmerge_TargetSolution" /> + <EntityRelationship Name="devhub_solutionmerge_Environment_Environment" /> <EntityRelationship Name="devhub_solutionmerge_issue_LastSolutionMerge" /> <EntityRelationship Name="devhub_systemuser_solutionmerge_ApprovedBy" /> - <EntityRelationship Name="FileAttachment_devhub_solutionmerge_devhub_DevelopmentSolution" /> <EntityRelationship Name="lk_devhub_environment_createdby" /> <EntityRelationship Name="lk_devhub_environment_modifiedby" /> <EntityRelationship Name="lk_devhub_solution_createdby" /> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/FileAttachment.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/FileAttachment.xml deleted file mode 100644 index a7521b1..0000000 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/FileAttachment.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<EntityRelationships xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <EntityRelationship Name="FileAttachment_devhub_solutionmerge_devhub_DevelopmentSolution"> - <EntityRelationshipType>OneToMany</EntityRelationshipType> - <IsCustomizable>0</IsCustomizable> - <IntroducedVersion>0.1.20.0</IntroducedVersion> - <IsHierarchical>0</IsHierarchical> - <ReferencingEntityName>devhub_solutionmerge</ReferencingEntityName> - <ReferencedEntityName>FileAttachment</ReferencedEntityName> - <CascadeAssign>NoCascade</CascadeAssign> - <CascadeDelete>RemoveLink</CascadeDelete> - <CascadeReparent>NoCascade</CascadeReparent> - <CascadeShare>NoCascade</CascadeShare> - <CascadeUnshare>NoCascade</CascadeUnshare> - <IsValidForAdvancedFind>0</IsValidForAdvancedFind> - <ReferencingAttributeName>devhub_DevelopmentSolution</ReferencingAttributeName> - <RelationshipDescription> - <Descriptions> - <Description description="The development solution that was merged." languagecode="1033" /> - </Descriptions> - </RelationshipDescription> - </EntityRelationship> -</EntityRelationships> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/devhub_environment.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/devhub_environment.xml index 3e9698e..97d4cf8 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/devhub_environment.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/devhub_environment.xml @@ -34,4 +34,38 @@ </EntityRelationshipRole> </EntityRelationshipRoles> </EntityRelationship> + <EntityRelationship Name="devhub_solutionmerge_Environment_Environment"> + <EntityRelationshipType>OneToMany</EntityRelationshipType> + <IsCustomizable>1</IsCustomizable> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsHierarchical>0</IsHierarchical> + <ReferencingEntityName>devhub_solutionmerge</ReferencingEntityName> + <ReferencedEntityName>devhub_environment</ReferencedEntityName> + <CascadeAssign>NoCascade</CascadeAssign> + <CascadeDelete>RemoveLink</CascadeDelete> + <CascadeReparent>NoCascade</CascadeReparent> + <CascadeShare>NoCascade</CascadeShare> + <CascadeUnshare>NoCascade</CascadeUnshare> + <CascadeRollupView>NoCascade</CascadeRollupView> + <IsValidForAdvancedFind>1</IsValidForAdvancedFind> + <ReferencingAttributeName>devhub_Environment</ReferencingAttributeName> + <RelationshipDescription> + <Descriptions> + <Description description="The environment to be used for this solution merge." languagecode="1033" /> + </Descriptions> + </RelationshipDescription> + <EntityRelationshipRoles> + <EntityRelationshipRole> + <NavPaneDisplayOption>UseCollectionName</NavPaneDisplayOption> + <NavPaneArea>Details</NavPaneArea> + <NavPaneOrder>10000</NavPaneOrder> + <NavigationPropertyName>devhub_Environment</NavigationPropertyName> + <RelationshipRoleType>1</RelationshipRoleType> + </EntityRelationshipRole> + <EntityRelationshipRole> + <NavigationPropertyName>devhub_solutionmerge_Environment_Environment</NavigationPropertyName> + <RelationshipRoleType>0</RelationshipRoleType> + </EntityRelationshipRole> + </EntityRelationshipRoles> + </EntityRelationship> </EntityRelationships> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/devhub_solution.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/devhub_solution.xml index 4d65fa1..05a3e31 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/devhub_solution.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Relationships/devhub_solution.xml @@ -1,5 +1,39 @@ <?xml version="1.0" encoding="utf-8"?> <EntityRelationships xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <EntityRelationship Name="devhub_environment_Solution_devhub_solution"> + <EntityRelationshipType>OneToMany</EntityRelationshipType> + <IsCustomizable>1</IsCustomizable> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsHierarchical>0</IsHierarchical> + <ReferencingEntityName>devhub_environment</ReferencingEntityName> + <ReferencedEntityName>devhub_solution</ReferencedEntityName> + <CascadeAssign>NoCascade</CascadeAssign> + <CascadeDelete>RemoveLink</CascadeDelete> + <CascadeReparent>NoCascade</CascadeReparent> + <CascadeShare>NoCascade</CascadeShare> + <CascadeUnshare>NoCascade</CascadeUnshare> + <CascadeRollupView>NoCascade</CascadeRollupView> + <IsValidForAdvancedFind>1</IsValidForAdvancedFind> + <ReferencingAttributeName>devhub_Solution</ReferencingAttributeName> + <RelationshipDescription> + <Descriptions> + <Description description="The solution this environment was created for (applies to ephemeral environments only)" languagecode="1033" /> + </Descriptions> + </RelationshipDescription> + <EntityRelationshipRoles> + <EntityRelationshipRole> + <NavPaneDisplayOption>UseCollectionName</NavPaneDisplayOption> + <NavPaneArea>Details</NavPaneArea> + <NavPaneOrder>10000</NavPaneOrder> + <NavigationPropertyName>devhub_Solution</NavigationPropertyName> + <RelationshipRoleType>1</RelationshipRoleType> + </EntityRelationshipRole> + <EntityRelationshipRole> + <NavigationPropertyName>devhub_environment_Solution_devhub_solution</NavigationPropertyName> + <RelationshipRoleType>0</RelationshipRoleType> + </EntityRelationshipRole> + </EntityRelationshipRoles> + </EntityRelationship> <EntityRelationship Name="devhub_solution_solutionmerge_TargetSolution"> <EntityRelationshipType>OneToMany</EntityRelationshipType> <IsCustomizable>1</IsCustomizable> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Solution.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Solution.xml index 8d9cfed..74eedf7 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Solution.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Other/Solution.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<ImportExportXml version="9.2.21053.132" SolutionPackageVersion="9.2" languagecode="1033" generatedBy="CrmLive" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<ImportExportXml version="9.2.22054.143" SolutionPackageVersion="9.2" languagecode="1033" generatedBy="CrmLive" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SolutionManifest> <UniqueName>devhub_DevelopmentHub_Develop</UniqueName> <LocalizedNames> @@ -8,7 +9,7 @@ <Descriptions> <Description description="Development related functionality for the Development Hub." languagecode="1033" /> </Descriptions> - <Version>0.2.22</Version> + <Version>0.3.0</Version> <Managed>2</Managed> <Publisher> <UniqueName>developmenthub</UniqueName> @@ -86,41 +87,47 @@ <RootComponent type="1" schemaName="devhub_issue" behavior="2" /> <RootComponent type="1" schemaName="devhub_solution" behavior="0" /> <RootComponent type="1" schemaName="devhub_solutionmerge" behavior="0" /> + <RootComponent type="9" schemaName="devhub_apptemplates" behavior="0" /> + <RootComponent type="9" schemaName="devhub_lifetime" behavior="0" /> + <RootComponent type="9" schemaName="devhub_mergestrategy" behavior="0" /> + <RootComponent type="29" id="{061d64f1-d7fa-eb11-94ef-000d3ad6738d}" behavior="0" /> + <RootComponent type="29" id="{0a0d90b3-cbfe-eb11-94ef-000d3ad6738d}" behavior="0" /> <RootComponent type="29" id="{154fbb6c-7784-e911-a97e-0022480186c3}" behavior="0" /> + <RootComponent type="29" id="{1ccf96d9-1afd-eb11-94ef-000d3ad6738d}" behavior="0" /> <RootComponent type="29" id="{1fd3b61a-4080-4298-9822-d3bad18842f7}" behavior="0" /> <RootComponent type="29" id="{2b0c0fac-4df1-435d-8ba8-0e78baefb755}" behavior="0" /> + <RootComponent type="29" id="{2edb6882-1afd-eb11-94ef-000d3ad6738d}" behavior="0" /> <RootComponent type="29" id="{38601740-ae0b-46af-8809-5d402b5a0a02}" behavior="0" /> + <RootComponent type="29" id="{3cdf61f8-4ea9-4892-8d0a-c0c60f374b91}" behavior="0" /> <RootComponent type="29" id="{3e79228e-9084-e911-a97e-0022480186c3}" behavior="0" /> <RootComponent type="29" id="{43ab3c69-507c-4866-9e1f-581084068d48}" behavior="0" /> + <RootComponent type="29" id="{49c25d1d-fffd-eb11-94ef-000d3ad6738d}" behavior="0" /> <RootComponent type="29" id="{5004652f-f9b3-ea11-a812-000d3a86ad99}" behavior="0" /> + <RootComponent type="29" id="{5849b0a6-1ffd-eb11-94ef-000d3ad6738d}" behavior="0" /> <RootComponent type="29" id="{5856b3ce-273e-4d1a-b6e2-527752ed3bc5}" behavior="0" /> <RootComponent type="29" id="{5a7f778d-9c71-4bfd-8a35-79489d5a5377}" behavior="0" /> <RootComponent type="29" id="{62980a21-1026-4c44-8a75-a2f296c60f6d}" behavior="0" /> <RootComponent type="29" id="{7859f1df-de44-4b3e-854f-bf25345a700a}" behavior="0" /> + <RootComponent type="29" id="{7cbcaaff-8116-43f7-9a1c-bacd092c2380}" behavior="0" /> <RootComponent type="29" id="{7df170c4-df25-4f70-b60f-c06ece00761f}" behavior="0" /> + <RootComponent type="29" id="{810626dd-19fd-eb11-94ef-000d3ad6738d}" behavior="0" /> + <RootComponent type="29" id="{823f6d6b-d5fa-eb11-94ef-000d3ad6738d}" behavior="0" /> <RootComponent type="29" id="{891d73b3-529b-e911-a980-0022480186c3}" behavior="0" /> <RootComponent type="29" id="{89dc07f3-97df-456e-8c2d-7427234b4237}" behavior="0" /> + <RootComponent type="29" id="{a0f9ae2c-de8b-4a1b-9604-0a24f2c1e36c}" behavior="0" /> <RootComponent type="29" id="{b7817b8e-529b-e911-a980-0022480186c3}" behavior="0" /> <RootComponent type="29" id="{bacc52a9-3469-4105-bbc8-269a62670429}" behavior="0" /> + <RootComponent type="29" id="{c4e3b5c5-bd78-eb11-a812-000d3adc8abb}" behavior="0" /> <RootComponent type="29" id="{c976585f-06b4-ea11-a812-000d3a86ad99}" behavior="0" /> + <RootComponent type="29" id="{d7ea745d-bafa-eb11-94ef-000d3ad6738d}" behavior="0" /> <RootComponent type="29" id="{db657a26-1d37-eb11-a813-000d3a0b97ca}" behavior="0" /> <RootComponent type="29" id="{e0d0cd69-529b-e911-a980-0022480186c3}" behavior="0" /> + <RootComponent type="29" id="{e7882336-ba02-ec11-b6e6-00224841d7ff}" behavior="0" /> <RootComponent type="29" id="{ee9bc39c-ffb2-e911-a97b-002248019881}" behavior="0" /> <RootComponent type="29" id="{f087a8f0-963d-45b3-b9a4-2baa2a1abd39}" behavior="0" /> - <RootComponent type="60" id="{1b475352-66bb-428d-ab0e-f307114bd3f7}" behavior="0" /> - <RootComponent type="60" id="{58ce527f-825b-4e2c-8029-4373ba3b653b}" behavior="0" /> - <RootComponent type="60" id="{6d588ec7-f362-43b4-b68a-e2181734f959}" behavior="0" /> - <RootComponent type="60" id="{6f14717f-673c-45a3-b862-4c3e7408be3f}" behavior="0" /> - <RootComponent type="60" id="{70b12cec-bba1-49fd-b7e6-9106f689b910}" behavior="0" /> - <RootComponent type="60" id="{7b04122c-0676-4377-a916-9402e7b14c97}" behavior="0" /> - <RootComponent type="60" id="{9055186e-ceb9-4d30-bc5f-88433ecb87f1}" behavior="0" /> - <RootComponent type="60" id="{91515219-2b79-eb11-a812-002248414025}" behavior="0" /> - <RootComponent type="60" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" behavior="0" /> - <RootComponent type="60" id="{9a5fde9c-6c2d-41f9-a7b4-cec5011f8fc2}" behavior="0" /> - <RootComponent type="60" id="{a4a4927d-ee98-49e2-b2e8-80daf3f97bdf}" behavior="0" /> + <RootComponent type="29" id="{fa0bdfa2-bbfa-eb11-94ef-000d3ad6738d}" behavior="0" /> + <RootComponent type="29" id="{ff45dee1-34aa-4c9b-92c2-97dabdbfff74}" behavior="0" /> <RootComponent type="60" id="{c28f6f7a-c279-e911-a97c-0022480186c3}" behavior="0" /> - <RootComponent type="60" id="{cb116382-2b79-eb11-a812-002248414025}" behavior="0" /> - <RootComponent type="60" id="{eb19a90f-2c79-eb11-a812-002248414025}" behavior="0" /> <RootComponent type="61" schemaName="devhub_/Images/devhub_approve.svg" behavior="0" /> <RootComponent type="61" schemaName="devhub_/Images/devhub_develop.svg" behavior="0" /> <RootComponent type="61" schemaName="devhub_/Images/devhub_Environment.svg" behavior="0" /> @@ -137,7 +144,7 @@ </RootComponents> <MissingDependencies> <MissingDependency> - <Required type="1" schemaName="devhub_issue" displayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="1" schemaName="devhub_issue" displayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="1" schemaName="devhub_issue" displayName="Issue" /> </MissingDependency> <MissingDependency> @@ -153,219 +160,191 @@ <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="createdon" displayName="Created On" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="createdon" displayName="Created On" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> - <Dependent type="26" schemaName="Failed Solution Merges" displayName="Failed Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{131f5dd1-9e4a-ea11-a812-000d3a0b97ca}" /> - </MissingDependency> - <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Solution Merge Associated View" displayName="Solution Merge Associated View" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{18d3f675-bf02-4b2d-bffb-3c674eca5054}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> - <Dependent type="26" schemaName="Solution Merge Advanced Find View" displayName="Solution Merge Advanced Find View" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{2baece6c-461c-4a01-9ab5-cae63af2eb7c}" /> - </MissingDependency> - <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> - <Dependent type="26" schemaName="Queued Solution Merges" displayName="Queued Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{4e38cbe4-9e4a-ea11-a812-000d3a0b97ca}" /> - </MissingDependency> - <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> - <Dependent type="26" schemaName="Inactive Solution Merges" displayName="Inactive Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{93d7173f-5b4a-4585-9aac-de791fe4d445}" /> - </MissingDependency> - <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Quick Find Active Solution Merges" displayName="Quick Find Active Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{b77ad5eb-9643-4fef-b229-a54b7f33f248}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> - <Dependent type="26" schemaName="All Solution Merges" displayName="All Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{bcabbfd7-a184-e911-a97e-0022480186c3}" /> - </MissingDependency> - <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> - <Dependent type="26" schemaName="Active Solution Merges" displayName="Active Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}" /> - </MissingDependency> - <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> - <Dependent type="26" schemaName="Awaiting Review Solution Merges" displayName="Awaiting Review Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{f926172c-9e4a-ea11-a812-000d3a0b97ca}" /> - </MissingDependency> - <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Start Developing" id="{62980a21-1026-4c44-8a75-a2f296c60f6d}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_description" displayName="Description" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="10" schemaName="devhub_issue_solutionmerge_Issue" displayName="devhub_issue_solutionmerge_Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Failed Solution Merges" displayName="Failed Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{131f5dd1-9e4a-ea11-a812-000d3a0b97ca}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Solution Merge Associated View" displayName="Solution Merge Associated View" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{18d3f675-bf02-4b2d-bffb-3c674eca5054}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Solution Merge Advanced Find View" displayName="Solution Merge Advanced Find View" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{2baece6c-461c-4a01-9ab5-cae63af2eb7c}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Solution Merge Lookup View" displayName="Solution Merge Lookup View" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{45a0b007-c4d5-4d4a-9841-c6d65c39d042}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Queued Solution Merges" displayName="Queued Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{4e38cbe4-9e4a-ea11-a812-000d3a0b97ca}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Inactive Solution Merges" displayName="Inactive Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{93d7173f-5b4a-4585-9aac-de791fe4d445}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Quick Find Active Solution Merges" displayName="Quick Find Active Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{b77ad5eb-9643-4fef-b229-a54b7f33f248}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="All Solution Merges" displayName="All Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{bcabbfd7-a184-e911-a97e-0022480186c3}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Active Solution Merges" displayName="Active Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Awaiting Review Solution Merges" displayName="Awaiting Review Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{f926172c-9e4a-ea11-a812-000d3a0b97ca}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Lock 'Status Reason'" id="{154fbb6c-7784-e911-a97e-0022480186c3}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Solution Merge: Set Name" id="{1fd3b61a-4080-4298-9822-d3bad18842f7}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Has Active Solution Merge" id="{2b0c0fac-4df1-435d-8ba8-0e78baefb755}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Lock 'Development Solution'" id="{3e79228e-9084-e911-a97e-0022480186c3}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Solution Merge: Validate And Update Issue" id="{5856b3ce-273e-4d1a-b6e2-527752ed3bc5}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Start Developing" id="{62980a21-1026-4c44-8a75-a2f296c60f6d}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Get Post Merge Solution Version" id="{7859f1df-de44-4b3e-854f-bf25345a700a}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_issueid" displayName="Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Solution Merge: Update Issue On Status Update" id="{f087a8f0-963d-45b3-b9a4-2baa2a1abd39}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="10" schemaName="devhub_issue_solutionmerge_Issue" displayName="devhub_issue_solutionmerge_Issue" parentSchemaName="devhub_issue" parentDisplayName="Issue" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Lock 'Status Reason'" id="{154fbb6c-7784-e911-a97e-0022480186c3}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Solution Merge: Set Name" id="{1fd3b61a-4080-4298-9822-d3bad18842f7}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Has Active Solution Merge" id="{2b0c0fac-4df1-435d-8ba8-0e78baefb755}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Lock 'Development Solution'" id="{3e79228e-9084-e911-a97e-0022480186c3}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Solution Merge: Validate And Update Issue" id="{5856b3ce-273e-4d1a-b6e2-527752ed3bc5}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Start Developing" id="{62980a21-1026-4c44-8a75-a2f296c60f6d}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Get Post Merge Solution Version" id="{7859f1df-de44-4b3e-854f-bf25345a700a}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Solution Merge: Update Issue On Status Update" id="{f087a8f0-963d-45b3-b9a4-2baa2a1abd39}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_name" displayName="Name" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Failed Solution Merges" displayName="Failed Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{131f5dd1-9e4a-ea11-a812-000d3a0b97ca}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Solution Merge Associated View" displayName="Solution Merge Associated View" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{18d3f675-bf02-4b2d-bffb-3c674eca5054}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Solution Merge Advanced Find View" displayName="Solution Merge Advanced Find View" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{2baece6c-461c-4a01-9ab5-cae63af2eb7c}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Queued Solution Merges" displayName="Queued Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{4e38cbe4-9e4a-ea11-a812-000d3a0b97ca}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Inactive Solution Merges" displayName="Inactive Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{93d7173f-5b4a-4585-9aac-de791fe4d445}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Quick Find Active Solution Merges" displayName="Quick Find Active Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{b77ad5eb-9643-4fef-b229-a54b7f33f248}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="All Solution Merges" displayName="All Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{bcabbfd7-a184-e911-a97e-0022480186c3}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Active Solution Merges" displayName="Active Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{c3ae2ff7-0bef-4f99-a9f5-55130a4a6790}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="26" schemaName="Awaiting Review Solution Merges" displayName="Awaiting Review Solution Merges" parentSchemaName="devhub_solutionmerge" parentDisplayName="Solution Merge" id="{f926172c-9e4a-ea11-a812-000d3a0b97ca}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Start Developing" id="{62980a21-1026-4c44-8a75-a2f296c60f6d}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Get Post Merge Solution Version" id="{7859f1df-de44-4b3e-854f-bf25345a700a}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_type" displayName="Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="devhub_url" displayName="URL" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="devhub_url" displayName="URL" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> @@ -377,59 +356,59 @@ <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Lock 'Status Reason'" id="{154fbb6c-7784-e911-a97e-0022480186c3}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Start Developing" id="{62980a21-1026-4c44-8a75-a2f296c60f6d}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="29" displayName="Solution Merge: Update Issue On Status Update" id="{f087a8f0-963d-45b3-b9a4-2baa2a1abd39}" /> </MissingDependency> <MissingDependency> - <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="2" schemaName="statuscode" displayName="Status Reason" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="60" displayName="Information" parentDisplayName="Issue" id="{97b0d9e0-dab1-41ae-8174-d252bfe633e6}" /> </MissingDependency> <MissingDependency> - <Required type="26" schemaName="Issue Lookup View" displayName="Issue Lookup View" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{a44c8d50-7d6f-4cd8-8504-d622fd2a1914}" /> + <Required type="26" schemaName="Issue Lookup View" displayName="Issue Lookup View" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" id="{a44c8d50-7d6f-4cd8-8504-d622fd2a1914}" /> <Dependent type="60" displayName="Information" parentDisplayName="Solution Merge" id="{6f14717f-673c-45a3-b862-4c3e7408be3f}" /> </MissingDependency> <MissingDependency> - <Required type="59" schemaName="Count by Owner" displayName="Count by Owner" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{08600d52-9576-e911-a819-002248008902}" /> + <Required type="59" schemaName="Count by Owner" displayName="Count by Owner" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" id="{08600d52-9576-e911-a819-002248008902}" /> <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> </MissingDependency> <MissingDependency> - <Required type="59" schemaName="Count per Day" displayName="Count per Day" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{4f470eb3-9576-e911-a819-002248008902}" /> + <Required type="59" schemaName="Count per Day" displayName="Count per Day" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" id="{4f470eb3-9576-e911-a819-002248008902}" /> <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> </MissingDependency> <MissingDependency> - <Required type="59" schemaName="Count by Type" displayName="Count by Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{cb92cc2f-9576-e911-a819-002248008902}" /> + <Required type="59" schemaName="Count by Type" displayName="Count by Type" parentSchemaName="devhub_issue" parentDisplayName="Issue" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" id="{cb92cc2f-9576-e911-a819-002248008902}" /> <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> </MissingDependency> <MissingDependency> - <Required type="60" displayName="Issues Dashboard" solution="devhub_DevelopmentHub_Issues (0.2.22)" id="{899883f9-9876-e911-a819-002248008902}" /> + <Required type="60" displayName="Issues Dashboard" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" id="{899883f9-9876-e911-a819-002248008902}" /> <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> </MissingDependency> <MissingDependency> - <Required type="61" schemaName="devhub_/Images/devhub_Issue.svg" displayName="devhub_/Images/devhub_Issue.svg" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="61" schemaName="devhub_/Images/devhub_Issue.svg" displayName="devhub_/Images/devhub_Issue.svg" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="1" schemaName="devhub_issue" displayName="Issue" /> </MissingDependency> <MissingDependency> - <Required type="61" schemaName="devhub_/Images/devhub_Issue.svg" displayName="devhub_/Images/devhub_Issue.svg" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="61" schemaName="devhub_/Images/devhub_Issue.svg" displayName="devhub_/Images/devhub_Issue.svg" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="62" schemaName="devhub_DevelopmentHub" /> </MissingDependency> <MissingDependency> - <Required type="61" schemaName="devhub_/Images/devhub_Logo.svg" displayName="devhub_/Images/devhub_Logo.svg" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="61" schemaName="devhub_/Images/devhub_Logo.svg" displayName="devhub_/Images/devhub_Logo.svg" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="80" schemaName="devhub_DevelopmentHub" displayName="Development Hub" /> </MissingDependency> <MissingDependency> - <Required type="62" schemaName="devhub_DevelopmentHub" solution="devhub_DevelopmentHub_Issues (0.2.22)" /> + <Required type="62" schemaName="devhub_DevelopmentHub" solution="devhub_DevelopmentHub_Issues (0.2.22.1)" /> <Dependent type="62" schemaName="devhub_DevelopmentHub" /> </MissingDependency> <MissingDependency> - <Required type="66" schemaName="MscrmControls.FlipSwitch.FlipSwitchControl" displayName="MscrmControls.FlipSwitch.FlipSwitchControl" solution="CustomControlsCore (9.2.21053.00132)" /> + <Required type="66" schemaName="MscrmControls.FlipSwitch.FlipSwitchControl" displayName="MscrmControls.FlipSwitch.FlipSwitchControl" solution="CustomControlsCore (9.2.22054.000143)" /> <Dependent type="60" displayName="Information" parentDisplayName="Solution Merge" id="{6f14717f-673c-45a3-b862-4c3e7408be3f}" /> </MissingDependency> </MissingDependencies> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/WebResources/devhub_/Js/develop.common.js.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/WebResources/devhub_/Js/develop.common.js.data.xml index dc98081..fa2037c 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/WebResources/devhub_/Js/develop.common.js.data.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/WebResources/devhub_/Js/develop.common.js.data.xml @@ -4,6 +4,7 @@ <Name>devhub_/Js/develop.common.js</Name> <DisplayName>develop.common.js</DisplayName> <Description>Common JavaScript event handlers.</Description> + <LanguageCode>0</LanguageCode> <WebResourceType>3</WebResourceType> <IntroducedVersion>0.1.15.0</IntroducedVersion> <IsEnabledForMobileClient>0</IsEnabledForMobileClient> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Button-Getaccesstoken-DB657A26-1D37-EB11-A813-000D3A0B97CA.json b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Button-Getaccesstoken-DB657A26-1D37-EB11-A813-000D3A0B97CA.json index d1f42dc..58015f1 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Button-Getaccesstoken-DB657A26-1D37-EB11-A813-000D3A0B97CA.json +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Button-Getaccesstoken-DB657A26-1D37-EB11-A813-000D3A0B97CA.json @@ -1 +1,140 @@ -{"properties":{"connectionReferences":{},"definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"manual":{"type":"Request","kind":"Button","inputs":{"schema":{"type":"object","properties":{"text":{"title":"Tenant ID","type":"string","x-ms-dynamically-added":true,"description":"Please enter your input","x-ms-content-hint":"TEXT"},"text_1":{"title":"Client ID","type":"string","x-ms-dynamically-added":true,"description":"Please enter your input","x-ms-content-hint":"TEXT"},"text_2":{"title":"Client Secret","type":"string","x-ms-dynamically-added":true,"description":"Please enter your input","x-ms-content-hint":"TEXT"},"text_3":{"title":"Resource","type":"string","x-ms-dynamically-added":true,"description":"Please enter your input","x-ms-content-hint":"TEXT"}},"required":["text","text_1","text_2","text_3"]}}}},"actions":{"Get_access_token":{"runAfter":{},"type":"Http","inputs":{"method":"POST","uri":"https://login.microsoftonline.com/@{triggerBody()['text']}/oauth2/token","headers":{"Content-Type":"application/x-www-form-urlencoded"},"body":"client_id=@{triggerBody()['text_1']}&\nclient_secret=@{triggerBody()['text_2']}&\ngrant_type=client_credentials&\nresource=@{triggerBody()['text_3']}"}},"Parse_JSON":{"runAfter":{"Get_access_token":["Succeeded"]},"type":"ParseJson","inputs":{"content":"@body('Get_access_token')","schema":{"type":"object","properties":{"token_type":{"type":"string"},"expires_in":{"type":"string"},"ext_expires_in":{"type":"string"},"expires_on":{"type":"string"},"not_before":{"type":"string"},"resource":{"type":"string"},"access_token":{"type":"string"}}}}},"Respond_to_a_PowerApp_or_flow":{"runAfter":{"Parse_JSON":["Succeeded"]},"type":"Response","kind":"PowerApp","inputs":{"statusCode":200,"body":{"access_token":"@body('Parse_JSON')?['access_token']"},"schema":{"type":"object","properties":{"access_token":{"title":"Access Token","x-ms-dynamically-added":true,"type":"string"}}}}}},"outputs":{}}},"schemaVersion":"1.0.0.0"} \ No newline at end of file +{ + "properties": { + "connectionReferences": {}, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + } + }, + "triggers": { + "manual": { + "type": "Request", + "kind": "Button", + "inputs": { + "schema": { + "type": "object", + "properties": { + "text": { + "title": "Tenant ID", + "type": "string", + "x-ms-dynamically-added": true, + "description": "Please enter your input", + "x-ms-content-hint": "TEXT" + }, + "text_1": { + "title": "Client ID", + "type": "string", + "x-ms-dynamically-added": true, + "description": "Please enter your input", + "x-ms-content-hint": "TEXT" + }, + "text_2": { + "title": "Client Secret", + "type": "string", + "x-ms-dynamically-added": true, + "description": "Please enter your input", + "x-ms-content-hint": "TEXT" + }, + "text_3": { + "title": "Resource", + "type": "string", + "x-ms-dynamically-added": true, + "description": "Please enter your input", + "x-ms-content-hint": "TEXT" + } + }, + "required": [ + "text", + "text_1", + "text_2", + "text_3" + ] + } + } + } + }, + "actions": { + "Get_access_token": { + "runAfter": {}, + "type": "Http", + "inputs": { + "method": "POST", + "uri": "https://login.microsoftonline.com/@{triggerBody()['text']}/oauth2/token", + "headers": { + "Content-Type": "application/x-www-form-urlencoded" + }, + "body": "client_id=@{triggerBody()['text_1']}&\nclient_secret=@{triggerBody()['text_2']}&\ngrant_type=client_credentials&\nresource=@{triggerBody()['text_3']}" + } + }, + "Parse_JSON": { + "runAfter": { + "Get_access_token": [ + "Succeeded" + ] + }, + "type": "ParseJson", + "inputs": { + "content": "@body('Get_access_token')", + "schema": { + "type": "object", + "properties": { + "token_type": { + "type": "string" + }, + "expires_in": { + "type": "string" + }, + "ext_expires_in": { + "type": "string" + }, + "expires_on": { + "type": "string" + }, + "not_before": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "access_token": { + "type": "string" + } + } + } + } + }, + "Respond_to_a_PowerApp_or_flow": { + "runAfter": { + "Parse_JSON": [ + "Succeeded" + ] + }, + "type": "Response", + "kind": "PowerApp", + "inputs": { + "statusCode": 200, + "body": { + "access_token": "@body('Parse_JSON')?['access_token']" + }, + "schema": { + "type": "object", + "properties": { + "access_token": { + "title": "Access Token", + "x-ms-dynamically-added": true, + "type": "string" + } + } + } + } + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/CommithashandURLarerequiredforareadyephemeralenvir-E7882336-BA02-EC11-B6E6-00224841D7FF.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/CommithashandURLarerequiredforareadyephemeralenvir-E7882336-BA02-EC11-B6E6-00224841D7FF.xaml new file mode 100644 index 0000000..d1b236d --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/CommithashandURLarerequiredforareadyephemeralenvir-E7882336-BA02-EC11-B6E6-00224841D7FF.xaml @@ -0,0 +1,122 @@ +<Activity x:Class="XrmWorkflowe7882336ba02ec11b6e600224841d7ff" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflowe7882336ba02ec11b6e600224841d7ff.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowe7882336ba02ec11b6e600224841d7ff.InputEntities> + <this:XrmWorkflowe7882336ba02ec11b6e600224841d7ff.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowe7882336ba02ec11b6e600224841d7ff.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_3" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_4" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_5" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_6" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_lifetime" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" Value="[ConditionBranchStep2_2]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400001", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_3]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_3 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_2]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:GetEntityProperty Attribute="statuscode" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" Value="[ConditionBranchStep2_5]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "1", "Status" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_6]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_6 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_5]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_4]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateLogicalCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateLogicalCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:LogicalOperator" x:Key="LogicalOperator">And</InArgument> + <InArgument x:TypeArguments="x:Boolean" x:Key="LeftOperand">[ConditionBranchStep2_1]</InArgument> + <InArgument x:TypeArguments="x:Boolean" x:Key="RightOperand">[ConditionBranchStep2_4]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetFieldRequiredLevelStep1: Make URL required"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_environment")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_url" ControlType="standard" DisplayName="SetFieldRequiredLevelStep1" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" RequiredLevel="Required" /> + </Sequence> + <Sequence DisplayName="SetFieldRequiredLevelStep2: Make Commit Hash required"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_environment")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_commithash" ControlType="standard" DisplayName="SetFieldRequiredLevelStep2" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" RequiredLevel="Required" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">If Lifetime is Ephemeral and Status Reason is Ready</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/CommithashandURLarerequiredforareadyephemeralenvir-E7882336-BA02-EC11-B6E6-00224841D7FF.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/CommithashandURLarerequiredforareadyephemeralenvir-E7882336-BA02-EC11-B6E6-00224841D7FF.xaml.data.xml new file mode 100644 index 0000000..bdede21 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/CommithashandURLarerequiredforareadyephemeralenvir-E7882336-BA02-EC11-B6E6-00224841D7FF.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{e7882336-ba02-ec11-b6e6-00224841d7ff}" Name="Commit hash and URL are required for a ready ephemeral environment" Description="Click to add description" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/CommithashandURLarerequiredforareadyephemeralenvir-E7882336-BA02-EC11-B6E6-00224841D7FF.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_environment</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Commit hash and URL are required for a ready ephemeral environment" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="Click to add description" /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Commithashisshownwhenenvironmentisephemeral-5849B0A6-1FFD-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Commithashisshownwhenenvironmentisephemeral-5849B0A6-1FFD-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..7da4841 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Commithashisshownwhenenvironmentisephemeral-5849B0A6-1FFD-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,76 @@ +<Activity x:Class="XrmWorkflow5849b0a61ffdeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow5849b0a61ffdeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow5849b0a61ffdeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflow5849b0a61ffdeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow5849b0a61ffdeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_lifetime" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400001", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep1: Show Commit Hash"> + <mcwc:SetVisibility ControlId="devhub_commithash" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" IsVisible="True" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">If Lifetime is Ephemeral</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Commithashisshownwhenenvironmentisephemeral-5849B0A6-1FFD-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Commithashisshownwhenenvironmentisephemeral-5849B0A6-1FFD-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..9d0f5e9 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Commithashisshownwhenenvironmentisephemeral-5849B0A6-1FFD-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{5849b0a6-1ffd-eb11-94ef-000d3ad6738d}" Name="Commit hash is shown when environment is ephemeral" Description="This is the hash of the commit that the environment was prepared based on. It is not applicable for static environments." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Commithashisshownwhenenvironmentisephemeral-5849B0A6-1FFD-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_environment</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Commit hash is shown when environment is ephemeral" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="This is the hash of the commit that the environment was prepared based on. It is not applicable for static environments." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Environmentisrequiredtoapproveasequentialsolutionm-823F6D6B-D5FA-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Environmentisrequiredtoapproveasequentialsolutionm-823F6D6B-D5FA-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..98c231f --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Environmentisrequiredtoapproveasequentialsolutionm-823F6D6B-D5FA-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,150 @@ +<Activity x:Class="XrmWorkflow823f6d6bd5faeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow823f6d6bd5faeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow823f6d6bd5faeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflow823f6d6bd5faeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow823f6d6bd5faeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_3" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_4" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_5" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_6" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="True" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_1" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_mergestrategy" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" Value="[ConditionBranchStep2_2]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400000", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_3]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_3 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_2]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:GetEntityProperty Attribute="statuscode" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" Value="[ConditionBranchStep2_5]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400000", "Status" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_6]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_6 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_5]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_4]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateLogicalCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateLogicalCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:LogicalOperator" x:Key="LogicalOperator">And</InArgument> + <InArgument x:TypeArguments="x:Boolean" x:Key="LeftOperand">[ConditionBranchStep2_1]</InArgument> + <InArgument x:TypeArguments="x:Boolean" x:Key="RightOperand">[ConditionBranchStep2_4]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetFieldRequiredLevelStep1: Make Environment required"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solutionmerge")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_environment" ControlType="standard" DisplayName="SetFieldRequiredLevelStep1" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" RequiredLevel="Required" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">Environment is required for sequential solution merges</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.Boolean, "True" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Boolean" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep3_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[True]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetFieldRequiredLevelStep2: Make Environment not required"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solutionmerge")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_environment" ControlType="standard" DisplayName="SetFieldRequiredLevelStep2" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" RequiredLevel="None" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description"></x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Environmentisrequiredtoapproveasequentialsolutionm-823F6D6B-D5FA-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Environmentisrequiredtoapproveasequentialsolutionm-823F6D6B-D5FA-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..82f251f --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Environmentisrequiredtoapproveasequentialsolutionm-823F6D6B-D5FA-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{823f6d6b-d5fa-eb11-94ef-000d3ad6738d}" Name="Environment is required to approve a sequential solution merge" Description="The environment for sequential solution merges must be set as an environment won't be provisioned during the merge process." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Environmentisrequiredtoapproveasequentialsolutionm-823F6D6B-D5FA-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_solutionmerge</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Environment is required to approve a sequential solution merge" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="The environment for sequential solution merges must be set as an environment won't be provisioned during the merge process." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/FieldsAreLockedAfterApproval-EE9BC39C-FFB2-E911-A97B-002248019881.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Fieldsarelockedduringmergingprocess-EE9BC39C-FFB2-E911-A97B-002248019881.xaml similarity index 79% rename from src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/FieldsAreLockedAfterApproval-EE9BC39C-FFB2-E911-A97B-002248019881.xaml rename to src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Fieldsarelockedduringmergingprocess-EE9BC39C-FFB2-E911-A97B-002248019881.xaml index 21ffdb2..d743258 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/FieldsAreLockedAfterApproval-EE9BC39C-FFB2-E911-A97B-002248019881.xaml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Fieldsarelockedduringmergingprocess-EE9BC39C-FFB2-E911-A97B-002248019881.xaml @@ -20,6 +20,8 @@ <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_3" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_4" /> <Variable x:TypeArguments="x:Boolean" Default="False" Name="True" /> <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_1" /> </sco:Collection> @@ -43,10 +45,30 @@ <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> </mxswa:ActivityReference.Arguments> </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400002", "Status" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_3]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400009", "Status" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_4]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> <mxswa:ActivityReference.Arguments> <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">NotEqual</InArgument> - <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2, ConditionBranchStep2_3, ConditionBranchStep2_4 }]</InArgument> <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> </mxswa:ActivityReference.Arguments> @@ -69,6 +91,9 @@ <Sequence DisplayName="SetDisplayModeStep3: Lock Issue"> <mcwc:SetDisplayMode ControlId="devhub_issue" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" IsReadOnly="True" /> </Sequence> + <Sequence DisplayName="SetDisplayModeStep7: Lock Manual Merge Activities"> + <mcwc:SetDisplayMode ControlId="devhub_manualmergeactivities" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" IsReadOnly="True" /> + </Sequence> </sco:Collection> </mxswa:ActivityReference.Properties> </mxswa:ActivityReference> @@ -104,6 +129,9 @@ <Sequence DisplayName="SetDisplayModeStep6: Unlock Issue"> <mcwc:SetDisplayMode ControlId="devhub_issue" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" IsReadOnly="False" /> </Sequence> + <Sequence DisplayName="SetDisplayModeStep8: Unlock Manual Merge Activities"> + <mcwc:SetDisplayMode ControlId="devhub_manualmergeactivities" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" IsReadOnly="False" /> + </Sequence> </sco:Collection> </mxswa:ActivityReference.Properties> </mxswa:ActivityReference> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/FieldsAreLockedAfterApproval-EE9BC39C-FFB2-E911-A97B-002248019881.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Fieldsarelockedduringmergingprocess-EE9BC39C-FFB2-E911-A97B-002248019881.xaml.data.xml similarity index 64% rename from src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/FieldsAreLockedAfterApproval-EE9BC39C-FFB2-E911-A97B-002248019881.xaml.data.xml rename to src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Fieldsarelockedduringmergingprocess-EE9BC39C-FFB2-E911-A97B-002248019881.xaml.data.xml index a2e8454..bbbd558 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/FieldsAreLockedAfterApproval-EE9BC39C-FFB2-E911-A97B-002248019881.xaml.data.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Fieldsarelockedduringmergingprocess-EE9BC39C-FFB2-E911-A97B-002248019881.xaml.data.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<Workflow WorkflowId="{ee9bc39c-ffb2-e911-a97b-002248019881}" Name="Fields Are Locked After Approval" Description="Updates are not allowed after an approval" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <XamlFileName>/Workflows/FieldsAreLockedAfterApproval-EE9BC39C-FFB2-E911-A97B-002248019881.xaml</XamlFileName> +<Workflow WorkflowId="{ee9bc39c-ffb2-e911-a97b-002248019881}" Name="Fields are locked during merging process" Description="Updated are not allowed until after the process has finished." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Fieldsarelockedduringmergingprocess-EE9BC39C-FFB2-E911-A97B-002248019881.xaml</XamlFileName> <Type>1</Type> <Subprocess>0</Subprocess> <Category>2</Category> @@ -22,9 +22,9 @@ <ProcessTriggerScope>1</ProcessTriggerScope> <PrimaryEntity>devhub_solutionmerge</PrimaryEntity> <LocalizedNames> - <LocalizedName languagecode="1033" description="Fields Are Locked After Approval" /> + <LocalizedName languagecode="1033" description="Fields are locked during merging process" /> </LocalizedNames> <Descriptions> - <Description languagecode="1033" description="Updates are not allowed after an approval" /> + <Description languagecode="1033" description="Updated are not allowed until after the process has finished." /> </Descriptions> </Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/MarkAsPrepared-A0F9AE2C-DE8B-4A1B-9604-0A24F2C1E36C.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/MarkAsPrepared-A0F9AE2C-DE8B-4A1B-9604-0A24F2C1E36C.xaml new file mode 100644 index 0000000..8d29f28 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/MarkAsPrepared-A0F9AE2C-DE8B-4A1B-9604-0A24F2C1E36C.xaml @@ -0,0 +1,227 @@ +<Activity x:Class="XrmWorkflowa0f9ae2cde8b4a1b96040a24f2c1e36c" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsw="clr-namespace:Microsoft.Xrm.Sdk.Workflow;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="Url" Type="InArgument(x:String)"> + <x:Property.Attributes> + <mxsw:ArgumentRequiredAttribute Value="True" /> + <mxsw:ArgumentTargetAttribute Value="False" /> + <mxsw:ArgumentDescriptionAttribute Value="The URL of the environment." /> + <mxsw:ArgumentDirectionAttribute Value="Input" /> + <mxsw:ArgumentEntityAttribute Value="" /> + </x:Property.Attributes> + </x:Property> + <x:Property Name="CommitHash" Type="InArgument(x:String)"> + <x:Property.Attributes> + <mxsw:ArgumentRequiredAttribute Value="True" /> + <mxsw:ArgumentTargetAttribute Value="False" /> + <mxsw:ArgumentDescriptionAttribute Value="The commit hash the environment was prepared based on." /> + <mxsw:ArgumentDirectionAttribute Value="Input" /> + <mxsw:ArgumentEntityAttribute Value="" /> + </x:Property.Attributes> + </x:Property> + <x:Property Name="Target" Type="InArgument(mxs:EntityReference)"> + <x:Property.Attributes> + <mxsw:ArgumentRequiredAttribute Value="True" /> + <mxsw:ArgumentTargetAttribute Value="True" /> + <mxsw:ArgumentDescriptionAttribute Value="Target Argument" /> + <mxsw:ArgumentDirectionAttribute Value="Input" /> + <mxsw:ArgumentEntityAttribute Value="devhub_environment" /> + </x:Property.Attributes> + </x:Property> + </x:Members> + <this:XrmWorkflowa0f9ae2cde8b4a1b96040a24f2c1e36c.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowa0f9ae2cde8b4a1b96040a24f2c1e36c.InputEntities> + <this:XrmWorkflowa0f9ae2cde8b4a1b96040a24f2c1e36c.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowa0f9ae2cde8b4a1b96040a24f2c1e36c.CreatedEntities> + <this:XrmWorkflowa0f9ae2cde8b4a1b96040a24f2c1e36c.Target> + <InArgument x:TypeArguments="mxs:EntityReference" /> + </this:XrmWorkflowa0f9ae2cde8b4a1b96040a24f2c1e36c.Target> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep2: If the commit hash is empty"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep3_condition" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep3_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_2" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep3_3" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_4" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CustomOperationArguments</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { CommitHash }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep3_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Null</InArgument> + <x:Null x:Key="Parameters" /> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep3_2]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep3_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CustomOperationArguments</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Url }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep3_4]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Null</InArgument> + <x:Null x:Key="Parameters" /> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep3_4]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep3_3]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateLogicalCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateLogicalCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:LogicalOperator" x:Key="LogicalOperator">Or</InArgument> + <InArgument x:TypeArguments="x:Boolean" x:Key="LeftOperand">[ConditionBranchStep3_1]</InArgument> + <InArgument x:TypeArguments="x:Boolean" x:Key="RightOperand">[ConditionBranchStep3_3]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep3_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep3_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="StopWorkflowStep4: Throw error"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="StopWorkflowStep4_1" /> + <Variable x:TypeArguments="x:String" Default="df51b44a-0533-406f-83e6-96f11720c234" Name="stepLabelLabelId" /> + <Variable x:TypeArguments="x:String" Default="A commit hash and URL must be provided to ready an environment." Name="stepLabelDescription" /> + <Variable x:TypeArguments="x:Int32" Default="1033" Name="stepLabelLanguageCode" /> + </Sequence.Variables> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.String, "A commit hash and URL must be provided to ready an environment.", "String" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:String" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[StopWorkflowStep4_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <TerminateWorkflow DisplayName="StopWorkflowStep4: Throw error" Exception="[New Microsoft.Xrm.Sdk.InvalidPluginExecutionException(Microsoft.Xrm.Sdk.OperationStatus.Canceled)]" Reason="[DirectCast(StopWorkflowStep4_1, System.String)]" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:Null x:Key="Description" /> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <Sequence DisplayName="UpdateStep1: Set commit hash and URL"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="UpdateStep1_1" /> + <Variable x:TypeArguments="x:Object" Name="UpdateStep1_2" /> + <Variable x:TypeArguments="x:Object" Name="UpdateStep1_3" /> + <Variable x:TypeArguments="x:Object" Name="UpdateStep1_4" /> + </Sequence.Variables> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_environment")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CustomOperationArguments</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Url }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:String" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[UpdateStep1_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">SelectFirstNonNull</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { UpdateStep1_2 }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:String" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[UpdateStep1_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:SetEntityProperty Attribute="devhub_url" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_environment" Value="[UpdateStep1_1]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:String" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CustomOperationArguments</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { CommitHash }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:String" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[UpdateStep1_4]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">SelectFirstNonNull</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { UpdateStep1_4 }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:String" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[UpdateStep1_3]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:SetEntityProperty Attribute="devhub_commithash" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_environment" Value="[UpdateStep1_3]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:String" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mxswa:UpdateEntity DisplayName="UpdateStep1" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_environment" /> + <Assign x:TypeArguments="mxs:Entity" To="[InputEntities("primaryEntity")]" Value="[CreatedEntities("primaryEntity#Temp")]" /> + </Sequence> + <mxswa:SetState DisplayName="SetStateStep5: Set status to ready" Entity="[InputEntities("primaryEntity")]" EntityId="[InputEntities("primaryEntity").Id]" EntityName="devhub_environment"> + <mxswa:SetState.State> + <InArgument x:TypeArguments="mxs:OptionSetValue"> + <mxswa:ReferenceLiteral x:TypeArguments="mxs:OptionSetValue"> + <mxs:OptionSetValue ExtensionData="{x:Null}" Value="0" /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:SetState.State> + <mxswa:SetState.Status> + <InArgument x:TypeArguments="mxs:OptionSetValue"> + <mxswa:ReferenceLiteral x:TypeArguments="mxs:OptionSetValue"> + <mxs:OptionSetValue ExtensionData="{x:Null}" Value="1" /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:SetState.Status> + </mxswa:SetState> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/MarkAsPrepared-A0F9AE2C-DE8B-4A1B-9604-0A24F2C1E36C.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/MarkAsPrepared-A0F9AE2C-DE8B-4A1B-9604-0A24F2C1E36C.xaml.data.xml new file mode 100644 index 0000000..06aa2bd --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/MarkAsPrepared-A0F9AE2C-DE8B-4A1B-9604-0A24F2C1E36C.xaml.data.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{a0f9ae2c-de8b-4a1b-9604-0a24f2c1e36c}" Name="MarkAsPrepared" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/MarkAsPrepared-A0F9AE2C-DE8B-4A1B-9604-0A24F2C1E36C.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>3</Category> + <Mode>0</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>1</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <CreateStage>40</CreateStage> + <RunAs>1</RunAs> + <SdkMessageId>{e3577782-20fd-eb11-94ef-000d3ad6738d}</SdkMessageId> + <UniqueName>MarkAsPrepared</UniqueName> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <FormId>{00000000-0000-0000-0000-000000000000}</FormId> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <PrimaryEntity>devhub_environment</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="MarkAsPrepared" /> + </LocalizedNames> + <labels> + <steplabels id="{df51b44a-0533-406f-83e6-96f11720c234}"> + <label languagecode="1033" description="A commit hash and URL must be provided to ready an environment." /> + </steplabels> + </labels> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Mergestrategyisrequiredtoapproveasolutionmerge-FA0BDFA2-BBFA-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Mergestrategyisrequiredtoapproveasolutionmerge-FA0BDFA2-BBFA-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..7de08dd --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Mergestrategyisrequiredtoapproveasolutionmerge-FA0BDFA2-BBFA-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,111 @@ +<Activity x:Class="XrmWorkflowfa0bdfa2bbfaeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflowfa0bdfa2bbfaeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowfa0bdfa2bbfaeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflowfa0bdfa2bbfaeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowfa0bdfa2bbfaeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="True" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_1" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="statuscode" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400000", "Status" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetFieldRequiredLevelStep1: Make Merge Strategy required"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solutionmerge")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_mergestrategy" ControlType="standard" DisplayName="SetFieldRequiredLevelStep1" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" RequiredLevel="Required" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">Status Reason is Approved</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.Boolean, "True" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Boolean" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep3_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[True]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetFieldRequiredLevelStep2: Make Merge Strategy not required"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solutionmerge")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_mergestrategy" ControlType="standard" DisplayName="SetFieldRequiredLevelStep2" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" RequiredLevel="None" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description"></x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Mergestrategyisrequiredtoapproveasolutionmerge-FA0BDFA2-BBFA-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Mergestrategyisrequiredtoapproveasolutionmerge-FA0BDFA2-BBFA-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..4974654 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Mergestrategyisrequiredtoapproveasolutionmerge-FA0BDFA2-BBFA-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{fa0bdfa2-bbfa-eb11-94ef-000d3ad6738d}" Name="Merge strategy is required to approve a solution merge" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Mergestrategyisrequiredtoapproveasolutionmerge-FA0BDFA2-BBFA-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_solutionmerge</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Merge strategy is required to approve a solution merge" /> + </LocalizedNames> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Nameisread-onlywhenenvironmentisephemeral-2EDB6882-1AFD-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Nameisread-onlywhenenvironmentisephemeral-2EDB6882-1AFD-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..745bdc3 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Nameisread-onlywhenenvironmentisephemeral-2EDB6882-1AFD-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,76 @@ +<Activity x:Class="XrmWorkflow2edb68821afdeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow2edb68821afdeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow2edb68821afdeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflow2edb68821afdeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow2edb68821afdeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_lifetime" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400001", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetDisplayModeStep2: Make name read-only"> + <mcwc:SetDisplayMode ControlId="devhub_name" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" IsReadOnly="True" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">If Lifetime is Ephemeral</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Nameisread-onlywhenenvironmentisephemeral-2EDB6882-1AFD-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Nameisread-onlywhenenvironmentisephemeral-2EDB6882-1AFD-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..21309ba --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Nameisread-onlywhenenvironmentisephemeral-2EDB6882-1AFD-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{2edb6882-1afd-eb11-94ef-000d3ad6738d}" Name="Name is read-only when environment is ephemeral" Description="The name is managed by the merging process." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Nameisread-onlywhenenvironmentisephemeral-2EDB6882-1AFD-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>1</ProcessTriggerScope> + <PrimaryEntity>devhub_environment</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Name is read-only when environment is ephemeral" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="The name is managed by the merging process." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Solutionisshownwhenenvironmentisephemeral-810626DD-19FD-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Solutionisshownwhenenvironmentisephemeral-810626DD-19FD-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..0084845 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Solutionisshownwhenenvironmentisephemeral-810626DD-19FD-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,107 @@ +<Activity x:Class="XrmWorkflow810626dd19fdeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow810626dd19fdeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow810626dd19fdeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflow810626dd19fdeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow810626dd19fdeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="True" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_1" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_lifetime" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400001", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep1: Show solution"> + <mcwc:SetVisibility ControlId="devhub_solution" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" IsVisible="True" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">If Lifetime is Ephemeral</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.Boolean, "True" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Boolean" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep3_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[True]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep2: Hide solution"> + <mcwc:SetVisibility ControlId="devhub_solution" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" IsVisible="False" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description"></x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Solutionisshownwhenenvironmentisephemeral-810626DD-19FD-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Solutionisshownwhenenvironmentisephemeral-810626DD-19FD-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..a068311 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Solutionisshownwhenenvironmentisephemeral-810626DD-19FD-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{810626dd-19fd-eb11-94ef-000d3ad6738d}" Name="Solution is shown when environment is ephemeral" Description="The solution is only applicable for ephemeral environments. This is set automatically by the merging process." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Solutionisshownwhenenvironmentisephemeral-810626DD-19FD-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_environment</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Solution is shown when environment is ephemeral" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="The solution is only applicable for ephemeral environments. This is set automatically by the merging process." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/StagingEnvironmentisrequiredwhenMergeStrategyisSeq-D7EA745D-BAFA-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/StagingEnvironmentisrequiredwhenMergeStrategyisSeq-D7EA745D-BAFA-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..ae5bfab --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/StagingEnvironmentisrequiredwhenMergeStrategyisSeq-D7EA745D-BAFA-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,133 @@ +<Activity x:Class="XrmWorkflowd7ea745dbafaeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflowd7ea745dbafaeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowd7ea745dbafaeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflowd7ea745dbafaeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowd7ea745dbafaeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="True" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_1" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_mergestrategy" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400000", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep1: Show Staging Environment"> + <mcwc:SetVisibility ControlId="devhub_stagingenvironment" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="True" /> + </Sequence> + <Sequence DisplayName="SetFieldRequiredLevelStep4: Make Staging Environment required"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_stagingenvironment" ControlType="standard" DisplayName="SetFieldRequiredLevelStep4" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" RequiredLevel="Required" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">If Merging Strategy is Sequential</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.Boolean, "True" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Boolean" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep3_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[True]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep2: Hide Staging Environment"> + <mcwc:SetVisibility ControlId="devhub_stagingenvironment" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="False" /> + </Sequence> + <Sequence DisplayName="SetFieldRequiredLevelStep3: Make Staging Environment optional"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_stagingenvironment" ControlType="standard" DisplayName="SetFieldRequiredLevelStep3" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" RequiredLevel="None" /> + </Sequence> + <Sequence DisplayName="SetAttributeValueStep5: Clear Staging Environment"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="SetAttributeValueStep5_1" /> + </Sequence.Variables> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mxswa:SetEntityProperty Attribute="devhub_stagingenvironment" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" Value="[SetAttributeValueStep5_1]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityReference" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mcwc:SetAttributeValue DisplayName="SetAttributeValueStep5" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" /> + <Assign x:TypeArguments="mxs:Entity" To="[InputEntities("primaryEntity")]" Value="[CreatedEntities("primaryEntity#Temp")]" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description"></x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/StagingEnvironmentisrequiredwhenMergeStrategyisSeq-D7EA745D-BAFA-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/StagingEnvironmentisrequiredwhenMergeStrategyisSeq-D7EA745D-BAFA-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..757d557 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/StagingEnvironmentisrequiredwhenMergeStrategyisSeq-D7EA745D-BAFA-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{d7ea745d-bafa-eb11-94ef-000d3ad6738d}" Name="Staging Environment is required when Merge Strategy is Sequential" Description="A sequential merge strategy requires a static instance to promote changes to." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/StagingEnvironmentisrequiredwhenMergeStrategyisSeq-D7EA745D-BAFA-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_solution</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Staging Environment is required when Merge Strategy is Sequential" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="A sequential merge strategy requires a static instance to promote changes to." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisnotrequiredwhenstatusispendingprovision-0A0D90B3-CBFE-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisnotrequiredwhenstatusispendingprovision-0A0D90B3-CBFE-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..f74a662 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisnotrequiredwhenstatusispendingprovision-0A0D90B3-CBFE-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,78 @@ +<Activity x:Class="XrmWorkflow0a0d90b3cbfeeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow0a0d90b3cbfeeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow0a0d90b3cbfeeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflow0a0d90b3cbfeeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow0a0d90b3cbfeeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="statuscode" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400004", "Status" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetFieldRequiredLevelStep1: Make URL optional"> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_environment")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mcwc:SetFieldRequiredLevel ControlId="devhub_url" ControlType="standard" DisplayName="SetFieldRequiredLevelStep1" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" RequiredLevel="None" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">If Status Reason is Pending Provision</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisnotrequiredwhenstatusispendingprovision-0A0D90B3-CBFE-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisnotrequiredwhenstatusispendingprovision-0A0D90B3-CBFE-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..3c76c3c --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisnotrequiredwhenstatusispendingprovision-0A0D90B3-CBFE-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{0a0d90b3-cbfe-eb11-94ef-000d3ad6738d}" Name="URL is not required when status is pending provision" Description="The URL will not be known at this point." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/URLisnotrequiredwhenstatusispendingprovision-0A0D90B3-CBFE-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_environment</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="URL is not required when status is pending provision" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="The URL will not be known at this point." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisread-onlywhenenvironmentisephemeral-1CCF96D9-1AFD-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisread-onlywhenenvironmentisephemeral-1CCF96D9-1AFD-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..01fbcea --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisread-onlywhenenvironmentisephemeral-1CCF96D9-1AFD-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,76 @@ +<Activity x:Class="XrmWorkflow1ccf96d91afdeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow1ccf96d91afdeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow1ccf96d91afdeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflow1ccf96d91afdeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow1ccf96d91afdeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_lifetime" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400001", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetDisplayModeStep1: Make URL read-only"> + <mcwc:SetDisplayMode ControlId="devhub_url" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_environment" IsReadOnly="True" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">If Lifetime is Ephemeral</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisread-onlywhenenvironmentisephemeral-1CCF96D9-1AFD-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisread-onlywhenenvironmentisephemeral-1CCF96D9-1AFD-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..c5182c6 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/URLisread-onlywhenenvironmentisephemeral-1CCF96D9-1AFD-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{1ccf96d9-1afd-eb11-94ef-000d3ad6738d}" Name="URL is read-only when environment is ephemeral" Description="The URL is managed by the merging process." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/URLisread-onlywhenenvironmentisephemeral-1CCF96D9-1AFD-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>1</ProcessTriggerScope> + <PrimaryEntity>devhub_environment</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="URL is read-only when environment is ephemeral" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="The URL is managed by the merging process." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Versionnumbersarehiddenwhenmergestrategyisparallel-061D64F1-D7FA-EB11-94EF-000D3AD6738D.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Versionnumbersarehiddenwhenmergestrategyisparallel-061D64F1-D7FA-EB11-94EF-000D3AD6738D.xaml new file mode 100644 index 0000000..6836445 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Versionnumbersarehiddenwhenmergestrategyisparallel-061D64F1-D7FA-EB11-94EF-000D3AD6738D.xaml @@ -0,0 +1,167 @@ +<Activity x:Class="XrmWorkflow061d64f1d7faeb1194ef000d3ad6738d" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mcwc="clr-namespace:Microsoft.Crm.Workflow.ClientActivities;assembly=Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow061d64f1d7faeb1194ef000d3ad6738d.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow061d64f1d7faeb1194ef000d3ad6738d.InputEntities> + <this:XrmWorkflow061d64f1d7faeb1194ef000d3ad6738d.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow061d64f1d7faeb1194ef000d3ad6738d.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="True" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep3_1" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_mergestrategy" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400001", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep1: Hide Major Version"> + <mcwc:SetVisibility ControlId="devhub_majorversion" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="False" /> + </Sequence> + <Sequence DisplayName="SetVisibilityStep2: Hide Minor Version"> + <mcwc:SetVisibility ControlId="devhub_minorversion" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="False" /> + </Sequence> + <Sequence DisplayName="SetVisibilityStep3: Hide Patch Version"> + <mcwc:SetVisibility ControlId="devhub_patchversion" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="False" /> + </Sequence> + <Sequence DisplayName="SetAttributeValueStep7: Clear Major Version"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="SetAttributeValueStep7_1" /> + </Sequence.Variables> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mxswa:SetEntityProperty Attribute="devhub_majorversion" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" Value="[SetAttributeValueStep7_1]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Int32" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mcwc:SetAttributeValue DisplayName="SetAttributeValueStep7" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" /> + <Assign x:TypeArguments="mxs:Entity" To="[InputEntities("primaryEntity")]" Value="[CreatedEntities("primaryEntity#Temp")]" /> + </Sequence> + <Sequence DisplayName="SetAttributeValueStep8: Clear Minor Version"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="SetAttributeValueStep8_1" /> + </Sequence.Variables> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mxswa:SetEntityProperty Attribute="devhub_minorversion" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" Value="[SetAttributeValueStep8_1]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Int32" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mcwc:SetAttributeValue DisplayName="SetAttributeValueStep8" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" /> + <Assign x:TypeArguments="mxs:Entity" To="[InputEntities("primaryEntity")]" Value="[CreatedEntities("primaryEntity#Temp")]" /> + </Sequence> + <Sequence DisplayName="SetAttributeValueStep9: Clear Patch Version"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="SetAttributeValueStep9_1" /> + </Sequence.Variables> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solution")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mxswa:SetEntityProperty Attribute="devhub_patchversion" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" Value="[SetAttributeValueStep9_1]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Int32" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mcwc:SetAttributeValue DisplayName="SetAttributeValueStep9" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solution" /> + <Assign x:TypeArguments="mxs:Entity" To="[InputEntities("primaryEntity")]" Value="[CreatedEntities("primaryEntity#Temp")]" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description">Merge strategy is Parallel</x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.Boolean, "True" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="x:Boolean" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep3_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[True]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep3"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="SetVisibilityStep4: Show Major Version"> + <mcwc:SetVisibility ControlId="devhub_majorversion" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="True" /> + </Sequence> + <Sequence DisplayName="SetVisibilityStep5: Show Minor Version"> + <mcwc:SetVisibility ControlId="devhub_minorversion" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="True" /> + </Sequence> + <Sequence DisplayName="SetVisibilityStep6: Show Patch Version"> + <mcwc:SetVisibility ControlId="devhub_patchversion" ControlType="standard" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solution" IsVisible="True" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:String x:Key="Description"></x:String> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Versionnumbersarehiddenwhenmergestrategyisparallel-061D64F1-D7FA-EB11-94EF-000D3AD6738D.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Versionnumbersarehiddenwhenmergestrategyisparallel-061D64F1-D7FA-EB11-94EF-000D3AD6738D.xaml.data.xml new file mode 100644 index 0000000..a9520b6 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Versionnumbersarehiddenwhenmergestrategyisparallel-061D64F1-D7FA-EB11-94EF-000D3AD6738D.xaml.data.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{061d64f1-d7fa-eb11-94ef-000d3ad6738d}" Name="Version numbers are hidden when merge strategy is parallel" Description="With a parallel merging strategy it isn't feasible to set the version as part of the merging process. This must be handled by the CI/CD platform e.g. Azure DevOps." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Versionnumbersarehiddenwhenmergestrategyisparallel-061D64F1-D7FA-EB11-94EF-000D3AD6738D.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>2</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <ProcessTriggerScope>2</ProcessTriggerScope> + <PrimaryEntity>devhub_solution</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="Version numbers are hidden when merge strategy is parallel" /> + </LocalizedNames> + <Descriptions> + <Description languagecode="1033" description="With a parallel merging strategy it isn't feasible to set the version as part of the merging process. This must be handled by the CI/CD platform e.g. Azure DevOps." /> + </Descriptions> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeisdeleted-Setenvironment-FF45DEE1-34AA-4C9B-92C2-97DABDBFFF74.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeisdeleted-Setenvironment-FF45DEE1-34AA-4C9B-92C2-97DABDBFFF74.xaml new file mode 100644 index 0000000..55c0311 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeisdeleted-Setenvironment-FF45DEE1-34AA-4C9B-92C2-97DABDBFFF74.xaml @@ -0,0 +1,117 @@ +<Activity x:Class="XrmWorkflowff45dee134aa4c9b92c297dabdbfff74" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflowff45dee134aa4c9b92c297dabdbfff74.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowff45dee134aa4c9b92c297dabdbfff74.InputEntities> + <this:XrmWorkflowff45dee134aa4c9b92c297dabdbfff74.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflowff45dee134aa4c9b92c297dabdbfff74.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1: If the merge strategy is parallel and there is an environment associated with the solution merge"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_3" /> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_4" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_5" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_mergestrategy" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" Value="[ConditionBranchStep2_2]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400001", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_3]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_3 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_2]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:GetEntityProperty Attribute="devhub_environment" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" Value="[ConditionBranchStep2_5]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">NotNull</InArgument> + <x:Null x:Key="Parameters" /> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_5]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_4]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateLogicalCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateLogicalCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:LogicalOperator" x:Key="LogicalOperator">And</InArgument> + <InArgument x:TypeArguments="x:Boolean" x:Key="LeftOperand">[ConditionBranchStep2_1]</InArgument> + <InArgument x:TypeArguments="x:Boolean" x:Key="RightOperand">[ConditionBranchStep2_4]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:SetState DisplayName="SetStateStep3: Set environment status to pending delete" Entity="[InputEntities("related_devhub_environment#devhub_environment")]" EntityId="[InputEntities("related_devhub_environment#devhub_environment").Id]" EntityName="devhub_environment"> + <mxswa:SetState.State> + <InArgument x:TypeArguments="mxs:OptionSetValue"> + <mxswa:ReferenceLiteral x:TypeArguments="mxs:OptionSetValue"> + <mxs:OptionSetValue ExtensionData="{x:Null}" Value="1" /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:SetState.State> + <mxswa:SetState.Status> + <InArgument x:TypeArguments="mxs:OptionSetValue"> + <mxswa:ReferenceLiteral x:TypeArguments="mxs:OptionSetValue"> + <mxs:OptionSetValue ExtensionData="{x:Null}" Value="353400003" /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:SetState.Status> + </mxswa:SetState> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:Null x:Key="Description" /> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeisdeleted-Setenvironment-FF45DEE1-34AA-4C9B-92C2-97DABDBFFF74.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeisdeleted-Setenvironment-FF45DEE1-34AA-4C9B-92C2-97DABDBFFF74.xaml.data.xml new file mode 100644 index 0000000..fdb72c8 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeisdeleted-Setenvironment-FF45DEE1-34AA-4C9B-92C2-97DABDBFFF74.xaml.data.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{ff45dee1-34aa-4c9b-92c2-97dabdbfff74}" Name="When a parallel solution merge is deleted -> Set environment status to pending delete" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Whenaparallelsolutionmergeisdeleted-Setenvironment-FF45DEE1-34AA-4C9B-92C2-97DABDBFFF74.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>0</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnUpdateAttributeList></TriggerOnUpdateAttributeList> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>1</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>1</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <CreateStage>40</CreateStage> + <DeleteStage>20</DeleteStage> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <PrimaryEntity>devhub_solutionmerge</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="When a parallel solution merge is deleted -> Set environment status to pending delete" /> + </LocalizedNames> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeismergedorcancelled-Sete-49C25D1D-FFFD-EB11-94EF-000D3AD6738D.json b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeismergedorcancelled-Sete-49C25D1D-FFFD-EB11-94EF-000D3AD6738D.json new file mode 100644 index 0000000..098fac2 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeismergedorcancelled-Sete-49C25D1D-FFFD-EB11-94EF-000D3AD6738D.json @@ -0,0 +1,71 @@ +{ + "properties": { + "connectionReferences": { + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + } + }, + "triggers": { + "When_a_parallel_solution_merge_is_merged_or_cancelled": { + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 3, + "subscriptionRequest/entityname": "devhub_solutionmerge", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "devhub_mergestrategy eq 353400001 and (statuscode eq 353400001 or statuscode eq 2)" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "actions": { + "Update_environment_status_to_pending_delete": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_environments", + "recordId": "@triggerOutputs()?['body/_devhub_environment_value']", + "item/statecode": 1, + "item/statuscode": 353400003 + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeismergedorcancelled-Sete-49C25D1D-FFFD-EB11-94EF-000D3AD6738D.json.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeismergedorcancelled-Sete-49C25D1D-FFFD-EB11-94EF-000D3AD6738D.json.data.xml new file mode 100644 index 0000000..d664691 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenaparallelsolutionmergeismergedorcancelled-Sete-49C25D1D-FFFD-EB11-94EF-000D3AD6738D.json.data.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{49c25d1d-fffd-eb11-94ef-000d3ad6738d}" Name="When a parallel solution merge is merged or cancelled -> Set environment status to pending delete" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <JsonFileName>/Workflows/Whenaparallelsolutionmergeismergedorcancelled-Sete-49C25D1D-FFFD-EB11-94EF-000D3AD6738D.json</JsonFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>5</Category> + <Mode>0</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnCreate>0</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <BusinessProcessType>0</BusinessProcessType> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <PrimaryEntity>none</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="When a parallel solution merge is merged or cancelled -> Set environment status to pending delete" /> + </LocalizedNames> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeiscreated-Inheritenvir-3CDF61F8-4EA9-4892-8D0A-C0C60F374B91.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeiscreated-Inheritenvir-3CDF61F8-4EA9-4892-8D0A-C0C60F374B91.xaml new file mode 100644 index 0000000..fc31e66 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeiscreated-Inheritenvir-3CDF61F8-4EA9-4892-8D0A-C0C60F374B91.xaml @@ -0,0 +1,107 @@ +<Activity x:Class="XrmWorkflow3cdf61f84ea948928d0ac0c60f374b91" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxsq="clr-namespace:Microsoft.Xrm.Sdk.Query;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow3cdf61f84ea948928d0ac0c60f374b91.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow3cdf61f84ea948928d0ac0c60f374b91.InputEntities> + <this:XrmWorkflow3cdf61f84ea948928d0ac0c60f374b91.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow3cdf61f84ea948928d0ac0c60f374b91.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionSequence, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionStep1: If the merge strategy is sequential"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Wait">False</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables"> + <Variable x:TypeArguments="x:Boolean" Default="False" Name="ConditionBranchStep2_condition" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_1" /> + <Variable x:TypeArguments="x:Object" Name="ConditionBranchStep2_2" /> + </sco:Collection> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <mxswa:GetEntityProperty Attribute="devhub_mergestrategy" Entity="[InputEntities("primaryEntity")]" EntityName="devhub_solutionmerge" Value="[ConditionBranchStep2_1]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type"> + <x:Null /> + </mxswa:ReferenceLiteral> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.OptionSetValue, "353400000", "Picklist" }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[ConditionBranchStep2_2]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateCondition, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateCondition"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="mxsq:ConditionOperator" x:Key="ConditionOperator">Equal</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { ConditionBranchStep2_2 }]</InArgument> + <InArgument x:TypeArguments="x:Object" x:Key="Operand">[ConditionBranchStep2_1]</InArgument> + <OutArgument x:TypeArguments="x:Boolean" x:Key="Result">[ConditionBranchStep2_condition]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.ConditionBranch, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:Boolean" x:Key="Condition">[ConditionBranchStep2_condition]</InArgument> + </mxswa:ActivityReference.Arguments> + <mxswa:ActivityReference.Properties> + <mxswa:ActivityReference x:Key="Then" AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.Composite, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="ConditionBranchStep2"> + <mxswa:ActivityReference.Properties> + <sco:Collection x:TypeArguments="Variable" x:Key="Variables" /> + <sco:Collection x:TypeArguments="Activity" x:Key="Activities"> + <Sequence DisplayName="UpdateStep3: Set the environment"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="UpdateStep3_1" /> + <Variable x:TypeArguments="x:Object" Name="UpdateStep3_2" /> + </Sequence.Variables> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solutionmerge")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mxswa:GetEntityProperty Attribute="devhub_stagingenvironment" Entity="[InputEntities("related_devhub_targetsolution#devhub_solution")]" EntityName="devhub_solution" Value="[UpdateStep3_2]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityReference" /> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">SelectFirstNonNull</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { UpdateStep3_2 }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityReference" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[UpdateStep3_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:SetEntityProperty Attribute="devhub_environment" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solutionmerge" Value="[UpdateStep3_1]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityReference" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mxswa:UpdateEntity DisplayName="UpdateStep3" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solutionmerge" /> + <Assign x:TypeArguments="mxs:Entity" To="[InputEntities("primaryEntity")]" Value="[CreatedEntities("primaryEntity#Temp")]" /> + </Sequence> + </sco:Collection> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + <x:Null x:Key="Else" /> + <x:Null x:Key="Description" /> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </sco:Collection> + <x:Boolean x:Key="ContainsElseBranch">False</x:Boolean> + </mxswa:ActivityReference.Properties> + </mxswa:ActivityReference> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeiscreated-Inheritenvir-3CDF61F8-4EA9-4892-8D0A-C0C60F374B91.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeiscreated-Inheritenvir-3CDF61F8-4EA9-4892-8D0A-C0C60F374B91.xaml.data.xml new file mode 100644 index 0000000..8a482bd --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeiscreated-Inheritenvir-3CDF61F8-4EA9-4892-8D0A-C0C60F374B91.xaml.data.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{3cdf61f8-4ea9-4892-8d0a-c0c60f374b91}" Name="When a sequential solution merge is created -> Inherit environment from solution" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Whenasequentialsolutionmergeiscreated-Inheritenvir-3CDF61F8-4EA9-4892-8D0A-C0C60F374B91.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>0</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnUpdateAttributeList>devhub_mergestrategy</TriggerOnUpdateAttributeList> + <TriggerOnCreate>1</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>1</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <CreateStage>40</CreateStage> + <UpdateStage>40</UpdateStage> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <PrimaryEntity>devhub_solutionmerge</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="When a sequential solution merge is created -> Inherit environment from solution" /> + </LocalizedNames> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeismerged-Approvethefir-C976585F-06B4-EA11-A812-000D3A86AD99.json b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeismerged-Approvethefir-C976585F-06B4-EA11-A812-000D3A86AD99.json new file mode 100644 index 0000000..c8e59a0 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeismerged-Approvethefir-C976585F-06B4-EA11-A812-000D3A86AD99.json @@ -0,0 +1,156 @@ +{ + "properties": { + "connectionReferences": { + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + } + }, + "triggers": { + "When_a_sequential_solution_merge_is_merged_or_cancelled": { + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 3, + "subscriptionRequest/entityname": "devhub_solutionmerge", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "devhub_mergestrategy eq 353400000 and (statuscode eq 353400001 or statuscode eq 2)" + }, + "authentication": "@parameters('$authentication')" + }, + "runtimeConfiguration": { + "concurrency": { + "runs": 1 + } + } + } + }, + "actions": { + "Get_the_first_queued_solution_merge": { + "runAfter": { + "If_there_is_an_in-progress_solution_merge": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "ListRecords", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "$select": "devhub_approvedon", + "$filter": "statuscode eq 353400004", + "$orderby": "devhub_queuedon asc", + "$top": 1 + }, + "authentication": "@parameters('$authentication')" + } + }, + "If_there_is_a_queued_solution_merge": { + "actions": { + "Set_the_solution_merge_status_to_approved": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "recordId": "@body('Get_the_first_queued_solution_merge')['value'][0]['devhub_solutionmergeid']", + "item/statuscode": 353400000 + }, + "authentication": "@parameters('$authentication')" + }, + "description": "Triggering update to reviewed on field as triggering by statuscode wasn't working" + } + }, + "runAfter": { + "Get_the_first_queued_solution_merge": [ + "Succeeded" + ] + }, + "expression": { + "equals": [ + "@length(outputs('Get_the_first_queued_solution_merge')?['body/value'])", + 1 + ] + }, + "type": "If" + }, + "Get_in-progress_merge": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "ListRecords", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "$select": "devhub_name", + "$filter": "devhub_solutionmergeid ne @{triggerOutputs()?['body/devhub_solutionmergeid']} and devhub_mergestrategy eq 353400000 and (statuscode eq 353400000 or statuscode eq 353400003 or statuscode eq 353400002 or statuscode eq 353400006)", + "$top": 1 + }, + "authentication": "@parameters('$authentication')" + } + }, + "If_there_is_an_in-progress_solution_merge": { + "actions": { + "Terminate": { + "runAfter": {}, + "type": "Terminate", + "inputs": { + "runStatus": "Cancelled" + } + } + }, + "runAfter": { + "Get_in-progress_merge": [ + "Succeeded" + ] + }, + "expression": { + "greater": [ + "@length(outputs('Get_in-progress_merge')?['body/value'])", + 0 + ] + }, + "type": "If" + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeismerged-Approvethefirstqueuedso-C976585F-06B4-EA11-A812-000D3A86AD99.json.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeismerged-Approvethefir-C976585F-06B4-EA11-A812-000D3A86AD99.json.data.xml similarity index 65% rename from src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeismerged-Approvethefirstqueuedso-C976585F-06B4-EA11-A812-000D3A86AD99.json.data.xml rename to src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeismerged-Approvethefir-C976585F-06B4-EA11-A812-000D3A86AD99.json.data.xml index 92492d3..f2ea46b 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeismerged-Approvethefirstqueuedso-C976585F-06B4-EA11-A812-000D3A86AD99.json.data.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasequentialsolutionmergeismerged-Approvethefir-C976585F-06B4-EA11-A812-000D3A86AD99.json.data.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<Workflow WorkflowId="{c976585f-06b4-ea11-a812-000d3a86ad99}" Name="When a solution merge is merged -> Approve the first queued solution merge" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <JsonFileName>/Workflows/Whenasolutionmergeismerged-Approvethefirstqueuedso-C976585F-06B4-EA11-A812-000D3A86AD99.json</JsonFileName> +<Workflow WorkflowId="{c976585f-06b4-ea11-a812-000d3a86ad99}" Name="When a sequential solution merge is merged -> Approve the first queued solution merge" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <JsonFileName>/Workflows/Whenasequentialsolutionmergeismerged-Approvethefir-C976585F-06B4-EA11-A812-000D3A86AD99.json</JsonFileName> <Type>1</Type> <Subprocess>0</Subprocess> <Category>5</Category> @@ -20,6 +20,6 @@ <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> <PrimaryEntity>none</PrimaryEntity> <LocalizedNames> - <LocalizedName languagecode="1033" description="When a solution merge is merged -> Approve the first queued solution merge" /> + <LocalizedName languagecode="1033" description="When a sequential solution merge is merged -> Approve the first queued solution merge" /> </LocalizedNames> </Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json new file mode 100644 index 0000000..03364ef --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json @@ -0,0 +1,112 @@ +{ + "properties": { + "connectionReferences": { + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + } + }, + "triggers": { + "When_a_solution_merge_is_'Merged'": { + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 3, + "subscriptionRequest/entityname": "devhub_solutionmerge", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "statuscode eq 353400001" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "actions": { + "Get_development_solution": { + "runAfter": { + "Get_a_row_by_ID": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "ListRecords", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "solutions", + "$select": "solutionid", + "$filter": "uniquename eq '@{outputs('Get_a_row_by_ID')?['body/devhub_developmentsolution']}'", + "$top": 1 + }, + "authentication": "@parameters('$authentication')" + } + }, + "Delete_development_solution": { + "runAfter": { + "Get_development_solution": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "DeleteRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "solutions", + "recordId": "@body('Get_development_solution')?['value']?[0]['solutionid']" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_a_row_by_ID": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_issues", + "recordId": "@triggerOutputs()?['body/_devhub_issue_value']", + "$select": "devhub_developmentsolution" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json.data.xml similarity index 96% rename from src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json.data.xml rename to src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json.data.xml index 302238d..0989772 100644 --- a/src/solutions/devhub_DevelopmentHub_AzureDevOps/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json.data.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/WhenasolutionmergeisMerged-Deletethedevelopmentsol-C4E3B5C5-BD78-EB11-A812-000D3ADC8ABB.json.data.xml @@ -17,7 +17,6 @@ <IsTransacted>1</IsTransacted> <IntroducedVersion>0.2.1</IntroducedVersion> <IsCustomizable>1</IsCustomizable> - <BusinessProcessType>0</BusinessProcessType> <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> <PrimaryEntity>none</PrimaryEntity> <LocalizedNames> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json index 4174259..0dcc2d4 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json @@ -1 +1,488 @@ -{"properties":{"connectionReferences":{"shared_commondataserviceforapps":{"runtimeSource":"embedded","connection":{"connectionReferenceLogicalName":"devhub_sharedcommondataserviceforapps_f7ca3"},"api":{"name":"shared_commondataserviceforapps"}},"shared_approvals":{"runtimeSource":"embedded","connection":{"connectionReferenceLogicalName":"devhub_sharedapprovals_6d3fc"},"api":{"name":"shared_approvals"}}},"definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"},"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"When_a_solution_merge_is_approved":{"type":"OpenApiConnectionWebhook","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"SubscribeWebhookTrigger","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"subscriptionRequest/message":3,"subscriptionRequest/entityname":"devhub_solutionmerge","subscriptionRequest/scope":4,"subscriptionRequest/filteringattributes":"statuscode","subscriptionRequest/filterexpression":"statuscode eq 353400000"},"authentication":"@parameters('$authentication')"},"description":"Using devhub_approvedon rather than statuscode as the flow wasn't triggering with statuscode as a filtering attribute"}},"actions":{"Merge_development_solution":{"actions":{"Get_the_last_approved_solution_merge":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"ListRecords","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","$select":"devhub_name","$filter":"devhub_solutionmergeid ne @{triggerOutputs()?['body/devhub_solutionmergeid']} and (statuscode eq 353400000 or statuscode eq 353400003 or statuscode eq 353400002 or statuscode eq 353400006)","$orderby":"devhub_approvedon desc","$top":1},"authentication":"@parameters('$authentication')"}},"If_another_solution_merge_is_in_progress":{"actions":{"Create_a_note_stating_the_solution_merge_is_queued":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"CreateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"annotations","item/subject":"Solution merge queued","item/notetext":"This solution merge has been queued behind '@{outputs('Get_the_last_approved_solution_merge')?['body/value'][0]['devhub_name']}'.","item/objectid_devhub_solutionmerge@odata.bind":"devhub_solutionmerges(@{triggerOutputs()?['body/devhub_solutionmergeid']})"},"authentication":"@parameters('$authentication')"}},"Cancel_the_flow":{"runAfter":{"Queue_the_solution_merge":["Succeeded"]},"type":"Terminate","inputs":{"runStatus":"Cancelled"}},"Queue_the_solution_merge":{"runAfter":{"Create_a_note_stating_the_solution_merge_is_queued":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"PerformBoundAction","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","actionName":"Microsoft.Dynamics.CRM.devhub_QueueSolutionMerge","recordId":"@triggerOutputs()?['body/devhub_solutionmergeid']"},"authentication":"@parameters('$authentication')"}}},"runAfter":{"Get_the_last_approved_solution_merge":["Succeeded"]},"expression":{"not":{"equals":["@outputs('Get_the_last_approved_solution_merge')?['body/value']?[0]?['devhub_solutionmergeid']","@null"]}},"type":"If"},"Get_the_target_environment":{"runAfter":{"If_another_solution_merge_is_in_progress":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"GetItem","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutions","recordId":"@triggerOutputs()?['body/_devhub_targetsolution_value']","$select":"devhub_solutionid,devhub_uniquename","$expand":"devhub_StagingEnvironment($select=devhub_environmentid,devhub_tenantid,devhub_clientid,devhub_clientsecret,devhub_url)"},"authentication":"@parameters('$authentication')"}},"Update_the_solution_merge_status_to_merging":{"runAfter":{"Get_the_target_environment":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@triggerOutputs()?['body/devhub_solutionmergeid']","item/statuscode":353400003},"authentication":"@parameters('$authentication')"}},"Get_the_developed_issue":{"runAfter":{"Update_the_solution_merge_status_to_merging":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"GetItem","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_issues","recordId":"@outputs('Update_the_solution_merge_status_to_merging')?['body/_devhub_issue_value']","$select":"devhub_developmentsolution,devhub_type"},"authentication":"@parameters('$authentication')"}},"Export_the_development_solution":{"runAfter":{"Get_the_developed_issue":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"PerformUnboundAction","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"actionName":"ExportSolution","item/SolutionName":"@outputs('Get_the_developed_issue')?['body/devhub_developmentsolution']","item/Managed":false,"item/ExportAutoNumberingSettings":false,"item/ExportCalendarSettings":false,"item/ExportCustomizationSettings":false,"item/ExportEmailTrackingSettings":false,"item/ExportGeneralSettings":false,"item/ExportMarketingSettings":false,"item/ExportOutlookSynchronizationSettings":false,"item/ExportRelationshipRoles":false,"item/ExportIsvConfig":false,"item/ExportSales":false,"item/ExportExternalApplications":false},"authentication":"@parameters('$authentication')"}},"Get_access_token_for_staging_environment":{"runAfter":{"Export_the_development_solution":["Succeeded"]},"type":"Workflow","inputs":{"host":{"workflowReferenceName":"db657a26-1d37-eb11-a813-000d3a0b97ca"},"body":{"text":"@outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_tenantid']","text_1":"@outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_clientid']","text_2":"@outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_clientsecret']","text_3":"@outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']"}}},"Import_development_solution":{"runAfter":{"Get_access_token_for_staging_environment":["Succeeded"]},"type":"Http","inputs":{"method":"POST","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/ImportSolution","headers":{"Content-Type":"application/json"},"body":{"CustomizationFile":"@{outputs('Export_the_development_solution')?['body/ExportSolutionFile']}","OverwriteUnmanagedCustomizations":true,"PublishWorkflows":true,"ImportJobId":"@{variables('importJobId')}"},"authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"},"retryPolicy":{"type":"none"}}},"Query_import_job_until_done":{"actions":{"Parse_import_job_JSON":{"runAfter":{"Get_import_job":["Succeeded"]},"type":"ParseJson","inputs":{"content":"@body('Get_import_job')","schema":{"type":"object","properties":{"progress":{"type":"number"},"data":{"type":"string"},"completedon":{"type":"string"}}}}},"Get_import_job":{"runAfter":{},"type":"Http","inputs":{"method":"GET","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/importjobs(@{variables('importJobId')})","authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"},"retryPolicy":{"type":"none"}}},"Set_importJobComplete":{"runAfter":{"Parse_import_job_JSON":["Succeeded"]},"type":"SetVariable","inputs":{"name":"importJobComplete","value":"@not(equals(body('Parse_import_job_JSON')?['completedon'], null))"}},"If_incomplete":{"actions":{"Delay":{"runAfter":{},"type":"Wait","inputs":{"interval":{"count":30,"unit":"Second"}}}},"runAfter":{"Set_importJobComplete":["Succeeded"]},"expression":{"equals":["@variables('importJobComplete')","@false"]},"type":"If"}},"runAfter":{"Import_development_solution":["Succeeded","TimedOut"]},"expression":"@equals(variables('importJobComplete'), true)","limit":{"count":40,"timeout":"PT30M "},"type":"Until"},"If_importing_the_development_solution_failed":{"actions":{"Create_a_note_stating_the_solution_import_failed":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"CreateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"annotations","item/subject":"Solution import failed","item/notetext":"The import into the staging environment failed with the following error:\n\n@{xpath(xml(body('Parse_import_job_JSON')?['data']), 'string(/importexportxml/solutionManifests/solutionManifest/result/@errortext)')}","item/objectid_devhub_solutionmerge@odata.bind":"devhub_solutionmerges(@{triggerOutputs()?['body/devhub_solutionmergeid']})"},"authentication":"@parameters('$authentication')"}},"Fail_the_flow":{"runAfter":{"Update_the_solution_merge_to_failed":["Succeeded"]},"type":"Terminate","inputs":{"runStatus":"Failed","runError":{"message":"The development solution import failed"}}},"Update_the_solution_merge_to_failed":{"runAfter":{"Create_a_note_stating_the_solution_import_failed":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@triggerOutputs()?['body/devhub_solutionmergeid']","item/statuscode":353400002},"authentication":"@parameters('$authentication')"}}},"runAfter":{"Query_import_job_until_done":["Succeeded"]},"expression":{"equals":["@xpath(xml(body('Parse_import_job_JSON')?['data']), 'string(/importexportxml/solutionManifests/solutionManifest/result/@result)')","failure"]},"type":"If"},"Get_solutions":{"runAfter":{"If_importing_the_development_solution_failed":["Succeeded"]},"type":"Http","inputs":{"method":"GET","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/solutions?$filter=uniquename eq '@{outputs('Get_the_developed_issue')?['body/devhub_developmentsolution']}' or uniquename eq '@{outputs('Get_the_target_environment')?['body/devhub_uniquename']}'&$select=uniquename&$expand=solution_solutioncomponent($select=objectid,componenttype,rootcomponentbehavior)","authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"},"retryPolicy":{"type":"none"}}},"Parse_solutions_JSON":{"runAfter":{"Get_solutions":["Succeeded"]},"type":"ParseJson","inputs":{"content":"@body('Get_solutions')","schema":{"type":"object","properties":{"@@odata.context":{"type":"string"},"value":{"type":"array","items":{"type":"object","properties":{"@@odata.etag":{"type":"string"},"uniquename":{"type":"string"},"solutionid":{"type":"string"},"solution_solutioncomponent":{"type":"array"},"solution_solutioncomponent@odata.nextLink":{"type":"string"}},"required":["@@odata.etag","uniquename","solutionid","solution_solutioncomponent","solution_solutioncomponent@odata.nextLink"]}}}}}},"Filter_development_solution":{"runAfter":{"Parse_solutions_JSON":["Succeeded"]},"type":"Query","inputs":{"from":"@body('Parse_solutions_JSON')?['value']","where":"@equals(item()?['uniquename'], outputs('Get_the_developed_issue')?['body/devhub_developmentsolution'])"}},"Filter_target_solution":{"runAfter":{"Set_developmentSolutionComponents":["Succeeded"]},"type":"Query","inputs":{"from":"@body('Parse_solutions_JSON')?['value']","where":"@equals(item()?['uniquename'], outputs('Get_the_target_environment')?['body/devhub_uniquename'])"}},"Apply_to_each_development_solution_component":{"foreach":"@variables('developmentSolutionComponents')","actions":{"Find_target_solution_component_for_same_object_ID":{"runAfter":{},"type":"Query","inputs":{"from":"@variables('targetSolutionComponents')","where":"@equals(item()?['objectid'], items('Apply_to_each_development_solution_component')?['objectid'])"}},"If_matching_target_solution_component":{"actions":{"If_root_component_behavior_should_be_updated":{"actions":{"Update_solution_component":{"runAfter":{},"type":"Http","inputs":{"method":"POST","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/UpdateSolutionComponent","headers":{"Content-Type":"application/json"},"body":{"ComponentId":"@{items('Apply_to_each_development_solution_component')?['objectid']}","ComponentType":"@items('Apply_to_each_development_solution_component')?['componenttype']","SolutionUniqueName":"@{outputs('Get_the_target_environment')?['body/devhub_uniquename']}","IncludedComponentSettingsValues":"@if(equals(item()?['rootcomponentbehaviour'], 2), createArray(), null)"},"authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}}},"runAfter":{},"expression":{"and":[{"not":{"equals":["@first(body('Find_target_solution_component_for_same_object_ID'))['rootcomponentbehavior']","@item()?['rootcomponentbehavior']"]}},{"not":{"equals":["@first(body('Find_target_solution_component_for_same_object_ID'))['rootcomponentbehavior']",0]}},{"not":{"equals":["@item()?['rootcomponentbehavior']","@null"]}}]},"type":"If"}},"runAfter":{"Find_target_solution_component_for_same_object_ID":["Succeeded"]},"else":{"actions":{"Add_solution_component":{"runAfter":{},"type":"Http","inputs":{"method":"POST","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/AddSolutionComponent","headers":{"Content-Type":"application/json"},"body":{"ComponentId":"@{string(item()?['objectid'])}","ComponentType":"@items('Apply_to_each_development_solution_component')?['componenttype']","SolutionUniqueName":"@{outputs('Get_the_target_environment')?['body/devhub_uniquename']}","AddRequiredComponents":false,"DoNotIncludeSubcomponents":"@if(equals(item()?['rootcomponentbehavior'], 0), false, true)","IncludedComponentSettingsValues":"@if(equals(item()?['rootcomponentbehaviour'], 2), createArray(), null)"},"authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}}}},"expression":{"greater":["@length(body('Find_target_solution_component_for_same_object_ID'))",0]},"type":"If"}},"runAfter":{"Set_targetSolutionComponents":["Succeeded"]},"type":"Foreach"},"Get_the_post-merge_solution_version":{"runAfter":{"Apply_to_each_development_solution_component":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"PerformBoundAction","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","actionName":"Microsoft.Dynamics.CRM.devhub_GetPostMergeSolutionVersion","recordId":"@triggerOutputs()?['body/devhub_solutionmergeid']"},"authentication":"@parameters('$authentication')"}},"Update_target_solution_version":{"runAfter":{"Get_the_post-merge_solution_version":["Succeeded"]},"type":"Http","inputs":{"method":"PATCH","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/solutions(@{first(body('Filter_target_solution'))?['solutionid']})","headers":{"Content-Type":"application/json"},"body":{"version":"@{outputs('Get_the_post-merge_solution_version')?['body/MajorVersion']}.@{outputs('Get_the_post-merge_solution_version')?['body/MinorVersion']}.@{outputs('Get_the_post-merge_solution_version')?['body/PatchVersion']}"},"authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}},"Publish":{"runAfter":{"Update_target_solution_version":["Succeeded"]},"type":"Http","inputs":{"method":"POST","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/PublishAllXml","headers":{"Content-Type":"application/json"},"authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}},"If_there_are_manual_merge_activities":{"actions":{"Update_the_solution_merge_status_to_awaiting_manual_merge":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@triggerOutputs()?['body/devhub_solutionmergeid']","item/statuscode":353400006},"authentication":"@parameters('$authentication')"}},"Start_and_wait_for_an_approval":{"runAfter":{"Get_the_solution_merge_creator":["Succeeded"]},"type":"OpenApiConnectionWebhook","inputs":{"host":{"connectionName":"shared_approvals","operationId":"StartAndWaitForAnApproval","apiId":"/providers/Microsoft.PowerApps/apis/shared_approvals"},"parameters":{"approvalType":"CustomResponse","WebhookApprovalCreationInput/responseOptions":["Merged"],"WebhookApprovalCreationInput/title":"Solution merge awaiting manual merge activities - @{triggerOutputs()?['body/devhub_name']}","WebhookApprovalCreationInput/assignedTo":"@outputs('Get_the_solution_merge_creator')?['body/internalemailaddress']","WebhookApprovalCreationInput/enableNotifications":true,"WebhookApprovalCreationInput/enableReassignment":true},"authentication":"@parameters('$authentication')"}},"Get_the_solution_merge_creator":{"runAfter":{"Update_the_solution_merge_status_to_awaiting_manual_merge":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"GetItem","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"systemusers","recordId":"@triggerOutputs()?['body/_createdby_value']","$select":"internalemailaddress,personalemailaddress"},"authentication":"@parameters('$authentication')"}}},"runAfter":{"Publish":["Succeeded"]},"expression":{"equals":["@triggerOutputs()?['body/devhub_manualmergeactivities']",true]},"type":"If"},"Delete_development_solution":{"runAfter":{"If_there_are_manual_merge_activities":["Succeeded"]},"type":"Http","inputs":{"method":"DELETE","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/solutions(@{first(body('Filter_development_solution'))?['solutionid']})","headers":{"Content-Type":"application/json"},"authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}},"Export_managed_solution":{"runAfter":{"Delete_development_solution":["Succeeded"]},"type":"Http","inputs":{"method":"POST","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/ExportSolution","headers":{"Content-Type":"application/json"},"body":{"Managed":true,"SolutionName":"@{outputs('Get_the_target_environment')?['body/devhub_uniquename']}"},"authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}},"Parse_export_managed_solution_JSON":{"runAfter":{"Export_managed_solution":["Succeeded"]},"type":"ParseJson","inputs":{"content":"@body('Export_managed_solution')","schema":{"type":"object","properties":{"@@odata.context":{"type":"string"},"ExportSolutionFile":{"type":"string"}}}}},"Export_unmanaged_solution":{"runAfter":{"Parse_export_managed_solution_JSON":["Succeeded"]},"type":"Http","inputs":{"method":"POST","uri":"@{outputs('Get_the_target_environment')?['body/devhub_stagingenvironment/devhub_url']}/api/data/v9.1/ExportSolution","headers":{"Content-Type":"application/json"},"body":{"Managed":false,"SolutionName":"@{outputs('Get_the_target_environment')?['body/devhub_uniquename']}"},"authentication":{"type":"Raw","value":"Bearer @{outputs('Get_access_token_for_staging_environment')?['Body']?['access_token']}"}}},"Parse_export_unmanaged_solution_JSON":{"runAfter":{"Export_unmanaged_solution":["Succeeded"]},"type":"ParseJson","inputs":{"content":"@body('Export_unmanaged_solution')","schema":{"type":"object","properties":{"@@odata.context":{"type":"string"},"ExportSolutionFile":{"type":"string"}}}}},"Set_developmentSolutionComponents":{"runAfter":{"Filter_development_solution":["Succeeded"]},"type":"SetVariable","inputs":{"name":"developmentSolutionComponents","value":"@first(body('Filter_development_solution'))['solution_solutioncomponent']"}},"Set_targetSolutionComponents":{"runAfter":{"Filter_target_solution":["Succeeded"]},"type":"SetVariable","inputs":{"name":"targetSolutionComponents","value":"@first(body('Filter_target_solution'))['solution_solutioncomponent']"}}},"runAfter":{"Initialize_targetSolutionComponents":["Succeeded"]},"type":"Scope"},"Initialize_importJobId":{"runAfter":{},"type":"InitializeVariable","inputs":{"variables":[{"name":"importJobId","type":"string","value":"@{guid()}"}]}},"Initialize_importJobProgress":{"runAfter":{"Initialize_importJobId":["Succeeded"]},"type":"InitializeVariable","inputs":{"variables":[{"name":"importJobComplete","type":"boolean","value":"@false"}]}},"Initialize_developmentSolutionComponents":{"runAfter":{"Initialize_importJobProgress":["Succeeded"]},"type":"InitializeVariable","inputs":{"variables":[{"name":"developmentSolutionComponents","type":"array"}]}},"Initialize_targetSolutionComponents":{"runAfter":{"Initialize_developmentSolutionComponents":["Succeeded"]},"type":"InitializeVariable","inputs":{"variables":[{"name":"targetSolutionComponents","type":"array"}]}},"Set_solution_merge_status_to_'Failed'_(merge_development_solution)":{"runAfter":{"Merge_development_solution":["Failed","TimedOut"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@triggerOutputs()?['body/devhub_solutionmergeid']","item/statecode":0,"item/statuscode":353400002},"authentication":"@parameters('$authentication')"}},"Update_the_solution_merge_to_'Merged'":{"runAfter":{"If_issue_is_feature":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@triggerOutputs()?['body/devhub_solutionmergeid']","item/statecode":1,"item/statuscode":353400001},"authentication":"@parameters('$authentication')"}},"Archive_development_solution_on_solution_merge":{"runAfter":{"Update_the_solution_merge_to_'Merged'":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateEntityFileImageFieldContent","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@triggerOutputs()?['body/devhub_solutionmergeid']","fileImageFieldName":"devhub_developmentsolution","item":"@base64ToBinary(outputs('Export_the_development_solution')?['body/ExportSolutionFile'])","x-ms-file-name":"@{outputs('Get_the_developed_issue')?['body/devhub_developmentsolution']}.zip"},"authentication":"@parameters('$authentication')"}},"Get_the_development_solution_by_unique_name":{"runAfter":{"Archive_development_solution_on_solution_merge":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"ListRecords","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"solutions","$select":"solutionid","$filter":"uniquename eq '@{outputs('Get_the_developed_issue')?['body/devhub_developmentsolution']}'","$top":1},"authentication":"@parameters('$authentication')"}},"Delete_the_development_solution":{"runAfter":{"Get_the_development_solution_by_unique_name":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"DeleteRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"solutions","recordId":"@first(outputs('Get_the_development_solution_by_unique_name')?['body/value'])['solutionid']"},"authentication":"@parameters('$authentication')"}},"Create_a_failure_note_on_the_solution_merge_(merge_development_solution)":{"runAfter":{"Set_solution_merge_status_to_'Failed'_(merge_development_solution)":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"CreateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"annotations","item/subject":"Failed to merge","item/notetext":"Failed to merge the development solution with the target solution. Please refer to the flow <a href=\"@{concat('https://flow.microsoft.com/manage/environments/', workflow().tags.environmentName, '/flows/', workflow().name, '/runs/', workflow().run.name)}\">run</a> for more detail. \n\n","item/objectid_devhub_solutionmerge@odata.bind":"devhub_solutionmerges(@{triggerOutputs()?['body/devhub_solutionmergeid']})"},"authentication":"@parameters('$authentication')"}},"If_issue_is_feature":{"actions":{"Update_solution_minor_version":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutions","recordId":"@triggerOutputs()?['body/_devhub_targetsolution_value']","item/devhub_minorversion":"@outputs('Get_the_post-merge_solution_version')?['body/MinorVersion']"},"authentication":"@parameters('$authentication')"}}},"runAfter":{"Merge_development_solution":["Succeeded"]},"else":{"actions":{"Update_solution_patch_version":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutions","recordId":"@triggerOutputs()?['body/_devhub_targetsolution_value']","item/devhub_patchversion":"@outputs('Get_the_post-merge_solution_version')?['body/PatchVersion']"},"authentication":"@parameters('$authentication')"}}}},"expression":{"equals":["@outputs('Get_the_developed_issue')?['body/devhub_type']",353400001]},"type":"If"}},"outputs":{}}},"schemaVersion":"1.0.0.0"} \ No newline at end of file +{ + "properties": { + "connectionReferences": { + "shared_commondataserviceforapps": { + "runtimeSource": "embedded", + "connection": { + "connectionReferenceLogicalName": "devhub_sharedcommondataserviceforapps_f7ca3" + }, + "api": { + "name": "shared_commondataserviceforapps" + } + } + }, + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "$authentication": { + "defaultValue": {}, + "type": "SecureObject" + } + }, + "triggers": { + "When_a_solution_merge_is_approved": { + "metadata": { + "operationMetadataId": "69ff95c5-a314-4bde-bd82-1a60234d4fc2" + }, + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 3, + "subscriptionRequest/entityname": "devhub_solutionmerge", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "statuscode eq 353400000" + }, + "authentication": "@parameters('$authentication')" + }, + "description": "Using devhub_approvedon rather than statuscode as the flow wasn't triggering with statuscode as a filtering attribute" + } + }, + "actions": { + "Set_solution_merge_status_as_pending_merge_or_queued": { + "actions": { + "Switch_on_merge_strategy": { + "runAfter": {}, + "cases": { + "Parallel": { + "case": 353400001, + "actions": { + "If_environment_is_not_set": { + "actions": { + "Create_an_environment_pending_provision": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "CreateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_environments", + "item/devhub_lifetime": 353400001, + "item/devhub_name": "Extract @{triggerOutputs()?['body/devhub_name']}", + "item/devhub_url": "@null", + "item/ownerid@odata.bind": "systemusers(@{triggerOutputs()?['body/_createdby_value']})", + "item/devhub_Solution@odata.bind": "devhub_solutions(@{triggerOutputs()?['body/_devhub_targetsolution_value']})", + "item/statecode": 0, + "item/statuscode": 353400004 + }, + "authentication": "@parameters('$authentication')" + } + }, + "Set_the_environment_on_the_solution_merge_and_update_status": { + "runAfter": { + "Create_an_environment_pending_provision": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']", + "item/devhub_Environment@odata.bind": "devhub_environments(@{outputs('Create_an_environment_pending_provision')?['body/devhub_environmentid']})", + "item/statuscode": 353400008 + }, + "authentication": "@parameters('$authentication')" + } + }, + "When_the_environment_is_ready": { + "runAfter": { + "Set_the_environment_on_the_solution_merge_and_update_status": [ + "Succeeded" + ] + }, + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 3, + "subscriptionRequest/entityname": "devhub_environment", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "devhub_environmentid eq @{outputs('Create_an_environment_pending_provision')?['body/devhub_environmentid']} and statuscode eq 1" + }, + "authentication": "@parameters('$authentication')" + }, + "description": "This flow does not handle the preparation of the environment. There is a dependency on Git, thus this is better suited to the CI/CD solution layered on top." + } + }, + "runAfter": {}, + "expression": { + "equals": [ + "@triggerOutputs()?['body/_devhub_environment_value']", + "@null" + ] + }, + "type": "If" + } + } + }, + "Sequential": { + "case": 353400000, + "actions": { + "Get_the_last_approved_solution_merge": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "ListRecords", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "$select": "devhub_name", + "$filter": "devhub_solutionmergeid ne @{triggerOutputs()?['body/devhub_solutionmergeid']} and devhub_mergestrategy eq 353400000 and _devhub_environment_value eq @{triggerOutputs()?['body/_devhub_environment_value']} and statecode eq 0 and statuscode ne 1 and statuscode ne 353400004", + "$orderby": "devhub_approvedon desc", + "$top": 1 + }, + "authentication": "@parameters('$authentication')" + } + }, + "If_another_solution_merge_is_in_progress": { + "actions": { + "Create_a_note_stating_the_solution_merge_is_queued": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "CreateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "annotations", + "item/subject": "Solution merge queued", + "item/notetext": "This solution merge has been queued behind '@{outputs('Get_the_last_approved_solution_merge')?['body/value'][0]['devhub_name']}'.", + "item/objectid_devhub_solutionmerge@odata.bind": "devhub_solutionmerges(@{triggerOutputs()?['body/devhub_solutionmergeid']})" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Cancel_the_flow": { + "runAfter": { + "Queue_the_solution_merge": [ + "Succeeded" + ] + }, + "type": "Terminate", + "inputs": { + "runStatus": "Cancelled" + } + }, + "Queue_the_solution_merge": { + "runAfter": { + "Create_a_note_stating_the_solution_merge_is_queued": [ + "Succeeded" + ] + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "PerformBoundAction", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "actionName": "Microsoft.Dynamics.CRM.devhub_QueueSolutionMerge", + "recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "runAfter": { + "Get_the_last_approved_solution_merge": [ + "Succeeded" + ] + }, + "expression": { + "not": { + "equals": [ + "@outputs('Get_the_last_approved_solution_merge')?['body/value']?[0]?['devhub_solutionmergeid']", + "@null" + ] + } + }, + "type": "If" + } + } + } + }, + "default": { + "actions": { + "Terminate": { + "runAfter": {}, + "type": "Terminate", + "inputs": { + "runStatus": "Failed", + "runError": { + "message": "The merge strategy was not set or is unrecognised." + } + } + } + } + }, + "expression": "@triggerOutputs()?['body/devhub_mergestrategy']", + "metadata": { + "operationMetadataId": "bdd6278a-9d44-4880-a1bf-ee37c8467ed1" + }, + "type": "Switch" + }, + "Update_status_to_pending_merge": { + "runAfter": { + "Switch_on_merge_strategy": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "cbfc069a-1223-4cb0-9a79-d5bef64aec6f" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']", + "item/statuscode": 353400009 + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "runAfter": {}, + "metadata": { + "operationMetadataId": "820ee2f4-bdd8-4296-98d0-95ce89a0e95e" + }, + "type": "Scope" + }, + "Set_solution_merge_status_to_'Failed'_(merge_development_solution)": { + "runAfter": { + "Set_solution_merge_status_as_pending_merge_or_queued": [ + "Failed", + "TimedOut" + ] + }, + "metadata": { + "operationMetadataId": "331c4f98-f492-47f6-b27f-3ad912b136f0" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutionmerges", + "recordId": "@triggerOutputs()?['body/devhub_solutionmergeid']", + "item/statecode": 0, + "item/statuscode": 353400002 + }, + "authentication": "@parameters('$authentication')" + } + }, + "Create_a_failure_note_on_the_solution_merge_(merge_development_solution)": { + "runAfter": { + "Set_solution_merge_status_to_'Failed'_(merge_development_solution)": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "d09b106a-6314-4e47-a872-0a61a8923ef0" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "CreateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "annotations", + "item/subject": "Failed to merge", + "item/notetext": "Failed to initiate the merging of the development solution with the target solution. Please refer to the flow <a href=\"@{concat('https://flow.microsoft.com/manage/environments/', workflow().tags.environmentName, '/flows/', workflow().name, '/runs/', workflow().run.name)}\">run</a> for more detail. \n\n", + "item/objectid_devhub_solutionmerge@odata.bind": "devhub_solutionmerges(@{triggerOutputs()?['body/devhub_solutionmergeid']})" + }, + "authentication": "@parameters('$authentication')" + } + }, + "If_the_merge_strategy_is_sequential": { + "actions": { + "Get_the_target_solution": { + "runAfter": {}, + "metadata": { + "operationMetadataId": "ff0b3aa6-7f9d-4c4e-b7fb-180d9c2e6e86" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutions", + "recordId": "@triggerOutputs()?['body/_devhub_targetsolution_value']", + "$select": "devhub_minorversion, devhub_patchversion" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Switch_on_issue_type": { + "runAfter": { + "Get_the_target_solution": [ + "Succeeded" + ] + }, + "cases": { + "Feature": { + "case": 353400001, + "actions": { + "Update_solution_minor_version": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutions", + "recordId": "@triggerOutputs()?['body/_devhub_targetsolution_value']", + "item/devhub_minorversion": "@add(outputs('Get_the_target_solution')?['body/devhub_minorversion'])" + }, + "authentication": "@parameters('$authentication')" + } + } + } + } + }, + "default": { + "actions": { + "Update_solution_patch_version": { + "runAfter": {}, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "UpdateRecord", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_solutions", + "recordId": "@triggerOutputs()?['body/_devhub_targetsolution_value']", + "item/devhub_patchversion": "@add(outputs('Get_the_target_solution')?['body/devhub_patchversion'], 1)" + }, + "authentication": "@parameters('$authentication')" + } + } + } + }, + "expression": "@outputs('Get_the_developed_issue')?['body/devhub_type']", + "metadata": { + "operationMetadataId": "cbe942be-9c1b-4b21-82f8-76cc6f590e3b" + }, + "type": "Switch" + } + }, + "runAfter": { + "Get_the_developed_issue": [ + "Succeeded" + ] + }, + "expression": { + "equals": [ + "@triggerOutputs()?['body/devhub_mergestrategy']", + 353400000 + ] + }, + "metadata": { + "operationMetadataId": "f517eb59-3789-4bbd-b06b-c6e85303fea5" + }, + "type": "If" + }, + "When_the_solution_merge_status_is_'Merged'": { + "runAfter": { + "Set_solution_merge_status_as_pending_merge_or_queued": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "c8124adb-ef7b-4b02-ad2d-126f1668ef9e" + }, + "type": "OpenApiConnectionWebhook", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "SubscribeWebhookTrigger", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "subscriptionRequest/message": 3, + "subscriptionRequest/entityname": "devhub_solutionmerge", + "subscriptionRequest/scope": 4, + "subscriptionRequest/filteringattributes": "statuscode", + "subscriptionRequest/filterexpression": "devhub_solutionmergeid eq @{triggerOutputs()?['body/devhub_solutionmergeid']} and statuscode eq 353400001" + }, + "authentication": "@parameters('$authentication')" + } + }, + "Get_the_developed_issue": { + "runAfter": { + "When_the_solution_merge_status_is_'Merged'": [ + "Succeeded" + ] + }, + "metadata": { + "operationMetadataId": "15e98bbf-6dec-4900-b615-d769d32d4bf3" + }, + "type": "OpenApiConnection", + "inputs": { + "host": { + "connectionName": "shared_commondataserviceforapps", + "operationId": "GetItem", + "apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" + }, + "parameters": { + "entityName": "devhub_issues", + "recordId": "@triggerOutputs()?['body/_devhub_issue_value']", + "$select": "devhub_developmentsolution,devhub_type" + }, + "authentication": "@parameters('$authentication')" + } + } + }, + "outputs": {} + } + }, + "schemaVersion": "1.0.0.0" +} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json.data.xml index 4a9ed90..aba1e01 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json.data.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeisapproved-Mergethesolution-5004652F-F9B3-EA11-A812-000D3A86AD99.json.data.xml @@ -11,8 +11,8 @@ <TriggerOnDelete>0</TriggerOnDelete> <AsyncAutodelete>0</AsyncAutodelete> <SyncWorkflowLogOnFailure>0</SyncWorkflowLogOnFailure> - <StateCode>0</StateCode> - <StatusCode>1</StatusCode> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> <RunAs>1</RunAs> <IsTransacted>1</IsTransacted> <IntroducedVersion>1.0</IntroducedVersion> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeiscreated-Inheritmergestrategyfr-7CBCAAFF-8116-43F7-9A1C-BACD092C2380.xaml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeiscreated-Inheritmergestrategyfr-7CBCAAFF-8116-43F7-9A1C-BACD092C2380.xaml new file mode 100644 index 0000000..ff321ed --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeiscreated-Inheritmergestrategyfr-7CBCAAFF-8116-43F7-9A1C-BACD092C2380.xaml @@ -0,0 +1,75 @@ +<Activity x:Class="XrmWorkflow7cbcaaff811643f79a1cbacd092c2380" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxs="clr-namespace:Microsoft.Xrm.Sdk;assembly=Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:mxswa="clr-namespace:Microsoft.Xrm.Sdk.Workflow.Activities;assembly=Microsoft.Xrm.Sdk.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns:s="clr-namespace:System;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:this="clr-namespace:" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + <x:Members> + <x:Property Name="InputEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + <x:Property Name="CreatedEntities" Type="InArgument(scg:IDictionary(x:String, mxs:Entity))" /> + </x:Members> + <this:XrmWorkflow7cbcaaff811643f79a1cbacd092c2380.InputEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow7cbcaaff811643f79a1cbacd092c2380.InputEntities> + <this:XrmWorkflow7cbcaaff811643f79a1cbacd092c2380.CreatedEntities> + <InArgument x:TypeArguments="scg:IDictionary(x:String, mxs:Entity)" /> + </this:XrmWorkflow7cbcaaff811643f79a1cbacd092c2380.CreatedEntities> + <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings> + <mxswa:Workflow> + <Sequence DisplayName="UpdateStep1: Set the merge strategy"> + <Sequence.Variables> + <Variable x:TypeArguments="x:Object" Name="UpdateStep1_1" /> + <Variable x:TypeArguments="x:Object" Name="UpdateStep1_2" /> + <Variable x:TypeArguments="x:Object" Name="UpdateStep1_3" /> + <Variable x:TypeArguments="x:Object" Name="UpdateStep1_4" /> + </Sequence.Variables> + <Assign x:TypeArguments="mxs:Entity" To="[CreatedEntities("primaryEntity#Temp")]" Value="[New Entity("devhub_solutionmerge")]" /> + <Assign x:TypeArguments="s:Guid" To="[CreatedEntities("primaryEntity#Temp").Id]" Value="[InputEntities("primaryEntity").Id]" /> + <mxswa:GetEntityProperty Attribute="devhub_stagingenvironment" Entity="[InputEntities("related_devhub_targetsolution#devhub_solution")]" EntityName="devhub_solution" Value="[UpdateStep1_2]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityReference" /> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">SelectFirstNonNull</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { UpdateStep1_2 }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityReference" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[UpdateStep1_1]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:SetEntityProperty Attribute="devhub_environment" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solutionmerge" Value="[UpdateStep1_1]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityReference" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mxswa:GetEntityProperty Attribute="devhub_mergestrategy" Entity="[InputEntities("related_devhub_targetsolution#devhub_solution")]" EntityName="devhub_solution" Value="[UpdateStep1_4]"> + <mxswa:GetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + </mxswa:GetEntityProperty.TargetType> + </mxswa:GetEntityProperty> + <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression"> + <mxswa:ActivityReference.Arguments> + <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">SelectFirstNonNull</InArgument> + <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { UpdateStep1_4 }]</InArgument> + <InArgument x:TypeArguments="s:Type" x:Key="TargetType"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + <OutArgument x:TypeArguments="x:Object" x:Key="Result">[UpdateStep1_3]</OutArgument> + </mxswa:ActivityReference.Arguments> + </mxswa:ActivityReference> + <mxswa:SetEntityProperty Attribute="devhub_mergestrategy" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solutionmerge" Value="[UpdateStep1_3]"> + <mxswa:SetEntityProperty.TargetType> + <InArgument x:TypeArguments="s:Type"> + <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:OptionSetValue" /> + </InArgument> + </mxswa:SetEntityProperty.TargetType> + </mxswa:SetEntityProperty> + <mxswa:UpdateEntity DisplayName="UpdateStep1" Entity="[CreatedEntities("primaryEntity#Temp")]" EntityName="devhub_solutionmerge" /> + <Assign x:TypeArguments="mxs:Entity" To="[InputEntities("primaryEntity")]" Value="[CreatedEntities("primaryEntity#Temp")]" /> + </Sequence> + </mxswa:Workflow> +</Activity> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeiscreated-Inheritmergestrategyfr-7CBCAAFF-8116-43F7-9A1C-BACD092C2380.xaml.data.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeiscreated-Inheritmergestrategyfr-7CBCAAFF-8116-43F7-9A1C-BACD092C2380.xaml.data.xml new file mode 100644 index 0000000..9271556 --- /dev/null +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeiscreated-Inheritmergestrategyfr-7CBCAAFF-8116-43F7-9A1C-BACD092C2380.xaml.data.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Workflow WorkflowId="{7cbcaaff-8116-43f7-9a1c-bacd092c2380}" Name="When a solution merge is created -> Inherit merge strategy from solution" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <XamlFileName>/Workflows/Whenasolutionmergeiscreated-Inheritmergestrategyfr-7CBCAAFF-8116-43F7-9A1C-BACD092C2380.xaml</XamlFileName> + <Type>1</Type> + <Subprocess>0</Subprocess> + <Category>0</Category> + <Mode>1</Mode> + <Scope>4</Scope> + <OnDemand>0</OnDemand> + <TriggerOnUpdateAttributeList></TriggerOnUpdateAttributeList> + <TriggerOnCreate>1</TriggerOnCreate> + <TriggerOnDelete>0</TriggerOnDelete> + <AsyncAutodelete>0</AsyncAutodelete> + <SyncWorkflowLogOnFailure>1</SyncWorkflowLogOnFailure> + <StateCode>1</StateCode> + <StatusCode>2</StatusCode> + <CreateStage>40</CreateStage> + <RunAs>1</RunAs> + <IsTransacted>1</IsTransacted> + <IntroducedVersion>0.2.0</IntroducedVersion> + <IsCustomizable>1</IsCustomizable> + <IsCustomProcessingStepAllowedForOtherPublishers>1</IsCustomProcessingStepAllowedForOtherPublishers> + <PrimaryEntity>devhub_solutionmerge</PrimaryEntity> + <LocalizedNames> + <LocalizedName languagecode="1033" description="When a solution merge is created -> Inherit merge strategy from solution" /> + </LocalizedNames> +</Workflow> \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeismerged-Approvethefirstqueuedso-C976585F-06B4-EA11-A812-000D3A86AD99.json b/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeismerged-Approvethefirstqueuedso-C976585F-06B4-EA11-A812-000D3A86AD99.json deleted file mode 100644 index 2790dc5..0000000 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/Workflows/Whenasolutionmergeismerged-Approvethefirstqueuedso-C976585F-06B4-EA11-A812-000D3A86AD99.json +++ /dev/null @@ -1 +0,0 @@ -{"properties":{"connectionReferences":{"shared_commondataserviceforapps":{"runtimeSource":"embedded","connection":{"connectionReferenceLogicalName":"devhub_sharedcommondataserviceforapps_f7ca3"},"api":{"name":"shared_commondataserviceforapps"}}},"definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"},"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"When_a_solution_merge_is_merged_or_cancelled":{"type":"OpenApiConnectionWebhook","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"SubscribeWebhookTrigger","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"subscriptionRequest/message":3,"subscriptionRequest/entityname":"devhub_solutionmerge","subscriptionRequest/scope":4,"subscriptionRequest/filteringattributes":"statuscode","subscriptionRequest/filterexpression":"statuscode eq 353400001 or statuscode eq 2"},"authentication":"@parameters('$authentication')"},"runtimeConfiguration":{"concurrency":{"runs":1}}}},"actions":{"Get_the_first_queued_solution_merge":{"runAfter":{"If_there_is_an_in-progress_solution_merge":["Succeeded"]},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"ListRecords","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","$select":"devhub_approvedon","$filter":"statuscode eq 353400004","$orderby":"devhub_queuedon asc","$top":1},"authentication":"@parameters('$authentication')"}},"If_there_is_a_queued_solution_merge":{"actions":{"Set_the_solution_merge_status_to_approved":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"UpdateRecord","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","recordId":"@body('Get_the_first_queued_solution_merge')['value'][0]['devhub_solutionmergeid']","item/statuscode":353400000},"authentication":"@parameters('$authentication')"},"description":"Triggering update to reviewed on field as triggering by statuscode wasn't working"}},"runAfter":{"Get_the_first_queued_solution_merge":["Succeeded"]},"expression":{"equals":["@length(outputs('Get_the_first_queued_solution_merge')?['body/value'])",1]},"type":"If"},"Get_in-progress_merge":{"runAfter":{},"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_commondataserviceforapps","operationId":"ListRecords","apiId":"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"},"parameters":{"entityName":"devhub_solutionmerges","$select":"devhub_name","$filter":"devhub_solutionmergeid ne @{triggerOutputs()?['body/devhub_solutionmergeid']} and (statuscode eq 353400000 or statuscode eq 353400003 or statuscode eq 353400002 or statuscode eq 353400006)","$top":1},"authentication":"@parameters('$authentication')"}},"If_there_is_an_in-progress_solution_merge":{"actions":{"Terminate":{"runAfter":{},"type":"Terminate","inputs":{"runStatus":"Cancelled"}}},"runAfter":{"Get_in-progress_merge":["Succeeded"]},"expression":{"greater":["@length(outputs('Get_in-progress_merge')?['body/value'])",0]},"type":"If"}},"outputs":{}}},"schemaVersion":"1.0.0.0"} \ No newline at end of file diff --git a/src/solutions/devhub_DevelopmentHub_Develop/Extract/environmentvariabledefinitions/devhub_SolutionPublisher/environmentvariabledefinition.xml b/src/solutions/devhub_DevelopmentHub_Develop/Extract/environmentvariabledefinitions/devhub_SolutionPublisher/environmentvariabledefinition.xml index 973fb14..1708e06 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/Extract/environmentvariabledefinitions/devhub_SolutionPublisher/environmentvariabledefinition.xml +++ b/src/solutions/devhub_DevelopmentHub_Develop/Extract/environmentvariabledefinitions/devhub_SolutionPublisher/environmentvariabledefinition.xml @@ -1,5 +1,4 @@ <environmentvariabledefinition schemaname="devhub_SolutionPublisher"> - <defaultvalue></defaultvalue> <description default="The publisher prefix to use for solutions. Must correspond with a publisher that exists in the environment."> <label description="The publisher prefix to use for solutions. Must correspond with a publisher that exists in the environment." languagecode="1033" /> </description> diff --git a/src/solutions/devhub_DevelopmentHub_Develop/WebResources/Scripts/src/develop.common.ts b/src/solutions/devhub_DevelopmentHub_Develop/WebResources/Scripts/src/develop.common.ts index d2dd145..8142cca 100644 --- a/src/solutions/devhub_DevelopmentHub_Develop/WebResources/Scripts/src/develop.common.ts +++ b/src/solutions/devhub_DevelopmentHub_Develop/WebResources/Scripts/src/develop.common.ts @@ -78,4 +78,48 @@ namespace DevelopmentHub.Develop { (error) => onExecuteWorkflowError(error), ); } + + export function toggleFieldOnValue( + context: Xrm.Events.EventContext, + sourceField: string, + value: any, + targetField: string, + ) { + const formContext = context.getFormContext(); + + const sourceAttribute = formContext.getAttribute(sourceField) as + Xrm.Attributes.Attribute; + if (!sourceAttribute) { + return; + } + + const targetControl = formContext.getControl(targetField) as + Xrm.Controls.StandardControl; + if (!targetControl) { + return; + } + + const sourceValue = sourceAttribute.getValue(); + const sourceType = sourceAttribute.getAttributeType(); + + let toggle = false; + switch (sourceType) { + case 'multioptionset': + toggle = sourceValue + ? (JSON.stringify(sourceValue.sort()) === JSON.stringify(value.sort())) + : sourceValue === value; + break; + case 'lookup': + toggle = sourceValue ? sourceValue[0].id === value : sourceValue === value; + break; + default: + toggle = sourceValue === value; + break; + } + + targetControl.setVisible(toggle); + if (!toggle) { + targetControl.getAttribute().setValue(null); + } + } }