Skip to content

Create a new workflow #3

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions