Creora
All pages · GitHub

Connect GitHub

If you keep code on GitHub, Creora can bring a repository in as a new project and send a project back as one commit. You need a GitHub account and one token that you make yourself; Creora has no login of its own. This only exists if your Creora offers it, and where it does not the GitHub card says so.

Make a token

On GitHub, open your account settings, then Developer settings, then Personal access tokens, then Fine grained tokens, and press Generate new token. The card in Creora has a Create a token on GitHub link that goes straight there.

  1. Name the token and choose how long it should last. Creora tells you when it is close to expiring.
  2. Choose which repositories it may reach. All of them, or only the ones you name; a token can reach nothing else.
  3. Give it permissions. Contents, read is enough to import a repository into Creora. Contents, read and write is what pushing needs. Administration, read and write, on your account rather than a repository, is only needed if you want Creora to create a new repository for you. Metadata read comes with any of these on its own.
  4. Press Generate and copy the token. GitHub shows it once.

A classic token works as well, but its repository scope reaches every private repository you can see, and Creora cannot narrow a token it was handed. The card says so when you connect one.

Paste it into Creora

Go to Settings → GitHub, put the token in Personal access token and press Connect. Creora checks it with GitHub before storing it, keeps it encrypted, and never shows it again.

The card then reads "Connected as" with your GitHub name and the last four characters of the token, and lists the Scopes GitHub reported and the Expiry. To swap a token, paste the new one into Replace the token and press Replace token.

Import a repository

Press Import on your projects page, or the Import from GitHub tile on the dashboard.

  1. Choose a repository under Search your repositories. Only your 300 most recently updated ones are listed; for anything else, type it into Or enter owner/repo and press Use.
  2. Choose a Branch.
  3. Press Check what will import. Creora reads the repository without downloading it.
  4. Read the plan. It says how many files and how many bytes will come across, from which repository and at which commit, and how many are being left behind. Open What was left behind, and why to see those grouped by reason.
  5. Type a Project name and press the Import button, which names the number of files.

A Creora project holds 200 files of at most 200 KB each and 2 MB in total, and it runs in the browser, so a real repository never arrives whole. Left behind are build and dependency folders, lockfiles, pictures and anything else that is not text, paths with spaces or brackets, files over 200 KB, and whatever does not fit the budget once the application code has been taken first. Nothing is rewritten to make it fit.

An import always makes a new project, never adds to one you already have, and writes nothing back to GitHub. From there it is an ordinary project: see building. If no main app file is coming across, the plan warns you, and the preview says so until you or the agent adds one.

Push a project to GitHub

Open the project and press Push, or Push to GitHub in the menu on a narrow screen. Then choose where it goes.

  • A repository I already have. Pick it the same way as for an import. One the token cannot write to is shown as Read only and cannot be chosen.
  • A new repository. Type a Repository name and leave Private repository on, or turn it off. Creating it is what needs Administration on the token.

Then set a Branch and a Commit message and press Push. Creora sends one commit holding every file in the project, and GitHub attributes it to you, so verified commits and organisation rules go on working.

A push adds and overwrites, and Creora never deletes anything in the repository. A file you deleted in Creora stays there, and so does everything GitHub already holds that Creora has no copy of: workflows, the licence, documentation. The dialog says this above the button.

When the branch has moved

If anything landed on that branch after Creora last saw it, the push stops and says the branch has moved on GitHub. Creora will not overwrite what is there and it cannot merge, so it offers the two honest choices:

  • Push on top of the latest reads where the branch is now and puts your commit on top of it.
  • Push to creora/<name> puts your commit on a branch of its own and leaves the original alone.

A link beside them opens the branch on GitHub, so you can see what changed before deciding.

A push is also refused while the agent is running. Wait for the run to finish and press Push again.

Remove the token

Go to Settings → GitHub and press Disconnect. Importing and pushing stop working straight away, and nothing already imported or pushed is touched. If you want the token gone for good, delete it on GitHub too.

If something goes wrong

  • "GitHub rejected that token." It has expired or been revoked. Make a new one and connect it.
  • "GitHub refused this." The token is missing a permission for that repository, or the repository belongs to an organisation that has to approve the token first.
  • "GitHub is rate limiting this token." GitHub is counting requests; the message says how long to wait.
  • "That branch has moved on GitHub since Creora last saw it." See the section above.