https://github.com/TheDanniCraft/activity-log
A GitHub Action that automatically updates your README file with the latest activity from your GitHub account. Customize the displayed events, set a limit on the number of events, and ignore specific event types. Ideal for keeping your personal README file current with recent contributions and changes.
https://github.com/TheDanniCraft/activity-log
activity bun github-action-javascript github-actions github-workflow hacktoberfest javascript profile-page profile-readme readme readme-profile
Last synced: 6 months ago
JSON representation
A GitHub Action that automatically updates your README file with the latest activity from your GitHub account. Customize the displayed events, set a limit on the number of events, and ignore specific event types. Ideal for keeping your personal README file current with recent contributions and changes.
- Host: GitHub
- URL: https://github.com/TheDanniCraft/activity-log
- Owner: TheDanniCraft
- License: mit
- Created: 2024-07-25T15:30:27.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-09-12T21:02:47.000Z (7 months ago)
- Last Synced: 2025-09-12T23:36:55.750Z (7 months ago)
- Topics: activity, bun, github-action-javascript, github-actions, github-workflow, hacktoberfest, javascript, profile-page, profile-readme, readme, readme-profile
- Language: JavaScript
- Homepage: https://github.com/marketplace/actions/readme-activity-update
- Size: 408 KB
- Stars: 8
- Watchers: 2
- Forks: 53
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Support: SUPPORT.md
Awesome Lists containing this project
- awesome-readme-tools - Activity Log - Dynamically display your recent github activity (Markdown or HTML). (GitHub Actions for Readmes)
README
Activity Log

