GitHub Action
Bot Details
This GitHub Action allows you to quickly and easily get bot (GitHub App) basic details like name, email, author/committer, ... in a proper GitHub format to use in the subsequence steps for automation like git commit/push, open PR, etc.
- Action is platform-independent and tested on all the latest GitHub-hosted runners (
ubuntu-latest
,macos-latest
,windows-latest
).
Just place in your GitHub workflow steps:
- name: Bot Details
id: bot-details
uses: raven-actions/bot-details@v1
- name: Bot Details outputs
run: |
echo "ID: ${{ steps.bot-details.outputs.id }}"
echo "Slug name: ${{ steps.bot-details.outputs.slug }}"
echo "Display name: ${{ steps.bot-details.outputs.name }}"
echo "Email: ${{ steps.bot-details.outputs.email }}"
echo "Name Email: ${{ steps.bot-details.outputs.name-email }}"
echo "HTML URL: ${{ steps.bot-details.outputs.html-url }}"
echo "API URL: ${{ steps.bot-details.outputs.api-url }}"
Example output with default settings:
- ID:
41898282
- Slug name:
github-actions
- Display name:
github-actions[bot]
- Email:
41898282+github-actions[bot]@users.noreply.github.com
- Name Email:
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- HTML URL:
https://github.com/apps/github-actions
- API URL:
https://api.github.com/users/github-actions%5Bbot%5D
Use the action's output in the subsequence steps
- name: Bot Details
id: bot-details
uses: raven-actions/bot-details@v1
with:
bot-slug-name: dependabot # (optional) if not specified then default one is 'github-actions'
- name: Bot Details outputs
run: |
echo "ID: ${{ steps.bot-details.outputs.id }}"
echo "Slug name: ${{ steps.bot-details.outputs.slug }}"
echo "Display name: ${{ steps.bot-details.outputs.name }}"
echo "Email: ${{ steps.bot-details.outputs.email }}"
echo "Name Email: ${{ steps.bot-details.outputs.name-email }}"
echo "HTML URL: ${{ steps.bot-details.outputs.html-url }}"
echo "API URL: ${{ steps.bot-details.outputs.api-url }}"
Use environment variables in the subsequence steps.
- name: Bot Details
uses: raven-actions/bot-details@v1
with:
bot-slug-name: my-gh-app # (optional) if not specified then default one is 'github-actions'
- name: Bot Details outputs
run: |
echo "ID: ${{ env.BOT_ID }}"
echo "Slug name: ${{ env.BOT_SLUG }}"
echo "Display name: ${{ env.BOT_NAME }}"
echo "Email: ${{ env.BOT_EMAIL }}"
echo "Name Email: ${{ env.BOT_NAME_EMAIL }}"
echo "HTML URL: ${{ env.BOT_HTML_URL }}"
echo "API URL: ${{ env.BOT_API_URL }}"
Use environment variables with custom environment prefix in the subsequence steps.
Environment prefix will be upper-cased and striped from any special characters. A double underscore
__
is placed between environment prefix and env name.
- name: Bot Details
uses: raven-actions/bot-details@v1
with:
env-prefix: myEnvPrefix # (optional) if not specified then no prefix
- name: Bot Details outputs
run: |
echo "ID: ${{ env.MYENVPREFIX__BOT_ID }}"
echo "Slug name: ${{ env.MYENVPREFIX__BOT_SLUG }}"
echo "Display name: ${{ env.MYENVPREFIX__BOT_NAME }}"
echo "Email: ${{ env.MYENVPREFIX__BOT_EMAIL }}"
echo "Name Email: ${{ env.MYENVPREFIX__BOT_NAME_EMAIL }}"
echo "HTML URL: ${{ env.MYENVPREFIX__BOT_HTML_URL }}"
echo "API URL: ${{ env.MYENVPREFIX__BOT_API_URL }}"
Below are examples based on existing actions.
Example with Git Auto Commit action.
- name: Git Auto Commit
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_user_name: ${{ steps.bot-details.outputs.name }}
commit_user_email: ${{ steps.bot-details.outputs.email }}
commit_author: ${{ steps.bot-details.outputs.name-email }}
Example with Create Pull Request action.
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
committer: ${{ steps.bot-details.outputs.name-email }}
author: ${{ steps.bot-details.outputs.name-email }}
Name | Required | Type | Default | Description |
---|---|---|---|---|
bot-slug-name |
false | string |
github-actions |
Bot slug name (GitHub App name) |
env-prefix |
false | string |
not set | Prefix for environment variables |
github-token |
false | string |
github.token |
GitHub token to use for API authentication |
Name | Type | Description |
---|---|---|
id |
number |
Bot ID |
slug |
string |
Bot slug name |
name |
string |
Bot display name |
email |
string |
Bot GitHub formatted email |
name-email |
string |
Bot GitHub formatted name and email |
html-url |
string |
Bot HTML URL |
api-url |
string |
Bot API URL |
Contributions to the project are welcome! Please follow Contributing Guide.
This project is distributed under the terms of the MIT license.