This R package was written mostly by by Gemini 2.5 Pro and Claude Opus. I wanted to test out their R skills. Gemini did very well except when I asked it to write tests, when it went off the rails. Claude wrote me a function to deploy a remote GitHub Action from my local Windows PC - I needed this for another project I'm working on - and I decided to add that function here as well.
The actionsMonitoR R package was created to allow GitHub users to monitor the status their GitHub Actions across all repositories in an account. As far as I know, you can't do this in the GitHub Web UI; you can only look repo by repo, which is somewhat onerous if you have more than a few repositories in your account.
actionsMonitoR provides one function to fetch the latest status of every workflow and another to display the results in an interactive dashboard table.
Gemini's write-up (with light editing):
- Fetches the latest run status for every workflow in every repository in your account.
- Provides live console feedback as it processes your repositories.
- Includes details like the trigger event (
schedule,push, etc.), conclusion status (success,failure), and last run time. - A dedicated formatting function to create a polished, interactive dashboard with
reactable.
You can install the development version of actionsMonitoR from GitHub with:
# install.packages("remotes")
remotes::install_github("smach/actionsMonitor", build_vignettes = TRUE)To access your repository data (especially for private repos), this package requires a GitHub Personal Access Token (PAT).
- Create a PAT: Follow the official GitHub instructions to create a "fine-grained" token.
- Repository access: Select "All repositories".
- Permissions: Under "Repository permissions", set Actions to "Read-only".
- Store the PAT: The best way to store your PAT for R is using the
gitcredspackage. Run the following command in your R console and paste your PAT when prompted.# install.packages("gitcreds") gitcreds::gitcreds_set()
The primary workflow involves two simple steps: fetching the data and then formatting it for display.
library(actionsMonitoR)
# 1. Fetch the data for all your repositories
# This will print live feedback to your console.
actions_data <- fetch_actions_data()
# 2. Display the data in an interactive dashboard
format_actions_dashboard(actions_data)To kick off a GitHub Action from your local system:
trigger_github_action("user_name/repo_name", "workflow_name.yml")