Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

expand gitea's project management APIs #1558

Open
xmonader opened this issue Jul 8, 2024 · 4 comments
Open

expand gitea's project management APIs #1558

xmonader opened this issue Jul 8, 2024 · 4 comments
Assignees
Milestone

Comments

@xmonader
Copy link
Contributor

xmonader commented Jul 8, 2024

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
@xmonader
Copy link
Contributor Author

initial support eyad-hussein/gitea#1

temp live instance http://185.206.122.152:3000/api/swagger#/project

@eyad-hussein eyad-hussein self-assigned this Jul 31, 2024
@eyad-hussein
Copy link

eyad-hussein commented Jul 31, 2024

  • refactor endpoints to comply with github api
  • introduce new logic to handle project and column assignment
  • refactor everything and removed unnecessary code
  • updated api documentation

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

@xmonader
Copy link
Contributor Author

@Omarabdul3ziz status

@xmonader xmonader modified the milestones: 3.15, 3.16 Sep 29, 2024
@Omarabdul3ziz
Copy link
Contributor

Omarabdul3ziz commented Sep 29, 2024

work is done at this pr go-gitea/gitea#31768

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants