Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 29, 2025

Release Tracker Web Application Implementation

  • Create Flask application (app.py) with Azure AD authentication
  • Create requirements.txt with all necessary dependencies
  • Create HTML template (templates/index.html)
  • Create CSS styling (static/css/style.css)
  • Create JavaScript frontend (static/js/app.js)
  • Create .env.example with environment variable template
  • Create comprehensive README.md with setup and deployment instructions
  • Create .gitignore to exclude sensitive files
  • Verify the application structure
Original prompt

Overview

Create a complete Release Tracker web application using Azure App Service with the following features:

Requirements

1. Authentication

  • Azure AD (AAD) authentication for user login
  • Secure session management using MSAL (Microsoft Authentication Library)
  • Login/logout functionality

2. User Interface

  • Left Panel: Calendar for selecting release dates (using Flatpickr)
  • Right Panel: Checkboxes to select release types:
    • 🔥 Hotfix - Critical bug fixes for production
    • ✅ Stable - Fully tested production release
    • 🧪 Prerelease - Beta or release candidate
  • Wiki path input field to specify the target wiki page
  • Save button to submit release information

3. Backend API

  • Flask-based backend application
  • /api/save-release endpoint that:
    • Accepts date, release types, and wiki path
    • Calls Azure DevOps Wiki Update API to add release information
    • Appends formatted release info to the specified wiki page

4. Azure DevOps Integration

  • Update Azure DevOps Wiki pages via REST API
  • Support for creating new wiki pages if they don't exist
  • Append release information to existing pages

Files to Create

Project Structure

release-scheduler/
├── app.py                 # Flask application with Azure AD auth and API endpoints
├── requirements.txt       # Python dependencies
├── static/
│   ├── css/
│   │   └── style.css     # Styling for the UI
│   └── js/
│       └── app.js        # Frontend JavaScript for calendar and form handling
├── templates/
│   └── index.html        # Main HTML template
├── .env.example          # Example environment variables
└── README.md             # Documentation with setup and deployment instructions

Technical Details

app.py should include:

  • MSAL integration for Azure AD authentication
  • Flask routes for login, logout, callback, and main page
  • API endpoint /api/save-release (POST) that calls Azure DevOps Wiki API
  • Function to update Azure DevOps Wiki using REST API with PAT authentication

requirements.txt should include:

  • Flask==2.3.3
  • Flask-Session==0.5.0
  • msal==1.24.0
  • requests==2.31.0
  • python-dotenv==1.0.0
  • gunicorn==21.2.0

index.html should include:

  • Header with app title and user info/logout button
  • Two-panel layout (left: calendar, right: release options)
  • Flatpickr calendar integration
  • Checkbox inputs for release types (hotfix, stable, prerelease)
  • Wiki path input field
  • Save button with loading state

style.css should include:

  • Modern gradient background
  • Card-based panel design
  • Custom styled checkboxes
  • Responsive layout
  • Success/error message styling

app.js should include:

  • Flatpickr calendar initialization
  • Form validation
  • Fetch API call to save release
  • Loading states and message display

.env.example should include:

  • AZURE_CLIENT_ID
  • AZURE_CLIENT_SECRET
  • AZURE_TENANT_ID
  • AZDO_ORGANIZATION
  • AZDO_PROJECT
  • AZDO_WIKI_ID
  • AZDO_PAT
  • SECRET_KEY

README.md should include:

  • Project overview
  • Prerequisites
  • Azure AD App Registration steps
  • Azure DevOps PAT creation steps
  • Local development setup
  • Azure App Service deployment instructions using Azure CLI

This pull request was created from Copilot chat.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI self-assigned this Dec 29, 2025
@wh-alice wh-alice marked this pull request as ready for review December 29, 2025 01:54
@wh-alice wh-alice merged commit 2b6455a into main Dec 29, 2025
1 check failed
Copilot AI requested a review from wh-alice December 29, 2025 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants