yhinchan / write-github-script

https://lab.github.com/githubtraining/github-actions:-using-github-script
MIT License
0 stars 0 forks source link

Create an issue comment with GitHub Script #3

Closed github-learning-lab[bot] closed 2 years ago

github-learning-lab[bot] commented 2 years ago

Look πŸ‘€ at you!

Super awesome job so far!

Do you remember what our workflow trigger was?

on:
  issues:
    types: [opened]

This means that every time an issue gets opened in this repository the GitHub Script you wrote will execute.

You should expect to see the result right here in this issue!

Workflow not running? Click here for some troubleshooting. Try the following troubleshooting steps: 1. Click on the [Actions tab](https://github.com/yhinchan/write-github-script/actions) to see the status of your workflow run. See [Managing a workflow run](https://help.github.com/en/actions/configuring-and-managing-workflows/managing-a-workflow-run) on GitHub Help for more information. 1. Edit your [workflow file]( https://github.com/yhinchan/write-github-script/edit/main/.github/workflows/my-workflow.yml) and look for errors in the linter built into the browser. 1. Look for the [workflow trigger](https://help.github.com/en/actions/reference/events-that-trigger-workflows) and ensure you are performing an action that triggers that workflow. If you need to make changes to your code, remove the [main branch protection](https://github.com/yhinchan/write-github-script/settings/branches) and merge your changes into the `main` branch.

I'll respond in this issue after your workflow runs!

github-actions[bot] commented 2 years ago

πŸŽ‰ You've created this issue comment using GitHub Script!!!

github-learning-lab[bot] commented 2 years ago

Success πŸŽ‰!!!

@yhinchan you're doing great! You've just used GitHub Script to comment on this issue!

Why might this be useful?

Using GitHub Actions can really help automate the events that take place in your repositories. Imagine it was a repository visitor who opened a new issue containing information about a critical bug. I assume you'd want to thank them for bringing that to your attention, however this simple task can become overwhelming as your repository attracts more visitors. By automating an issue comment we could easily thank our visitors every single time without the overhead of doing it manually.

What about us?

For the rest of the course we are going to design a workflow that helps us move issues into a GitHub Project board when they are created. This will give us increased visibility on the work that needs triage!

github-learning-lab[bot] commented 2 years ago

Let's add a card to a project board

We have added a project board to this repository for you. We will use this board, named Learning Lab Project Board, to add cards to when a new issue is created in your repository!

Like creating comments and opening pull requests, octokit/rest.js can be used for many more types of interactions. Managing GitHub Projects makes that list!

Things aren't always as they appear!
Although this is not a course on octokit/rest.js, it is important to tell you a little secret right here before we move on. For you to be able to use the `projects.createCard()` method there were some pieces of information we needed beforehand. Things like the `column_id` so we know which column to add the card to and even a `project_id` so we know which board that column belongs to. We've gone ahead and done this on our end of things so that we could give you the final piece to the puzzle and demonstrate how to use GitHub Script. So if you try to recreate this on your own, without the help of Learning Lab you will need to get that information and parse it in a way that works well for your use case!

:keyboard: Activity: Add newly opened issue to project board

  1. Edit the current workflow .github/workflows/my-workflow.yml to have the following contents:

    name: Learning GitHub Script
    
    on:
     issues:
       types: [opened]
    
    jobs:
     comment:
       runs-on: ubuntu-latest
       steps:
       - uses: actions/github-script@0.8.0
         with:
           github-token: ${{secrets.GITHUB_TOKEN}}
           script: |
               github.issues.createComment({
               issue_number: context.issue.number,
               owner: context.repo.owner,
               repo: context.repo.repo,
               body: "πŸŽ‰ You've created this issue comment using GitHub Script!!!"
               })
               github.projects.createCard({
               column_id: 18976551,
               content_id: context.payload.issue.id,
               content_type: "Issue"
               });
  2. Commit the workflow to a new branch.

  3. Create a pull request, I suggest the title Add issues to project board.

  4. Supply the pull request body content and click Create pull request.


I am waiting for you to create a new pull request before moving on.

I'll respond in the new pull request when I detect it has been created.

github-learning-lab[bot] commented 2 years ago

A new pull request

I have created a new pull request where we will continue this lesson. Click the link to meet me over there.