Content-Length: 287438 | pFad | http://github.com/XAMPPRocky/octocrab/issues/417

E3 Add Projects API · Issue #417 · XAMPPRocky/octocrab · GitHub
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

Add Projects API #417

Open
aviramha opened this issue Jul 18, 2023 · 9 comments
Open

Add Projects API #417

aviramha opened this issue Jul 18, 2023 · 9 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@aviramha
Copy link

It seems that the Projects API isn't implemented. Can be extremely useful!

@XAMPPRocky
Copy link
Owner

Thank you for your issue! I don't have the time to add it myself, but I would be happy to review and accept a PR adding it. 🙂 If you want to the conventions, generally all you have to do is look at octokit's API, as we try to be similar where possible so it's recognisable for developers.

@XAMPPRocky XAMPPRocky added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers labels Jul 18, 2023
@Jake-Mok-Nelson
Copy link

Jake-Mok-Nelson commented Aug 9, 2023

Would this use the REST API for the "classic" implementation or the preferred GraphQL client?

Classic: https://docs.github.com/en/rest/projects/projects?apiVersion=2022-11-28

GraphQL: https://docs.github.com/en/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects

Looking at the restful API:

Org Projects

  • projects: GET /orgs/{org}/projects
  • projects: POST /orgs/{org}/projects

Projects

  • projects: GET /projects/{project_id}
  • projects: PATCH /projects/{project_id}
  • projects: DELETE /projects/{project_id}
  • projects: GET /repos/{owner}/{repo}/projects
  • projects: POST /repos/{owner}/{repo}/projects

User Projects

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

Cards

  • cards: GET /projects/columns/cards/{card_id}
  • cards: PATCH /projects/columns/cards/{card_id}
  • cards: DELETE /projects/columns/cards/{card_id}
  • cards: POST /projects/columns/cards/{card_id}/moves
  • cards: GET /projects/columns/{column_id}/cards
  • cards: POST /projects/columns/{column_id}/cards

Collaborators

  • collaborators: GET /projects/{project_id}/collaborators
  • collaborators: PUT /projects/{project_id}/collaborators/{username}
  • collaborators: DELETE /projects/{project_id}/collaborators/{username}
  • collaborators: GET /projects/{project_id}/collaborators/{username}/permission

Columns

  • columns: GET /projects/columns/{column_id}
  • columns: PATCH /projects/columns/{column_id}
  • columns: DELETE /projects/columns/{column_id}
  • columns: POST /projects/columns/{column_id}/moves
  • columns: GET /projects/{project_id}/columns
  • columns: POST /projects/{project_id}/columns

@XAMPPRocky
Copy link
Owner

Would this use the REST API for the "classic" implementation or the preferred GraphQL client?

The REST API, if people want to use GraphQL they can through the graphql method.

@gabrielecodes
Copy link
Contributor

Hi, I like the api, I stumbled upon it a couple of weeks ago due to a personal project. I'd like to contribute filling out some of the boxes above.

@XAMPPRocky
Copy link
Owner

@gabrielecodes Great feel free to make a PR and I will review it when I have time 🙂

@Jake-Mok-Nelson
Copy link

I looked at this briefly and I think the part I got confused on is that a card should be able to reference a user but the user API isn't implemented. Could that be the case or perhaps I've misunderstood?

@gabrielecodes gabrielecodes mentioned this issue Aug 21, 2023
9 tasks
@gabrielecodes
Copy link
Contributor

PR #447 adds interfaces to the REST api for org projects, projects and user projects. I added mock tests. I don't have an "old" style GH project to test the (REST) api, so let me know how you want to proceed.

@XAMPPRocky
Copy link
Owner

I looked at this briefly and I think the part I got confused on is that a card should be able to reference a user but the user API isn't implemented. Could that be the case or perhaps I've misunderstood?

I think it depends on what is needed, we do have some of the user schema such as Author already available, but obviously if we're missing other parts those need to be added too.

I don't have an "old" style GH project to test the (REST) api, so let me know how you want to proceed.

That's fine, I've approved the CI run, please do remember to un-draft your PR when you think it's ready to be merged, as I don't tend to put review time into drafts.

@gabrielecodes
Copy link
Contributor

I fixed the doc tests, I think the PR is ready to be reviewed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/XAMPPRocky/octocrab/issues/417

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy