Some checks failed
Test / rust-fmt-check (pull_request) Failing after 0s
Test / rust-clippy (pull_request) Failing after 1s
Test / rust-tests (pull_request) Failing after 0s
Test / frontend-typecheck (pull_request) Failing after 16s
Test / frontend-tests (pull_request) Failing after 18s
PR Review Automation / review (pull_request) Failing after 4m13s
Complete backport of all features from apollo_nxt-trcaa repository: - Three-tier shell execution safety system (Tier 1: auto, Tier 2: approve, Tier 3: deny) - Ollama function calling with tool use support - AI provider tool calling auto-detection - kubectl binary bundling and management - kubeconfig upload and context management - Shell approval modal with real-time UI - MCP protocol HTTP transport with custom headers - Enhanced security audit logging - Comprehensive test coverage (275+ tests) - Updated CI/CD workflows for Gitea Actions - Complete documentation (ADRs, wiki, release notes) Sanitization applied to all files: - Removed all MSI, Motorola, VNXT, Vesta references - Replaced internal infrastructure references with TFTSR equivalents - Updated all URLs and API endpoints - Sanitized commit history references in documentation Technical changes: - New modules: shell/classifier, shell/executor, shell/kubectl, shell/kubeconfig - Enhanced AI providers: ollama.rs, openai.rs with function calling - New Tauri commands: shell execution, kubeconfig management, tool calling detection - Database migrations: shell_execution_audit table - Frontend: ShellApprovalModal, ShellExecution, KubeconfigManager pages - CI/CD: kubectl bundling, multi-platform builds, Gitea Actions integration Version: 1.0.8 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
235 lines
7.1 KiB
Markdown
235 lines
7.1 KiB
Markdown
# Azure Boards + GitHub Integration
|
|
|
|
## Issue
|
|
|
|
When using `AB#727547` syntax in PR titles or commit messages, the work item reference is **not** automatically converted to a clickable link to Azure DevOps.
|
|
|
|
## Root Cause
|
|
|
|
The `AB#` syntax requires the **Azure Boards GitHub App** to be installed and configured for this repository.
|
|
|
|
## Current Status
|
|
|
|
❌ **Azure Boards app not installed** on `tftsr/apollo_nxt-trcaa`
|
|
- `AB#` references in titles/commits are not linked
|
|
- Manual URL links work: `https://dev.azure.com/tftsr/Apollo/_workitems/edit/727547`
|
|
|
|
## How Azure Boards + GitHub Integration Works
|
|
|
|
When properly configured:
|
|
1. `AB#727547` in PR title → Automatically converted to clickable link
|
|
2. `AB#727547` in commit message → Linked to work item
|
|
3. PR/commit status → Appears in ADO work item "Development" tab
|
|
4. PR merge → Can auto-transition work item state
|
|
|
|
## Setup Instructions
|
|
|
|
### Step 1: Install Azure Boards GitHub App
|
|
|
|
**Option A: Organization-Level Installation** (Recommended)
|
|
1. Go to: https://github.com/marketplace/azure-boards
|
|
2. Click **"Set up a plan"** or **"Install it for free"**
|
|
3. Select **tftsr** organization
|
|
4. Choose **"All repositories"** or select specific repos
|
|
5. Click **"Install"**
|
|
|
|
**Option B: Repository-Level Installation**
|
|
1. Go to: https://github.com/apps/azure-boards
|
|
2. Click **"Configure"**
|
|
3. Select **tftsr** organization
|
|
4. Under "Repository access", select **"Only select repositories"**
|
|
5. Choose **apollo_nxt-trcaa**
|
|
6. Click **"Save"**
|
|
|
|
### Step 2: Connect to Azure DevOps
|
|
|
|
1. After installation, you'll be redirected to Azure DevOps
|
|
2. Sign in with your TFTSR account: `VFK387@tftsr.com`
|
|
3. Select **Azure DevOps organization**: `dev.azure.com/tftsr`
|
|
4. Select **Project**: `Apollo`
|
|
5. Authorize the connection
|
|
|
|
### Step 3: Configure Repository Mapping
|
|
|
|
1. In Azure DevOps, go to: `https://dev.azure.com/tftsr/Apollo/_settings/boards-external-integration`
|
|
2. Click **"+ Add connection"**
|
|
3. Select **GitHub** as the source
|
|
4. Choose the repository: **tftsr/apollo_nxt-trcaa**
|
|
5. Configure settings:
|
|
- ✅ Enable **automatic work item linking**
|
|
- ✅ Enable **state transition on PR merge**
|
|
- ✅ Enable **mentions validation**
|
|
|
|
### Step 4: Verify Integration
|
|
|
|
After setup, test the integration:
|
|
|
|
```bash
|
|
# Create a test branch
|
|
git checkout -b test/azure-boards-link
|
|
|
|
# Create a commit with AB# reference
|
|
git commit --allow-empty -m "test: verify Azure Boards linking AB#727547"
|
|
|
|
# Push and create PR
|
|
git push -u origin test/azure-boards-link
|
|
gh pr create --title "Test: Azure Boards Integration AB#727547" --body "Testing AB# linking"
|
|
```
|
|
|
|
Expected results:
|
|
- ✅ `AB#727547` in PR title is a clickable link
|
|
- ✅ PR appears in ADO work item 727547 "Development" tab
|
|
- ✅ Commit with `AB#` appears in work item history
|
|
|
|
## Available Syntax
|
|
|
|
Once installed, these formats work:
|
|
|
|
### In PR Titles and Descriptions
|
|
```
|
|
AB#727547 # Basic link
|
|
Fixes AB#727547 # Closes work item on merge
|
|
Resolves AB#727547 # Closes work item on merge
|
|
Closes AB#727547 # Closes work item on merge
|
|
```
|
|
|
|
### In Commit Messages
|
|
```
|
|
git commit -m "feat: add feature AB#727547"
|
|
git commit -m "fix: resolve bug (fixes AB#727547)"
|
|
```
|
|
|
|
### Multiple Work Items
|
|
```
|
|
feat: implement features AB#727547 AB#744142
|
|
```
|
|
|
|
## State Transitions
|
|
|
|
Configure automatic state transitions on PR events:
|
|
|
|
| GitHub Event | ADO Work Item State Transition |
|
|
|--------------|--------------------------------|
|
|
| PR created with `AB#` | No change (or → Active) |
|
|
| PR merged with `Fixes AB#` | → Resolved or Closed |
|
|
| PR merged with `AB#` | No change (configurable) |
|
|
| PR closed without merge | No change |
|
|
|
|
## Current Workaround
|
|
|
|
Until Azure Boards app is installed, use full URLs:
|
|
|
|
**In PR Description** (already done in PR #27):
|
|
```markdown
|
|
**Work Item**: https://dev.azure.com/tftsr/Apollo/_workitems/edit/727547
|
|
```
|
|
|
|
**In Commits**:
|
|
```bash
|
|
git commit -m "feat: add feature
|
|
|
|
Work Item: https://dev.azure.com/tftsr/Apollo/_workitems/edit/727547"
|
|
```
|
|
|
|
## Benefits of Azure Boards Integration
|
|
|
|
### For Developers
|
|
- ✅ Quick navigation from PR to work item
|
|
- ✅ See all PRs/commits linked to a work item
|
|
- ✅ Automatic work item state updates
|
|
- ✅ Reduced manual ADO updates
|
|
|
|
### For Project Management
|
|
- ✅ Visibility into code changes per work item
|
|
- ✅ Traceability from requirement → code → deployment
|
|
- ✅ Automated status updates
|
|
- ✅ Better sprint velocity tracking
|
|
|
|
### For Compliance
|
|
- ✅ Audit trail of code changes per work item
|
|
- ✅ Traceability for security/compliance requirements
|
|
- ✅ Automated documentation of development activity
|
|
|
|
## Verification Commands
|
|
|
|
After installation, verify with:
|
|
|
|
```bash
|
|
# Check if Azure Boards app is installed
|
|
gh api repos/tftsr/apollo_nxt-trcaa/installation
|
|
|
|
# View PR with AB# reference
|
|
gh pr view 27
|
|
|
|
# Check work item in ADO for linked PRs
|
|
az boards work-item show --id 727547 --org https://dev.azure.com/tftsr | jq '.relations'
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### AB# Not Linking
|
|
**Problem**: `AB#727547` shows as plain text, not a link
|
|
|
|
**Solutions**:
|
|
1. Verify Azure Boards app is installed for the repo
|
|
2. Check Azure DevOps connection is active
|
|
3. Ensure repo is mapped in ADO project settings
|
|
4. Verify `AB#` format is correct (no spaces)
|
|
|
|
### PRs Not Appearing in ADO
|
|
**Problem**: PR created but doesn't show in work item "Development" tab
|
|
|
|
**Solutions**:
|
|
1. Check if `AB#` was in PR title or description
|
|
2. Verify ADO project connection is active
|
|
3. Wait 5-10 minutes for sync (can be delayed)
|
|
4. Manually link PR in ADO if needed
|
|
|
|
### State Transitions Not Working
|
|
**Problem**: PR merged but work item state unchanged
|
|
|
|
**Solutions**:
|
|
1. Verify state transition rules are configured in ADO
|
|
2. Check if `Fixes AB#` syntax was used (not just `AB#`)
|
|
3. Ensure PR was merged (not closed without merge)
|
|
4. Check ADO project settings for transition rules
|
|
|
|
## Security Considerations
|
|
|
|
- Azure Boards app requires **read/write** access to repos
|
|
- OAuth token is stored in Azure DevOps
|
|
- App can read PR content and commit messages
|
|
- All activity is logged in both GitHub and ADO audit logs
|
|
|
|
## References
|
|
|
|
- [Azure Boards GitHub App](https://github.com/marketplace/azure-boards)
|
|
- [Azure Boards + GitHub Integration Docs](https://learn.microsoft.com/en-us/azure/devops/boards/github/)
|
|
- [Work Item Linking Syntax](https://learn.microsoft.com/en-us/azure/devops/boards/github/link-to-from-github)
|
|
|
|
## Action Items
|
|
|
|
To enable `AB#` linking on this repo:
|
|
|
|
1. [ ] Install Azure Boards GitHub app on tftsr organization or apollo_nxt-trcaa repo
|
|
2. [ ] Connect to Azure DevOps (dev.azure.com/tftsr)
|
|
3. [ ] Map repository in Apollo project settings
|
|
4. [ ] Configure state transition rules (optional)
|
|
5. [ ] Test with a sample PR using `AB#` syntax
|
|
6. [ ] Update team documentation with `AB#` syntax usage
|
|
|
|
## Contact
|
|
|
|
For questions about Azure Boards integration or GitHub app installation:
|
|
- GitHub Organization Admins: @tftsr admins
|
|
- Azure DevOps Project Admins: Apollo project leads
|
|
- DevOps Team
|
|
|
|
---
|
|
|
|
**Last Updated**: 2026-06-02
|
|
**Status**: Azure Boards app not installed - manual URL links required
|
|
**Repository**: tftsr/apollo_nxt-trcaa
|
|
**ADO Organization**: dev.azure.com/tftsr
|
|
**ADO Project**: Apollo
|