Module gitforge::hub[][src]

Expand description

GitHub client, talking to one GitHub instance

Based on the octocrab library, which we reexport in case you need it.

Tokens

The token is a Personal access token, as can be created via the web UI:

  • Top right user icon menu: Settings
  • Left sidebar: Developer settings
  • From menu on the left: Personal access tokens

Limitations

It is not possible to use the API to create a merge request where the source and target repository leafnames (the PROJECT part of USER/PROJECT) are not the same. This is a GitHub API limitation. It appears to be possible to create such MRs via the GitHub web UI, so programs must be prepared to deal with them.

Terminology and model - supplementary

  • Repository: a GitHub project. Identified by the string NAMESPACE/PROJECT eg USER/PROJECT.

  • Merge Request. a GitHub pull request. GitHub has confusing terminology: the gitforge source is the GitHub head and the gitforge target is the GitHub base.

  • User: a GitHub user or **organisation. Identified by the user or organisation slug.

Re-exports

pub use octocrab;

Structs

GitHub client, as Forge. Use Box<dyn Forge> instead.