Note: GitHub Actions was available for GitHub Enterprise Server 2.22 as a limited beta. The beta has ended. GitHub Actions is now generally available in GitHub Enterprise Server 3.0 or later. For more information, see the GitHub Enterprise Server 3.0 release notes.
- For more information about upgrading to GitHub Enterprise Server 3.0 or later, see "Upgrading GitHub Enterprise Server."
- For more information about configuring GitHub Actions after you upgrade, see the documentation for GitHub Enterprise Server 3.0.
Note: GitHub-hosted runners are not currently supported on GitHub Enterprise Server. You can see more information about planned future support on the GitHub public roadmap.
Introduction
This tutorial demonstrates how to use the imjohnbo/issue-bot
action to create an issue on a regular basis. For example, you can create an issue each week to use as the agenda for a team meeting.
In the tutorial, you will first make a workflow file that uses the imjohnbo/issue-bot
action. Then, you will customize the workflow to suit your needs.
Creating the workflow
-
Choose a repository where you want to apply this project management workflow. You can use an existing repository that you have write access to, or you can create a new repository. For more information about creating a repository, see "Creating a new repository."
-
In your repository, create a file called
.github/workflows/YOUR_WORKFLOW.yml
, replacingYOUR_WORKFLOW
with a name of your choice. This is a workflow file. For more information about creating new files on GitHub, see "Creating new files." -
Copy the following YAML contents into your workflow file.
YAML # This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. name: Weekly Team Sync on: schedule: - cron: 20 07 * * 1 jobs: create_issue: name: Create team sync issue runs-on: ubuntu-latest steps: - name: Create team sync issue uses: imjohnbo/issue-bot@3daae12aa54d38685d7ff8459fc8a2aee8cea98b with: assignees: "monalisa, doctocat, hubot" labels: "weekly sync, docs-team" title: "Team sync" body: | ### Agenda - [ ] Start the recording - [ ] Check-ins - [ ] Discussion points - [ ] Post the recording ### Discussion Points Add things to discuss below - [Work this week](https://github.com/orgs/github/projects/3) pinned: false close-previous: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
Customize the parameters in your workflow file:
- Change the value for
on.schedule
to dictate when you want this workflow to run. In the example above, the workflow will run every Monday at 7:20 UTC. For more information about scheduled workflows, see "Scheduled events." - Change the value for
assignees
to the list of GitHub usernames that you want to assign to the issue. - Change the value for
labels
to the list of labels that you want to apply to the issue. - Change the value for
title
to the title that you want the issue to have. - Change the value for
body
to the text that you want in the issue body. The|
character allows you to use a multi-line value for this parameter. - If you want to pin this issue in your repository, set
pinned
totrue
. For more information about pinned issues, see "Pinning an issue to your repository." - If you want to close the previous issue generated by this workflow each time a new issue is created, set
close-previous
totrue
. The workflow will close the most recent issue that has the labels defined in thelabels
field. To avoid closing the wrong issue, use a unique label or combination of labels.
- Change the value for
-
Commit your workflow file to the default branch of your repository. For more information, see "Creating new files."
Expected results
Based on the schedule
parameter (for example, every Monday at 7:20 UTC), your workflow will create a new issue with the assignees, labels, title, and body that you specified. If you set pinned
to true
, the workflow will pin the issue to your repository. If you set close-previous
to true, the workflow will close the most recent issue with matching labels.
Note: The schedule
event can be delayed during periods of high loads of GitHub Actions workflow runs. High load times include the start of every hour. To decrease the chance of delay, schedule your workflow to run at a different time of the hour.
You can view the history of your workflow runs to see this workflow run periodically. For more information, see "Viewing workflow run history."
Next steps
- To learn more about additional things you can do with the
imjohnbo/issue-bot
action, like rotating assignees or using an issue template, see theimjohnbo/issue-bot
action documentation. - Search GitHub for examples of workflows using this action.