Skip to content

API support for columns #31769

Open
@eyad-hussein

Description

@eyad-hussein

Feature Description

I looked for a similar issue or a PR that tackled this feature and indeed found this issue #14299 and a PR that mentions it #28111. In addition to adding the columns endpoints, I also wanted to add two endpoints for projects, one that changes the status of the project from open to close and another for moving issues/prs from a project to another.

These are the endpoints I would like to include + the ones in the mentioned PR if that is fine.

Projects:

  • PATCH /projects/{project_id}/{action:close|open} // change project status from open to close and vice versa -- not in github api
  • PUT /repos/{owner}/{repo}/projects/{type:issues|pulls} // move(assign) issues between projects in repository -- not in github api

Columns:

  • GET /projects/columns/{column_id}

  • PATCH /projects/columns/{column_id}

  • DELETE /projects/columns/{column_id}

  • GET /projects/{project_id}/columns

  • POST /projects/{project_id}/columns

  • PATCH /projects/{project_id}/columns/move // moves(sorts) columns inside a project -- not in github api

  • PATCH /projects/{project_id}/columns/{column_id}/move // moves(sorts) issues in column -- not in github api

  • PUT /projects/columns/{column_id}/default // sets a default column -- not in github api

Implementation details:

  • Create a columnAssignment middleware similar to the middlewares already implemented(eg orgAssignment) to extract the ContextUser. After that, the other middlewares will check if the doer has the necessary permissions to execute the request.
  • Create necessary handlers for each endpoint

Screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic/apiConcerns mainly the APItype/proposalThe new feature has not been accepted yet but needs to be discussed first.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions