Skip to content

Create a new workflow #3

@lakruzz

Description

@lakruzz

Lets try to get a feel for how easy it is to create a new workflow.

In 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

  • 👉 Go back to the Actions tab and hit the New worlflow button 👈
  • 👉 Browse around - locate the "Java with Maven" CI workflow - hit Configure to see the details 👈
Java with Maven image

...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/worflows 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.

image
  • 👉 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 they actually also suggest something of a template.

I've made an even simpler version of it

  • 👉 Copy the code below and paste it into a new .yml file and save it in .github/worflows 👈
  • 👉 add, commit and push to git 👈
  • 👉 Go the the Actions tab and see what happens? 👈
Code to copy

⚠️ IF THE CODE IS NOT YAML FORMATTED - please copy the code from the template repo ⚠️

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.md

A few things worth noticing:

  • The trigger on doesn't seem to mention an event?
  • The env clause is used inside a step - not globally
  • There and odd looking peter-evans/create-issue-from-file action in the equation 😱 What is that?
    • This action seems to use the GitHub token in another way than we've seen before?

So it appears that nothin happens. On the Actions tab you don't see a new workflow run - but if you look closer, under "Workflows" you'll see that the new workflow is listed. 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 tigger defined, it's the only thing you can do with it!

image
  • 👉 Run the workflow manually - locate the new issue created from from the run, read the report👈

If you haven't already:

  • 👉 Try to 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👈

Metadata

Metadata

Assignees

No one assigned

    Labels

    TemplateTemplate issuebugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions