go-github icon indicating copy to clipboard operation
go-github copied to clipboard

Codespaces

Open josebalius opened this issue 2 years ago • 14 comments

I am planning on implementing support for Codespaces, see: https://docs.github.com/en/rest/codespaces

Using this issue to track that work. A couple of questions:

  • Do we prefer one large PR with the whole API implementation or multiple PRs?
  • Do we prefer to have multiple issues?

Thanks!

josebalius avatar May 07 '22 15:05 josebalius

  • Do we prefer one large PR with the whole API implementation or multiple PRs?

I would prefer a bunch of smaller PRs if it is all the same with you.

  • Do we prefer to have multiple issues?

I'm fine with a single issue.

When we have a lot of things to work on, we often use checkboxes in a single issue like this:

  • [ ] item 1
  • [ ] item 2

etc... feel free to use them if you find it helpful to keep you organized. You are welcome to use this issue or open a new one. You can also go back and edit your first entry if you wish... totally up to you.

Thank you, @josebalius ! We appreciate your contributions!

gmlewis avatar May 07 '22 19:05 gmlewis

@josebalius any progress on this?

gsmachado avatar Oct 26 '22 15:10 gsmachado

@gsmachado I started it but never really got into it much. Are you interested in taking over the issue or in the functionality?

josebalius avatar Oct 27 '22 11:10 josebalius

@josebalius I'm developing something that would need the codespaces API. If I progress with the implementation directly on the go-github repo, I will submit a PR. 😄

gsmachado avatar Oct 27 '22 11:10 gsmachado

@josebalius do you have any branch with your preliminary code?

gsmachado avatar Jan 30 '23 12:01 gsmachado

I have some code locally that I haven't pushed up. Are you interested in it?

josebalius avatar Jan 31 '23 12:01 josebalius

Can you push up whatever you came up with?

artificial-aidan avatar May 16 '23 19:05 artificial-aidan

I started with some simple implementation of codespace management. I'll post the punchlist below. Happy to split it into a new issue as well.

artificial-aidan avatar Jun 09 '23 16:06 artificial-aidan

  • [ ] Codespaces
    • [x] List codespaces in a repository for the authenticated user
    • [x] Create a codespace in a repository
    • [ ] List devcontainer configurations in a repository for the authenticated user
    • [ ] Get default attributes for a codespace
    • [ ] Create a codespace from a pull request
    • [x] List codespaces for the authenticated user
    • [ ] Create a codespace for the authenticated user
    • [ ] Get a codespace for the authenticated user
    • [ ] Update a codespace for the authenticated user
    • [x] Delete a codespace for the authenticated user
    • [ ] Export a codespace for the authenticated user
    • [ ] Get dtails about a codespace export
    • [ ] Create a repository from an unpublished codespace
    • [x] Start a codespace for the authenticated user
    • [x] Stop a codespace for the authenticated user
  • [ ] Organizations
    • [ ] List codespaces for the organization
    • [ ] Manage access control for organization codespaces
    • [ ] Add users to codespaces billing for an organization
    • [ ] Remove users from Codespaces billing for an organization
    • [ ] List codespaces for a user in organization
    • [ ] Delete a codespace from the organization
    • [ ] Stop a codespace for an organization user
  • [x] Organization secrets
    • [x] List organization secrets
    • [x] Get an organization public key
    • [x] Get an organization secret
    • [x] Creat or update an organization secret
    • [x] Delete an organization secret
    • [x] List selected repositories for an organization secret
    • [x] Set selected repositories for an organization secret
    • [x] Add selected repository to an organization secret
    • [x] Remove selected repository from an organization secret
  • [ ] Machines
    • [ ] List available machine types for a repository
    • [ ] List machine types for a codespace
  • [x] Repository Secrets
    • [x] List repository secrets
    • [x] Get a repository public key
    • [x] Get a repository secret
    • [x] Create or update a repository secret
    • [x] Delete a repository secret
  • [x] User secrets
    • [x] List secrets for the authenticated user
    • [x] Get public key for the authenticated user
    • [x] Get a secret for the authenticated user
    • [x] Create or update a secret for the authenticated user
    • [x] Delete a secret for the authenticated user
    • [x] List selected repositories for a user secret
    • [x] Set selected repositories for a user secret
    • [x] Add a selected repository to a user secret
    • [x] Remove a selected repository from a user secret

artificial-aidan avatar Jun 09 '23 16:06 artificial-aidan

@gmlewis I have another branch for secret management, but still waiting on getting the CLA signed. Should I push that commit to the open PR I have, or just wait until I can get the first one merged.

artificial-aidan avatar Jun 09 '23 19:06 artificial-aidan

Your call... whichever is most convenient for you. I'm fine either way.

gmlewis avatar Jun 09 '23 20:06 gmlewis

The impact area was pretty small. I'll add them to the existing PR while waiting for CLA followup

artificial-aidan avatar Jun 09 '23 20:06 artificial-aidan

Nice, also looking forward to this one. Its needed for the terraform provider

KenSpur avatar Jun 14 '23 14:06 KenSpur

I got the CLA approved, just working through getting me added to it.

artificial-aidan avatar Jun 14 '23 14:06 artificial-aidan