开源项目 create-an-issue
使用教程
1. 项目的目录结构及介绍
create-an-issue/
├── .github/
│ ├── workflows/
│ │ └── issue-on-push.yml
│ └── ISSUE_TEMPLATE.md
├── .gitignore
├── LICENSE
├── README.md
└── action.yml
- .github/workflows/issue-on-push.yml: 这是一个GitHub Actions的工作流文件,用于在每次推送代码时自动创建一个新的Issue。
- .github/ISSUE_TEMPLATE.md: 这是一个Issue模板文件,定义了新创建的Issue的内容和格式。
- .gitignore: 用于指定Git应该忽略的文件和目录。
- LICENSE: 项目的开源许可证文件,本项目使用MIT许可证。
- README.md: 项目的介绍文件,通常包含项目的概述、安装和使用说明。
- action.yml: 这是GitHub Actions的配置文件,定义了Action的输入、输出和运行环境。
2. 项目的启动文件介绍
项目中没有传统的“启动文件”,因为这是一个GitHub Actions项目。项目的核心功能是通过.github/workflows/issue-on-push.yml
文件定义的工作流来触发的。
.github/workflows/issue-on-push.yml
on: [push]
name: Create an issue on push
permissions:
contents: read
issues: write
jobs:
stuff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: JasonEtco/create-an-issue@v2
env:
GITHUB_TOKEN: $[[ secrets.GITHUB_TOKEN ]]
- on: [push]: 定义了触发工作流的事件,这里是每次推送代码时触发。
- name: 工作流的名称。
- permissions: 定义了工作流的权限,这里允许读取仓库内容和写入Issue。
- jobs: 定义了工作流中的任务。
- runs-on: 定义了任务运行的操作系统环境。
- steps: 定义了任务的具体步骤,包括检出代码和使用
create-an-issue
Action。
3. 项目的配置文件介绍
.github/ISSUE_TEMPLATE.md
---
title: Someone just pushed
assignees: JasonEtco
labels: bug, enhancement
---
Someone just pushed! oh no!
Here's who did it: [[ payload.sender.login ]]
- title: 定义了新创建Issue的标题。
- assignees: 定义了Issue的负责人。
- labels: 定义了Issue的标签。
- 内容: 定义了Issue的具体内容,可以使用Mustache变量来动态生成内容。
action.yml
name: 'Create an Issue'
description: 'A GitHub Action for creating a new issue from a template file'
inputs:
GITHUB_TOKEN:
description: 'GitHub token for authentication'
required: true
template:
description: 'Path to the issue template file'
required: true
runs:
using: 'node12'
main: 'index.js'
- name: Action的名称。
- description: Action的描述。
- inputs: 定义了Action的输入参数,包括
GITHUB_TOKEN
和template
。 - runs: 定义了Action的运行方式,使用Node.js 12版本,并指定主文件为
index.js
。
通过以上配置文件,用户可以自定义Issue的创建方式和内容,实现自动化Issue管理。