chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
---
|
||||
title: GitHub Actions
|
||||
sidebarTitle: GitHub Actions
|
||||
description: Automatically refresh your Context7 library when your docs change
|
||||
---
|
||||
|
||||
Keep your Context7 documentation in sync by triggering a refresh whenever you push to your main branch.
|
||||
|
||||
## Setup
|
||||
|
||||
<Steps>
|
||||
<Step title="Get your API key">
|
||||
Go to your [Context7 dashboard](https://context7.com/dashboard) and copy your API key.
|
||||
</Step>
|
||||
<Step title="Add the API key as a repository secret">
|
||||
In your GitHub repository, go to **Settings** → **Secrets and variables** → **Actions** and add a new secret:
|
||||
|
||||
| Name | Value |
|
||||
|------|-------|
|
||||
| `CONTEXT7_API_KEY` | Your API key from the Context7 dashboard |
|
||||
</Step>
|
||||
<Step title="Create the workflow file">
|
||||
Add the following file to your repository at `.github/workflows/context7-refresh.yml`:
|
||||
|
||||
```yaml
|
||||
name: Refresh Context7 Docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master # change to your default branch if different
|
||||
|
||||
jobs:
|
||||
refresh:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Trigger Context7 Refresh
|
||||
run: |
|
||||
curl -s -X POST https://context7.com/api/v1/refresh \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer ${{ secrets.CONTEXT7_API_KEY }}" \
|
||||
-d '{"libraryName": "/${{ github.repository }}"}'
|
||||
```
|
||||
|
||||
This uses `${{ github.repository }}` to automatically resolve to your repository's `owner/repo` (e.g., `vercel/next.js`). If your library ID on Context7 differs from your GitHub repository name, replace it with the correct value (e.g., `/your-org/your-repo`).
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Refreshing a Specific Branch
|
||||
|
||||
To refresh a non-default branch, add the `branch` field to the request body. The `branch` value must match a branch name that already exists on your library in Context7.
|
||||
|
||||
```yaml
|
||||
- name: Trigger Context7 Refresh
|
||||
run: |
|
||||
curl -s -X POST https://context7.com/api/v1/refresh \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer ${{ secrets.CONTEXT7_API_KEY }}" \
|
||||
-d '{"libraryName": "/your-org/your-repo", "branch": "v2"}'
|
||||
```
|
||||
|
||||
<Note>
|
||||
If the branch has not been added to your library on Context7, the refresh will fail with a `branch_not_found` error.
|
||||
</Note>
|
||||
|
||||
## Private Repositories
|
||||
|
||||
For private repositories, include a `gitToken` so Context7 can access your code:
|
||||
|
||||
```yaml
|
||||
- name: Trigger Context7 Refresh
|
||||
run: |
|
||||
curl -s -X POST https://context7.com/api/v1/refresh \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer ${{ secrets.CONTEXT7_API_KEY }}" \
|
||||
-d '{"libraryName": "/your-org/your-repo", "gitToken": "${{ secrets.GIT_ACCESS_TOKEN }}"}'
|
||||
```
|
||||
|
||||
<Note>
|
||||
Private sources require a Pro or Enterprise plan. See the [Private Sources](/howto/private-sources) guide for more details.
|
||||
</Note>
|
||||
Reference in New Issue
Block a user