Recent Discussions
Azure Architecture Best Practices for Enterprise Applications
As businesses continue to modernize their IT infrastructure, Microsoft Azure has become one of the leading cloud platforms for building enterprise-grade applications. Organizations of all sizes rely on Azure to improve scalability, strengthen security, reduce operational costs, and accelerate digital transformation. However, simply moving an application to the cloud does not guarantee success. A well-designed Azure architecture is the foundation of a secure, reliable, and high-performing enterprise application. https://dellenny.com/azure-architecture-best-practices-for-enterprise-applications/14Views0likes0CommentsPrint Spooler on AVD hosts doesn't start when booted up
This just came about today, any host that was turned on via Nerdio the print spooler was off. All these hosts were provisioned on Oct. 7 and haven't had this issue until today. Azure issue? AVD issue? We've changed nothing configuration wise that would cause this, no new patches either. These are 16vCPU boxes, with 64GB of RAM, again only happened today and we've been running this image since Oct 7th without issue and AVD since July in prod. Print Nightmare patches are installed.833Views0likes2CommentsAzure App Service secure hostname
Hey Everyone, I see a new change in app service deployment related to the secure hostname. Is it now mandatory to have a secure hostname, because I don't see the option to toggle between the secure hostname and just the format for appservicename.azurewebsites.net ? I wasn't able to find any update notification to verify this change.99Views0likes4CommentsAre you getting the most out of your Azure Log Analytics Workspace (LAW) investment?
Using a LAW is a great way to consolidate various types of data (performance, events, security, etc.) and signals from multiple sources. That's the easy part - mining this data for actionable insights is often the real challenge. One way we did this was by surfacing events related to disks across our physical server estate. We were already sending event data to our LAW; it was just a matter of parsing it with KQL and adding to a Power Bi dashboard for additional visibility. The snippet from the Power Bi dashboard shows when the alert was first triggered and when the disk was eventually replaced. Here's the KQL query we came up with. let start_time=ago(30d); let end_time=now(); Event | where TimeGenerated > start_time and TimeGenerated < end_time | where EventLog contains 'System' | where Source contains 'Storage Agents' | where RenderedDescription contains 'Drive Array Physical Drive Status Change' | parse kind=relaxed RenderedDescription with * 'Drive Array Physical Drive Status Change. The ' Drive ' with serial number ""' Serial '"", has a new status of ' Status '. (Drive status values:'* | project Computer, Drive, Serial, Status, TimeGenerated, EventLevelName You can of course set up alerting with Alerts for Azure Monitor. I hope this example helps you get more value from your LAW.318Views1like5CommentsIntegrating Azure DevOps with Jira Service Management: Real-World Use Cases
If your development team works in Azure DevOps while support operates in Jira Service Management (JSM), you're probably dealing with manual ticket updates, information silos, and delayed responses. This friction slows down ticket resolution and creates unnecessary back-and-forth between teams. You can integrate both systems to automate data exchange and keep everyone on the same page. In this post, we'll explore why this integration matters, common use cases I've seen from teams using both platforms, and the key features you should consider when setting up your integration. Why Integrate Azure DevOps with Jira Service Management? When you integrate Azure DevOps with JSM, ticket escalation becomes automatic. A critical bug reported in JSM creates a work item in Azure DevOps with complete context—error logs, customer details, priority level, and all relevant information. Status updates sync bidirectionally. Your support team sees development progress without switching tools. Developers get full customer context without leaving Azure DevOps. The real benefits: Eliminate copy-paste errors Real-time visibility into work status Faster incident resolution Clear audit trails for SLAs and post-mortems Each team stays productive in their preferred environment Without integration, support agents need to check Azure DevOps regularly for updates to relay to customers. This creates delays, introduces errors, and wastes time on both sides. Common Use Cases for Azure DevOps + JSM Integration I have worked with hundreds of teams integrating these platforms. Here are the most common scenarios: 1. Incident and Bug Escalation This is probably the most common use case. Critical bugs reported in JSM automatically create high-priority work items in Azure DevOps with error logs, affected user details, and complete customer context. As developers update the work item, adding comments, changing status, or resolving the bug, those changes flow back to JSM automatically. Support agents can keep customers informed without constantly asking the dev team for updates. Use Case: Current Setup: Support uses JSM for customer tickets. Development uses Azure DevOps for bug tracking. Problem: Manually updating both systems is time-consuming and error-prone. Solution: Two-way sync ensures bugs and updates flow automatically between both systems. 2. Feature Request Management When customers submit feature requests through JSM and they get approved, they automatically flow to Azure DevOps as backlog items with inline images, custom fields, attachments, and more. When development completes the feature, the original JSM request closes automatically and notifies the customer. Use Case: Current Setup: Product managers collect feature requests in JSM. Developers track work in Azure DevOps. Problem: Manually creating work items for approved requests takes time, and context gets lost. Solution: Approved JSM requests automatically create Azure DevOps work items with full context. 3. Multi-Platform Sync for MSPs A central JSM instance can route tickets to different Azure DevOps projects based on work item type. This works especially well for MSPs managing multiple clients. You can connect your JSM instance with multiple client Azure DevOps environments while keeping data completely isolated per client. Use Case: Current Setup: An MSP uses one JSM instance. Multiple clients use separate Azure DevOps environments. Problem: Routing tickets manually to the right client's Azure DevOps is inefficient. Solution: Conditional routing based on customer tags or custom fields automatically sends tickets to the correct Azure DevOps project. 4. Post-Merger System Integration When two companies merge, one might use JSM for service management while the other uses Azure DevOps for development and QA. Rather than forcing everyone onto a single platform immediately, you can connect both systems to let teams continue using their existing tools during the transition. Use Case: Current Setup: Merged company with different tool stacks. Problem: Forcing immediate migration disrupts workflows. Solution: Integration bridges the gap while you plan a longer-term consolidation strategy. Key Features to Consider When Choosing Your Integration Approach Bidirectional vs. Unidirectional Sync Bidirectional sync is essential when both teams need to update shared information like status, priority, and comments. Updates flow both ways automatically without sync conflicts. For some use cases, you might only need one-way sync. For example, JSM → Azure DevOps for escalations where only support creates tickets, but developers provide all updates. Selective Filtering You don't want to sync everything. Look for solutions that let you sync only tickets meeting specific criteria: priority levels, labels, custom fields, or status values. Example filters: Only sync JSM tickets with "escalate-to-dev" label Only sync Azure DevOps bugs tagged "customer-reported" Only sync high and highest priority items This keeps Azure DevOps boards focused on actionable work rather than cluttered with routine requests. Field Mapping Flexibility JSM and Azure DevOps use different field structures. Your integration needs to handle transformations between JSM's field structure and Azure DevOps work item fields without losing data. Common mappings: JSM Status → Azure DevOps State JSM Priority → Azure DevOps Priority Custom fields require explicit mapping rules Scalability The solution should handle your current ticket volume and grow with your organization. Look for reliable performance, error handling, retry mechanisms, and the ability to add more integrations as your needs expand. Security and Compliance Essential security features: Encryption in transit and at rest OAuth or Basic authentication ISO certification Role-based access controls For MSPs: Complete data isolation between client environments Audit logging for compliance requirements Conflict Resolution You need clear rules for what happens when both sides update the same field simultaneously. Common approaches include last-write-wins logic or timestamp-based priority. Technical Implementation Approaches Webhooks + REST APIs Azure DevOps Service Hooks, combined with JSM REST API, provide real-time bidirectional sync. This is the recommended approach for most teams. The flow works like this: Change happens in Azure DevOps Service Hook triggers webhook Integration middleware receives a webhook Middleware calls the JSM REST API to update the ticket The same flow works in reverse for JSM → Azure DevOps updates. Custom Middleware For complex requirements, custom middleware gives you maximum flexibility: Custom field transformation logic Complex routing rules Conditional synchronization Workflow orchestration Error handling and retry logic Common technology stacks include Azure Functions, Logic Apps, or custom Node.js/Python microservices. Third-Party Integration Platforms Many teams opt for dedicated integration platforms rather than building from scratch. These platforms offer pre-built connectors for both JSM and Azure DevOps, significantly reducing implementation time. What third-party platforms typically provide: Pre-configured connectors that understand both JSM and Azure DevOps data structures out of the box Visual or scripting interfaces for setting up field mappings, filters, and sync rules with or without writing code Managed infrastructure so you don't need to host and maintain your own integration servers Built-in error handling and retry logic that handles API failures automatically Audit logging and monitoring dashboards for tracking sync activity and troubleshooting issues Support for complex scenarios like multi-project routing, conditional logic, and custom field transformations Regular updates to keep pace with API changes in both platforms When to consider third-party platforms: You need to get integration running quickly without significant development effort Your team lacks in-house expertise in API integration You want managed infrastructure rather than maintaining your own servers You need support and documentation for troubleshooting You plan to integrate multiple tools beyond just JSM and Azure DevOps You require complex field mappings and conditional routing that would be time-consuming to build Trade-offs to consider: Recurring subscription costs vs. one-time development investment Less control over the exact implementation compared to custom solutions Dependency on the platform's feature set and release cycle Data flows through a third-party service (though reputable platforms offer strong security and compliance) Most platforms available in the Azure DevOps marketplace or Atlassian marketplace offer free trials, allowing you to test their capabilities before committing. Choose the right approach considering the above trade-offs and advantages I have discussed. Good luck! Let's discuss if you have anything specific in mind related to this post.829Views1like2CommentsQuestion for OAuth setting for "Try me" function in APIM developer portal
I am working on a APIM deployment that will have developer portal available to developers. Login to portal will only allow Azure B2C accounts and thus will have OAuth already performed. On the APIM instance settings in Azure portal the "OAuth 2.0 + OpenID Connect" section has a option to create OAuth server for B2C, which then can be used for each API. The "try me" function for that API in the developer portal can then use this OAuth server to perform OAuth and use the token. As we have already performed OAuth for developer portal login itself, so I don't want users to perform OAuth twice for better user experience. But one thing I am unsure off is if either there is a global jwt token validation policy or a API specify jwt policy requiring OAuth tokens, then if I don't set the OAuth for "Try me" function, will that succeed or fail? And are there any other security/general concerns if we don't set the OAuth for "Try me" function in developer portal.34Views0likes3Comments[Urgent]: Locked out of Azure Portal - GitHub Login Loop & Authenticator 6-digit vs 8-digit Mismatch
I am writing this out of frustration as I have been locked out of my Azure web portal (azure.com) for a long time. I normally log in via GitHub, but something seems to have changed regarding the admin settings or 2FA requirements. I am now stuck at the Microsoft Authenticator verification step. The major issue is that my Authenticator app shows an 8-digit PIN, but the Azure login screen requires a 6-digit PIN. I also do not receive any push notifications/pop-ups on my phone, despite being logged into the correct account in the app. Key Details: This is a personal account. My login works perfectly on accounts.microsoft.com and the Azure Mobile App. I cannot use the web portal, which is preventing me from managing my servers. I have a VM that frequently runs out of memory (OOM) and needs an immediate upgrade and a new IP address—tasks I cannot do from the mobile app. I cannot open a support ticket because I can't log in. I contacted pre-sales support two months ago; they promised an engineer would email me within 7 days, but I never heard back. Please help me regain access to my account.301Views1like4CommentsAzure Devops - Best way to create a burndown chart for an Epic
Hi, What is the best way to create a chart that would should the burndown (or burnup) of Story Points completed on User Stories under one or more Epics? I have never been able to do this within Azure DevOps itself. Have just picked up PowerBi and can't do it there either! Regards M1.9KViews0likes4CommentsHelp with Burnup / Burndown ?
I'm trying to build a burnup or burndown by feature. I know that's not a native feature in ADO right now, so I built it using tags. Even though most of the stories were written (and some completed) well in advance of May 17, I created the tag on the 17th, and it appears they're being plotted against the last changed date. Am I doing something wrong, or is this known behavior?868Views0likes3CommentsWindows App iOS RemoteApp Won't Reconnect
We are building a RemoteApp environment using AVD for the session hosts. On iOS, what happens is the screen powers off/device goes to sleep. When a user logs back into the iPad, the RemoteApp was still the focus, so they see buttons to reconnect or disconnect. If we press reconnect, it will either spin endlessly OR it will report an error on reconnection attempt. If we then close the error OR if we press disconnect where it drops us into the Windows App, then reopen the exact same Windows App it immediately reconnects. This does not happen in Windows at all, we have no Android deployments to test, and are trying iOS deployments on iPad and troubleshooting with iPhones. Both device types experience the issue. To troubleshoot, I've tried multiple iOS devices by multiple users; same problem. Those same users connecting to our AVD desktops, not RemoteApps, reconnect without issue. Our AVD and RemoteApp session hosts all use the same Group Policies and are, at this point, only domain joined, not Entra or Hybrid. Any thoughts on why this happens? Would logs be helpful?27Views0likes3CommentsAKS Architecture: Mitigating Pod Latency and Request Bottlenecks
Hello team, While optimizing our production workloads on Azure Kubernetes Service (AKS), our engineering squad hit a specific architectural performance challenge that I wanted to document here, along with how we resolved the runtime bottleneck. As our concurrent API query spikes scaled past normal operational baselines, our application pods running decoupled microservices containers began experiencing noticeable synchronization latency. Initially, we looked into scaling up our cluster sizing or adjusting standard load balancing layers, but telemetry data revealed that the core issue was database connection pooling and microservices processing delays under sudden traffic spikes. Here is the strategic checklist we implemented to stabilize our Azure cloud environment: 1. Transitioning to Asynchronous Container Configurations Monolithic data pipelines often create heavy thread blockages under peak loads. We shifted our core backend workflows into isolated AKS containers managed via automated Azure DevOps pipelines. This granular separation allowed independent loops to process concurrently, successfully preserving our 99.9% operational runtime resilience. 2. Managing Infrastructure Sourcing & Tech Overheads Designing, tuning, and monitoring these decoupled distributed systems is an intensive task that demands advanced architecture experience. Trying to orchestrate multi-cluster routing without deep domain expertise often leads to configuration drift, cloud budget bloating, and unnecessary performance gaps. For enterprise teams planning to bridge this talent gap, it is highly efficient to onboard specialized cloud developers and backend optimization experts on demand. If you want to review structured execution timelines, technical developer vetting checklists, and enterprise pricing models, you can inspect this guide to https://www.decipherzone.com/hire-developer. 3. Offloading Heavy Automation Pipelines To protect our user-facing request paths, we separated our backend traditional logic from our heavy data workflows. We configured self-healing internal pods to handle background automation scripts completely outside the main client-side execution path. Enforcing TLS 1.3 encryption across endpoints and performing routine peer-level compliance audits finally stabilized our cluster velocity. How are you currently managing microservices synchronization loops inside your AKS clusters? Are you relying on custom stateful sets or advanced service meshes to curb cross-pod latency? Let’s share some insights below!25Views0likes1CommentAdmin‑On‑Behalf‑Of issue when purchasing subscription
Hello everyone! I want to reach out to you on the internet and ask if anyone has the same issue as we do when creating PAYG Azure subscriptions in a customer's tenant, in which we have delegated access via GDAP through PartnerCenter. It is a bit AI formatted question. When an Azure NCE subscription is created for a customer via an Indirect Provider portal, the CSP Admin Agent (foreign principal) is not automatically assigned Owner on the subscription. As a result: AOBO (Admin‑On‑Behalf‑Of) does not activate The subscription is invisible to the partner when accessing Azure via Partner Center service links The partner cannot manage and deploy to a subscription they just provided This breaks the expected delegated administration flow. Expected Behavior For CSP‑created Azure subscriptions: The CSP Admin Agent group should automatically receive Owner (or equivalent) on the subscription AOBO should work immediately, without customer involvement The partner should be able to see the subscription in Azure Portal and deploy resources Actual Behavior Observed For Azure NCE subscriptions created via an Indirect Provider: No RBAC assignment is created for the foreign AdminAgent group The subscription is visible only to users inside the customer tenant Partner Center role (Admin Agent foreign group) is present, but without Azure RBAC. Required Customer Workaround For each new Azure NCE subscription, the customer must: Sign in as Global Admin Use “Elevate access to manage all Azure subscriptions and management groups” Assign themselves Owner on the subscription Manually assign Owner to the partner’s foreign AdminAgent group Only after this does AOBO start working. Example Partner tries to access the subscription: https://portal.azure.com/#@customer.onmicrosoft.com/resource/subscriptions/<subscription-id>/overview But there is no subscription visible "None of the entries matched the given filter" https://learn.microsoft.com/en-us/azure/role-based-access-control/elevate-access-global-admin?tabs=azure-portal%2Centra-audit-logs#step-1-elevate-access-for-a-global-administrator from the customer's global admin. and manual RBAC fix in Cloud console: az role assignment create \ --assignee-object-id "<AdminAgent-Foreign-Group-ObjectId>" \ --role "Owner" \ --scope "/subscriptions/<subscription-id>" \ --assignee-principal-type "ForeignGroup" After this, AOBO works as expected for delegated administrators (foreign user accounts). Why This Is a Problem Partners sell Azure subscriptions that they cannot access Forces resources from customers to involvement from customers Breaks delegated administration principles For Indirect CSPs managing many tenants, this is a decent operational blocker. Key Question to Microsoft / Community Does anyone else struggle with this? Is this behavior by design for Azure NCE + Indirect CSP? Am I missing some point of view on why not to do it in the suggested way?172Views0likes1CommentAzure Logic Apps Workflow Templates (Preview): Issues with Updates, Expressions, and Designer UI.
Hi Azure Logic Apps team, if someone from the team is monitoring this community, I would like to report a few issues I have encountered with the Logic Apps Workflow Templates (Preview) feature. These issues are impacting the user experience and require attention. Workflow Template name update issue I created a workflow template that was working correctly. However, when I try to edit the template and change its name, the update either fails or the new name is not saved. Other changes appear to work, but renaming the template is consistently problematic. Expression update issue with Base64 output When using the expression: base64(body('Create_CSV_table')) each time the email action is updated, the expression automatically changes back to: body('Create_CSV_table') This causes an Internal Server Error and requires manually fixing the expression every time the workflow is updated. This becomes very frustrating when managing multiple workflows. Logic Apps designer responsiveness issue The Logic Apps designer page is not fully responsive across different screen sizes. On my laptop screen, the Add Expression option disappears and is only visible when using a larger monitor. The designer should support different screen resolutions and provide a consistent user experience. Thank you for looking into these issues. Logic Apps Workflow Templates is a very useful feature, and addressing these problems would greatly improve usability for developers and users.Solved20Views0likes1CommentCan't write to custom logs
I am new to Intune. I have created a log analytics workspace. Using PowerShell I want to write to this location. My web address is always wrong, regardless of what I use. PowerShell gives me this error: Invoke-WebRequest : The remote name could not be resolved: I am trying to use this code that I found online. # Log analytics part $CustomerId = "7aa60a6a-1234-4c67-5678-93d0f5f997c8" $SharedKey = '' $LogType = "TestReport" $TimeStampField = "" #*********************************************************************************************************** # Log analytics functions Function Build-Signature ($customerId, $sharedKey, $date, $contentLength, $method, $contentType, $resource) { $xHeaders = "x-ms-date:" + $date $stringToHash = $method + "`n" + $contentLength + "`n" + $contentType + "`n" + $xHeaders + "`n" + $resource $bytesToHash = [Text.Encoding]::UTF8.GetBytes($stringToHash) $keyBytes = [Convert]::FromBase64String($sharedKey) $sha256 = New-Object System.Security.Cryptography.HMACSHA256 $sha256.Key = $keyBytes $calculatedHash = $sha256.ComputeHash($bytesToHash) $encodedHash = [Convert]::ToBase64String($calculatedHash) $authorization = 'SharedKey {0}:{1}' -f $customerId,$encodedHash return $authorization } # Create the function to create and post the request Function Post-LogAnalyticsData($customerId, $sharedKey, $body, $logType) { $method = "POST" $contentType = "application/json" $resource = "/api/logs" $rfc1123date = [DateTime]::UtcNow.ToString("r") $contentLength = $body.Length $signature = Build-Signature ` -customerId $customerId ` -sharedKey $sharedKey ` -date $rfc1123date ` -contentLength $contentLength ` -method $method ` -contentType $contentType ` -resource $resource $uri = "https://" + $customerId + ".MyAzureCompany.onmicrosoft.com" + $resource + "?api-version=2022-11-13" # $uri = "https://" + $customerId + ".MyAzureCompany.azure.com" + $resource + "?api-version=2022-11-13" ############################################################################################################################## $headers = @{ "Authorization" = $signature; "Log-Type" = $logType; "x-ms-date" = $rfc1123date; "time-generated-field" = $TimeStampField; } $response = Invoke-WebRequest -Uri $uri -Method $method -ContentType $contentType -Headers $headers -Body $body -UseBasicParsing return $response.StatusCode } $Current_User_Profile = Get-ChildItem Registry::\HKEY_USERS | Where-Object { Test-Path "$($_.pspath)\Volatile Environment" } | ForEach-Object { (Get-ItemProperty "$($_.pspath)\Volatile Environment").USERPROFILE } $Username = $Current_User_Profile.split("\")[2] $WMI_computersystem = gwmi win32_computersystem $Manufacturer = $WMI_computersystem.manufacturer If($Manufacturer -eq "Lenovo") { $Get_Current_Model = $WMI_computersystem.SystemFamily.split(" ")[1] } Else { $Get_Current_Model = $WMI_computersystem.Model } $Get_Current_Model_MTM = ($WMI_computersystem.Model).Substring(0,4) $Get_Current_Model_FamilyName = $WMI_computersystem.SystemFamily.split(" ")[1] $BIOS_Version = (gwmi win32_bios).SMBIOSBIOSVersion # Get Hard disk size info $Win32_LogicalDisk = Get-ciminstance Win32_LogicalDisk | where {$_.DeviceID -eq "C:"} $Disk_Full_Size = $Win32_LogicalDisk.size $Disk_Free_Space = $Win32_LogicalDisk.Freespace # Hard disk size percent [int]$Free_DiskPercent = '{0:N0}' -f (($Disk_Free_Space / $Disk_Full_Size * 100),1) # Hard disk size Log Anaytics format $Disk_Size = ([System.Math]::Round(($Disk_Full_Size) / 1MB, 2)) $Free_DiskSpace = ([System.Math]::Round(($Disk_Free_Space) / 1MB, 2)) # Bitlocker status $Bitlocker_status = (Get-BitLockerVolume -MountPoint "c:").protectionstatus If($Bitlocker_status -eq "On") { $Bitlocker_status = "Enabled" } Else { $Bitlocker_status = "Disabled" } # Create the object $Properties = [Ordered] @{ "Computer" = $env:computername "UserName" = $Username "Vendor" = $Manufacturer "DeviceModel" = $Get_Current_Model "BIOSVer" = $BIOS_Version "DiskSize" = $Disk_Size "FreeDisk" = $Free_DiskSpace "FreeDiskPercentage" = $Free_DiskPercent "BitlockerStatus" = $Bitlocker_status } $DeviceInfo = New-Object -TypeName "PSObject" -Property $Properties $DeviceInfoJson = $DeviceInfo | ConvertTo-Json $params = @{ CustomerId = $customerId SharedKey = $sharedKey Body = ([System.Text.Encoding]::UTF8.GetBytes($DeviceInfoJson)) LogType = $LogType } $LogResponse = Post-LogAnalyticsData @params No matter what I try for $CustomerID and URL it fails. For CustomerID I have tried my subscription ID, my tenant ID and the Workspace ID and nothing works. Question: Do I need to pre-create a custom log in Azure? If so how? It askes for a custom script and I don't know what to use. Any help would be great.1.1KViews0likes2CommentsLooking for guidance on designing an Azure data analytics pipeline for reporting
I’m working on modernizing an old reporting workflow that currently runs on a few on-premises databases and scheduled scripts. The current process collects operational data from multiple systems, performs some basic transformation and aggregation, and then generates reports for different business teams. As the data volume is growing, the existing setup is becoming difficult to maintain and slow to refresh. I’m looking for an Azure-based architecture that can ingest data from different sources, store both raw and processed data, run scheduled transformations, and make the final datasets available for reporting tools like Power BI. Would appreciate any suggestions on the recommended architecture, especially around data storage, transformation, refresh performance, and cost control. Thanks62Views0likes3CommentsAzure Alert ITSM Servicenow Connector Payload not appearing in ticket description
Hello, Trying to create ServiceNow tickets based on alerts from Azure alert rule in "Log Analytics Workspace" for Machine learning Job failures with ITSM connector based action group. In this process, in ServiceNow tickets are getting generated but issue is with Payload i.e., payload passed is not appearing in ticket description under the section <-- Log Entry --> as shown in screenshot below. I have gone through the documentation but I couldn't find exact reference in addressing this issue. It would be great if you can provide any suggestions / exact references in the documentation. Please let me know for any additional inputs. Thanks & Regards, Siva Kumar661Views0likes3CommentsThe default azure-pipelines.yml is broken
Create a new project. Create an azure repo and clone it with ssh. Run go mod init and create a main.go file in the cloned repo. Commit and push the changes. Create a pipeline using your repo. An azure-pipelines.yml is created as shown below. Run the new pipeline. It gives the error below. My go.mod has go 1.19 and if I change the .yml to 1.19 it gives the same error with /usr/local/go1.19. How do I fix this, and where do I file a bug against the Pipeline default .yml file? 2022-11-01T03:06:15.6247802Z [command]/usr/bin/bash --noprofile --norc /home/vsts/work/_temp/d62a4714-ede5-408d-9b1f-efbae06e65a3.sh 2022-11-01T03:06:15.6248305Z go: cannot find GOROOT directory: /usr/local/go1.11 2022-11-01T03:06:15.6248734Z go: cannot find GOROOT directory: /usr/local/go1.11 2022-11-01T03:06:15.6249112Z go: cannot find GOROOT directory: /usr/local/go1.11 2022-11-01T03:06:15.6282871Z ##[error]Bash exited with code '2'. Here is the .yml: # Go # Build your Go project. # Add steps that test, save build artifacts, deploy, and more: # https://docs.microsoft.com/azure/devops/pipelines/languages/go trigger: - master pool: vmImage: ubuntu-latest variables: GOBIN: '$(GOPATH)/bin' # Go binaries path GOROOT: '/usr/local/go1.11' # Go installation path GOPATH: '$(system.defaultWorkingDirectory)/gopath' # Go workspace path modulePath: '$(GOPATH)/src/github.com/$(build.repository.name)' # Path to the module's code steps: - script: | mkdir -p '$(GOBIN)' mkdir -p '$(GOPATH)/pkg' mkdir -p '$(modulePath)' shopt -s extglob shopt -s dotglob mv !(gopath) '$(modulePath)' echo '##vso[task.prependpath]$(GOBIN)' echo '##vso[task.prependpath]$(GOROOT)/bin' displayName: 'Set up the Go workspace' - script: | go version go get -v -t -d ./... if [ -f Gopkg.toml ]; then curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh dep ensure fi go build -v . workingDirectory: '$(modulePath)' displayName: 'Get dependencies, then build'1.6KViews0likes2CommentsMissing Operation ID and name
We'd like to customize out log format, so we have a method to get the logger. However, when we use the logger, we found that the operation_Name and operation_Id disappeared. We'd like to know why the operation_Name and operation_Id disappear and how to make it show on the query result. Here' the sample code to get logger: FORMAT = json.dumps( { 'loggerName': '%(name)s', 'funcName': '%(funcName)s', 'message': '%(message)s', 'asctime': '%(asctime)s', 'level': '%(levelname)s', } ) def get_customized_json_logger(logger_name): logger = logging.getLogger(logger_name) logger.setLevel(logging.INFO) log_handler = logging.StreamHandler() log_handler.setLevel(logging.INFO) formatter = logging.Formatter(FORMAT) log_handler.setFormatter(formatter) logger.addHandler(log_handler) return logger703Views0likes1Comment
Events
Move AI agents from experimentation to production with trusted architecture, governance, and operations. Many organizations have made progress with AI prototypes, but struggle to turn early success i...
Monday, Jul 27, 2026, 08:00 AM PDTOnline
0likes
195Attendees
0Comments
Recent Blogs
- The Model Context Protocol (MCP) is the open standard for connecting AI models to tools and data. It was first introduced to the world by Anthropic in November 2024, and is now the most widely adopte...Jul 20, 202657Views0likes0Comments
- Some of the most valuable work still lives inside a browser: booking a class, pulling a figure off a dashboard, filling in a portal form, gathering research across a dozen tabs. These are exactly the...Jul 18, 2026221Views1like0Comments