Gitea project management expansion #81

Open
opened 2024-07-28 09:07:57 +00:00 by thabeta · 1 comment
Member

Currently, gitea's API has limited support for project management. We need to expand the API to cover all aspects of project management within gitea, including creating, updating, and managing projects, columns, and cards. This expansion will allow for better integration with external tools

Tasks:

  1. Review current API endpoints related to projects

  2. Identify missing functionalities in the current API

  3. Design new API endpoints to cover all project management features

  4. Update Swagger/OpenAPI specification if used

  5. Implement new API endpoints:

    • Project CRUD operations
    • Column CRUD operations
    • Card CRUD operations
    • Move cards between columns
    • Attach issues/pull requests to cards
    • Get project statistics
    • Create a new repo based on another repo what we call template repo
      This similar to initializing the repo with initial set of files + labels
    • Fix a repo based on another repo e.g reapplying all of the labels from another repo
  6. Update API documentation

Notes

  • Support for organization-wide projects (if that how it works in gitea?)
  • Pagination for list endpoints
  • Filtering and sorting options for list endpoints

https://github.com/threefoldtech/home/issues/1558

Currently, gitea's API has limited support for project management. We need to expand the API to cover all aspects of project management within gitea, including creating, updating, and managing projects, columns, and cards. This expansion will allow for better integration with external tools ## Tasks: 1. Review current API endpoints related to projects 2. Identify missing functionalities in the current API 3. Design new API endpoints to cover all project management features 4. Update Swagger/OpenAPI specification if used 5. Implement new API endpoints: - Project CRUD operations - Column CRUD operations - Card CRUD operations - Move cards between columns - Attach issues/pull requests to cards - Get project statistics - Create a new repo based on another repo `what we call template repo` This similar to initializing the repo with initial set of files + labels - Fix a repo based on another repo `e.g reapplying all of the labels` from another repo 6. Update API documentation ## Notes - Support for organization-wide projects (if that how it works in gitea?) - Pagination for list endpoints - Filtering and sorting options for list endpoints https://github.com/threefoldtech/home/issues/1558
thabeta added this to the tfgrid_3_16 project 2024-07-28 09:58:51 +00:00
thabeta self-assigned this 2024-07-28 09:59:05 +00:00
thabeta removed their assignment 2024-07-28 09:59:32 +00:00
thabeta self-assigned this 2024-07-28 10:16:18 +00:00
thabeta added the
Story
label 2024-07-28 10:18:49 +00:00
thabeta added the due date 2024-08-07 2024-07-28 15:51:45 +00:00
Author
Member

still refactoring endpoints to comply with github api

ENDPOINTS implemented:
GET /orgs/{org}/projects
POST /orgs/{org}/projects

GET /projects/{project_id}
PATCH /projects/{project_id}
DELETE /projects/{project_id}
PATCH /projects/{project_id}/{action}

GET /repos/{owner}/{repo}/projects
POST /repos/{owner}/{repo}/projects
PUT /repos/{owner}/{repo}/projects/{type:issues|pulls}

POST /user/projects
GET /users/{username}/projects

GET /projects/columns/{column_id}
PATCH /projects/columns/{column_id}
DELETE /projects/columns/{column_id}

PATCH /projects/{project_id}/columns/{column_id}/move
POST /projects/columns/{column_id}/default

GET /projects/{project_id}/columns
POST /projects/{project_id}/columns
PATCH /projects/{project_id}/columns/move

still refactoring endpoints to comply with github api ENDPOINTS implemented: GET /orgs/{org}/projects POST /orgs/{org}/projects GET /projects/{project_id} PATCH /projects/{project_id} DELETE /projects/{project_id} PATCH /projects/{project_id}/{action} GET /repos/{owner}/{repo}/projects POST /repos/{owner}/{repo}/projects PUT /repos/{owner}/{repo}/projects/{type:issues|pulls} POST /user/projects GET /users/{username}/projects GET /projects/columns/{column_id} PATCH /projects/columns/{column_id} DELETE /projects/columns/{column_id} PATCH /projects/{project_id}/columns/{column_id}/move POST /projects/columns/{column_id}/default GET /projects/{project_id}/columns POST /projects/{project_id}/columns PATCH /projects/{project_id}/columns/move
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

2024-08-07

Dependencies

No dependencies set.

Reference: tfgrid/circle_engineering#81
No description provided.