A GitHub Action that automatically updates your README file with the latest activity from your GitHub account. Customize the displayed events, set a limit on the number of events, and ignore specific event types. Ideal for keeping your personal README file current with recent contributions and changes.
## ๐ ๏ธFeatures
- Customizable Event Limits
- Event Filtering
- Flexibility with Inputs
## โ๏ธ Example
1. ๐ฃ Commented on issue [#18](https://github.com/TheDanniCraft/clipify/issues/18) in [TheDanniCraft/clipify](https://github.com/TheDanniCraft/clipify): [View Comment](https://github.com/TheDanniCraft/clipify/issues/18#issuecomment-3285075808)
2. ๐ Committed to [TheDanniCraft/clipify](https://github.com/TheDanniCraft/clipify/commit/e2813a8b22e039adabe3b68251cef417778da39f)
3. ๐ Committed to a private repo
4. ๐ Merged a PR in a private repo
5. ๐ Committed to a private repo
6. ๐ Merged a PR in a private repo
7. ๐ Committed to [TheDanniCraft/clipify](https://github.com/TheDanniCraft/clipify/commit/1b083aae7533d58566b17862353cf3bc055e85ba)
8. ๐ Committed to [TheDanniCraft/clipify](https://github.com/TheDanniCraft/clipify/commit/49e5486f7949a5fd64e81c986a35aed85156eed8)
9. ๐ Committed to [TheDanniCraft/clipify](https://github.com/TheDanniCraft/clipify/commit/a4f2030ba8bd4f2d983f6b9eeb906d514a8d666a)
10. ๐ฅ Opened [PR #18](https://github.com/TheDanniCraft/clipify/pull/18) in [TheDanniCraft/clipify](https://github.com/TheDanniCraft/clipify)
## ๐Usage
### 1. Add Sections to `README.md`
Include the following placeholders in your `README.md` where you want the activity log to appear:
```markdown
```
For a reference example, you can view this [sample `README.md`](https://github.com/TheDanniCraft/activity-log/blob/master/README.md?plain=1#L20-L31).
### 2. Create a Personal Access Token
Quick Setup (Recommended)
1. To create a personal access token with the necessary permissions, click this [link to create a new token](https://github.com/settings/tokens/new?description=Github%20Activity%20Log%20(TheDanniCraft/activity-log)&scopes=repo). This link pre-fills the token description and scopes for your convenience.
2. On the token creation page, review the pre-filled data and set the expiration date to "Never".
3. Click "Generate token" and copy the token (be sure to save it as you wonโt be able to see it again).
Manual Setup
1. Go to your GitHub [Personal Access Tokens settings](https://github.com/settings/tokens).
2. Click on "Generate new token".
3. Provide a descriptive name for the token, such as `Github Activity Log (TheDanniCraft/activity-log)`.
4. Select the `repo` scope (recommended if you want private repo activity to show up).
5. Set the expiration date to "Never".
6. Click "Generate token" and copy the token (be sure to save it as you wonโt be able to see it again).
### 3. Add the Token as a Repository Secret
1. Navigate to your GitHub repository.
2. Go to "Settings" > "Secrets and variables" > "Actions".
3. Click "New repository secret".
4. Name the secret (e.g., `TOKEN`).
5. Paste the personal access token into the value field.
6. Click "Add secret".
### 4. Create the Workflow File
Create a new file in your repository under `.github/workflows/`, for example, `activity-log.yml`. Add the following content to this file:
```yml
# .github/workflows/update-activity.yml:
name: Update GitHub Activity
on:
schedule:
- cron: "*/30 * * * *" # Runs every 30 minutes
workflow_dispatch: # Allows manual triggering
jobs:
update-activity:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update GitHub Activity
uses: TheDanniCraft/activity-log@v1
with:
GITHUB_USERNAME: "thedannicraft"
GITHUB_TOKEN: ${{ secrets.TOKEN }} # Ensure this matches the secret name in repository settings
```
Take a look at all possible [Inputs](#inputs) for customization
The above job runs every half an hour, you can change it as you wish based on the [cron syntax](https://crontab.guru).
Please note that only those public events that belong to the following list show up:
- `CreateEvent`
- `PushEvent`
- `IssuesEvent`
- `opened`
- `edited`
- `closed`
- `reopened`
- `assigned`
- `unassigned`
- `labeled`
- `unlabeled`
- `PullRequestEvent`
- `opened`
- `edited`
- `closed`
- `merged`
- `reopened`
- `assigned`
- `unassigned`
- `review_requested`
- `review_request_removed`
- `labeled`
- `unlabeled`
- `synchronize`
- `ReleaseEvent`
- `ForkEvent`
- `CommitCommentEvent`
- `IssueCommentEvent`
- `PullRequestReviewEvent`
- `PullRequestReviewCommentEvent`
- `RepositoryEvent`
- `WatchEvent`
- `StarEvent`
- `PublicEvent`
- `GollumEvent`
You can find an example [here](https://github.com/TheDanniCraft/activity-log/blob/master/.github/workflows/update-activity.yml).
### Inputs
| **Input** | **Description** | **Required** | **Default** | **Possible Options** |
|---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------|-----------------------------------------|-----------------------------------------------------------------------------|
| `GITHUB_USERNAME` | Your GitHub username. | โ
| `-` | A valid GitHub username |
| `GITHUB_TOKEN` | Your GitHub token. | โ
| `-` | A valid GitHub access token (must belong to the specified GitHub username) |
| `EVENT_LIMIT` | The maximum number of events to display. | โ | `10` | Any positive integer (250 max.) |
| `OUTPUT_STYLE` | Specifies the format in which your output should be rendered.
Must be one of:
- `MARKDOWN`: Output in Markdown format
- `HTML`: Output in HTML format | โ | `MARKDOWN` | `MARKDOWN` or `HTML` |
| `IGNORE_EVENTS` | The events to ignore, specified as a JSON array. | โ | `[]` | JSON array of event types (e.g., `["PushEvent", "PullRequestEvent"]`) |
| `HIDE_DETAILS_ON_PRIVATE_REPOS` | Hide details (branch/tag name) on private repositories | โ | `false` | `true` or `false` |
| `README_PATH` | The path to your README file. | โ | `README.md` | Any valid file path |
| `COMMIT_MESSAGE` | Your commit message. | โ | `-` | Any valid commit message |
## ๐License
[MIT](https://choosealicense.com/licenses/mit/)
## โ๏ธAuthors
- [@thedannicraft](https://www.github.com/thedannicraft)