65 lines
2.2 KiB
Markdown
65 lines
2.2 KiB
Markdown
---
|
|
type: plug
|
|
uri: github:silverbulletmd/silverbullet-github/github.plug.json
|
|
repo: https://github.com/silverbulletmd/silverbullet-github
|
|
author: Zef Hemel
|
|
share-support: true
|
|
---
|
|
|
|
<!-- #include [[https://raw.githubusercontent.com/silverbulletmd/silverbullet-github/main/README.md]] -->
|
|
# SilverBullet plug for Github
|
|
Provides various integrations with Github:
|
|
|
|
* Query sources for events, notifications and pull requests
|
|
* Ability to load and share pages as Gists
|
|
|
|
## Installation
|
|
Open your `PLUGS` note in SilverBullet and add this plug to the list:
|
|
|
|
```
|
|
- github:silverbulletmd/silverbullet-github/github.plug.json
|
|
```
|
|
|
|
Then run the `Plugs: Update` command and off you go!
|
|
|
|
## Configuration
|
|
To configure, add a `githubToken` key to your `SECRETS` page, this should be a [personal access token](https://github.com/settings/tokens):
|
|
|
|
```yaml
|
|
githubToken: your-github-token
|
|
```
|
|
|
|
## Query sources
|
|
|
|
* `gh-event` List events of a user
|
|
* `username`: the user whose events to query
|
|
* `gh-pull`: List pull requests in a repository
|
|
* `repo`: the repo to query PRs for
|
|
* `gh-search-issue`: Search for issues and pull requests
|
|
* `query`: [the search query](https://docs.github.com/en/rest/search#search-issues-and-pull-requests)
|
|
* `gh-notification` requires a `githubToken` to be configured in `SECRETS`.
|
|
|
|
## Share as Gist support
|
|
|
|
To use: navigate to a page, and run the {[Share: Gist: Public Gist]} command, this will perform an initial publish, and add a `$share` attribute to your page's front matter. Subsequent updates can be performed via {[Share: Publish]}.
|
|
|
|
To pull an *existing* gist into your space, use the {[Share: Gist: Load]} command and paste the URL to the gist.
|
|
## Example
|
|
|
|
Example uses of the query providers:
|
|
|
|
## Recent pushes
|
|
<!-- #query gh-event where username = "zefhemel" and type = "PushEvent" select type, actor_login, created_at, payload_ref limit 3 -->
|
|
|
|
<!-- /query -->
|
|
|
|
## Recent PRs
|
|
<!-- #query gh-pull where repo = "silverbulletmd/silverbullet" and user_login = "zefhemel" limit 3 render "template/gh-pull" -->
|
|
|
|
<!-- /query -->
|
|
|
|
Where the `template/gh-pull` looks as follows:
|
|
|
|
* ({{state}}) [{{title}}]({{html_url}})
|
|
<!-- /include -->
|