OWASP / OWASP/Nest

Extend Module Assignment Functionality with GitHub API Integration

Open
#2,861 8 comments 0 reactions 0 assignees View on GitHub
backend backend-tests bug enhancement level 3
Dominant language
Python
Stars
451
Forks
707
Avg merge
22h 59m
Merged PRs (30d)
91

Description

Currently, the mentorship portal allows modules to have GitHub issues attached and displays which issues are available. Users can be assigned to issues **within our platform**, but this assignment does **not propagate to GitHub**.

The goal of this task is to extend the assignment functionality so that when a user is assigned to a module issue on our platform, they are **also assigned to the corresponding GitHub issue** via the GitHub API/

---

### **Requirements**

#### **Backend**
- When a user is assigned to a module issue in the portal:
- Check if the module issue is linked to a GitHub issue.
- Trigger GitHub API call to assign the user to the corresponding GitHub issue.
- Handle GitHub API errors gracefully (e.g., invalid username, rate limits, network issues).

#### **Frontend**
- No major UI changes required, but ensure any errors from GitHub assignment are surfaced (e.g., toast message) without blocking the platform assignment.
- Indicate whether the GitHub assignment was successful via toast.

#### **Validation / Permissions**
- Only users with the appropriate permissions (e.g., mentors/admins) can trigger GitHub assignments.
- **Repository-Module Validation:** The GitHub issue’s repository must match the module’s project repository; otherwise, prevent assignment and show an error.

#### **Testing**
- Unit tests for backend assignment logic and GitHub API integration.
- Test edge cases like invalid GitHub usernames, network failures, and partial failures (platform assignment succeeds, GitHub fails).
- End-to-end test to confirm that assigning a user in the portal also triggers GitHub assignment (if possible)

Contributor guide

Open the contributing guide

Research direction

Start at the existing module-issue assignment flow and its GitHub issue linkage, then trace the backend assignment handler and frontend error or toast handling. Verify repository matching, permissions, graceful partial failures, and GitHub API errors with unit tests, then run the end-to-end assignment test if available. Done means platform assignment remains reliable while GitHub assignment reports success or failure clearly.

Written by the indexing model from the issue text.

Assessment

Tech stack
django, github, python, react, typescript
Domain
api, authorization, full-stack, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.