-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Lets try to get a feel for how easy it is to create a new workflow.
Note
☝️ Learning goals in n this issue:
- See the web interface's built-in support for workflow files
- Explore the pre-defined workflows
- Browse the available actions in the marketplace
- Create a new workflow
- Trigger a workflow manually
🏋️♀️ Exercise
- 👉 Go back to the
Actionstab and hit theNew workflowbutton 👈- 👉 Browse around - locate the "Java with Maven" CI workflow - hit
Configureto see the details 👈
...Yup! It's pretty basic. It doesn't really do any integration, so calling it CI is probably a bit overreached, but it does give you a basic skeleton.
But we don't have any Java in this repo, so let's do something else instead. Notice that when you are in a yaml file, which is located in .github/workflows and you are in edit mode in GitHub's web interface, then a right panel shows up automatically, which allows you to search the marketplace for more actions.
🏋️♀️ Exercise
- 👉 Look up the action called "Issue-metrics" by GitHub 👈
- 👉 Choose it and view it's full marketplace listing 👈
If you browse to the "Getting Started" section you'll see that even though there wasn't provided an official Issue Metric Template by GitHub. It's often possible to find a template on the documentation of the various actions in the market place browser.
I've made an even simpler version of it
🏋️♀️ Exercise
- 👉 Copy the code below and paste it into a new
.ymlfile and save it in.github/worflows👈- 👉
add,commitandpushto git 👈- 👉 Go the the
Actionstab and see what happens 👈
Important
If the code below isn't properly yaml formatted then please copy the code from the template repo
Code to copy
name: Manually triggered issue metrics
on:
workflow_dispatch:
permissions:
issues: write
pull-requests: read
jobs:
build:
name: issue metrics
runs-on: ubuntu-latest
steps:
- name: Run issue-metrics tool
uses: github/issue-metrics@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SEARCH_QUERY: 'repo:${{ github.repository }} is:issue'
- name: Create issue
uses: peter-evans/create-issue-from-file@v4
with:
title: Monthly issue metrics report
token: ${{ secrets.GITHUB_TOKEN }}
content-filepath: ./issue_metrics.mdA few things worth noticing:
- The trigger
ondoesn't seem to mention an event other than the rather mysteriousworkflow_dispatch. - The
envclause is used inside a step - not globally. - There is an unknown - perhaps suspicious looking
peter-evans/create-issue-from-fileaction in the equation 😱 What is that? Well apparently it's a thing and it's even documented at github.com/peter-evans/create-issue-from-file - as expected. - This action seems to use the GitHub token in another way than we've seen before.
So it appears that nothing happens🤷. On the Actions tab you don't see a new workflow run. But if you look under "Workflows" you'll see that the new workflow is listed. And If you select it you you'll see a notification the since this workflow defines a workflow_dispatch trigger, apparently you can then run it manually. In fact, since it's the only trigger defined, it's the only thing you can do with it!
🏋️♀️ Exercise
- 👉 Run the workflow manually - locate the new issue created from from the run, read the report👈
- 👉 Add a few comments to some of your own issues, close the ones you're done with 👈
- 👉 Run the workflow again - read the new report👈

