Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/example.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# This is an example workflow showing how to use the Issue & PR Automation Suite
# Copy this file to your repository's .github/workflows/ directory and customize as needed

name: Issue & PR Automation Suite

on:
issues:
types: [opened, closed, reopened, labeled, unlabeled, milestoned, demilestoned, edited]
pull_request:
types: [opened, closed, reopened, ready_for_review, converted_to_draft, synchronize, edited]
pull_request_target:
types: [opened, synchronize]

permissions:
issues: write
pull-requests: write
repository-projects: write
contents: read

env:
PROJECT_NAME: "Portfolio Devmt"

jobs:
automation:
name: Run Automation Suite
runs-on: ubuntu-latest
steps:
- name: Issue & PR Automation
uses: SillyLittleTech/AutomationSuite@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
project-name: ${{ env.PROJECT_NAME }}
enable-project-automation: "true"
enable-label-sync: "true"
enable-zap-labeling: "true"
zap-labels: "Meta,Stylistic,javascript,meta:seq,ZAP!"
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,15 @@ bin-release/
# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
# should NOT be excluded as they contain compiler settings and other important
# information for Eclipse / Flash Builder.

# macOS
.DS_Store

# IDE
.vscode/
.idea/

# Temporary files
*.tmp
*.log
.env
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.0.0] - 2025-01-XX

### Added
- Initial release of Issue & PR Automation Suite
- Project board automation for GitHub Projects V2
- Automatically add new issues to project backlog
- Update issue status based on PR lifecycle (In Progress, In Review)
- Label and milestone synchronization between issues and PRs
- Bidirectional label sync
- Smart milestone sync
- ZAP security scan issue auto-labeling
- Configurable inputs for all features
- Comprehensive documentation with examples

### Features
- Support for composite GitHub Action
- Integration with GitHub Projects V2 GraphQL API
- Automatic issue linking detection (multiple patterns supported)
- Modular feature enablement (can enable/disable individual features)

[Unreleased]: https://github.com/SillyLittleTech/AutomationSuite/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/SillyLittleTech/AutomationSuite/releases/tag/v1.0.0
84 changes: 84 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Contributing to Issue & PR Automation Suite

Thank you for your interest in contributing! We welcome contributions from the community.

## How to Contribute

### Reporting Bugs

If you find a bug, please open an issue with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Your workflow configuration (redact sensitive information)
- Relevant logs from the workflow run

### Suggesting Enhancements

We welcome feature requests! Please open an issue with:
- A clear description of the feature
- Use cases that would benefit from this feature
- Any implementation ideas you might have

### Pull Requests

1. Fork the repository
2. Create a new branch for your feature (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Update documentation if needed
5. Test your changes thoroughly
6. Commit your changes (`git commit -m 'Add amazing feature'`)
7. Push to your branch (`git push origin feature/amazing-feature`)
8. Open a Pull Request

#### PR Guidelines

- Follow the existing code style
- Update the README.md if you're adding new features or changing behavior
- Add your changes to CHANGELOG.md under [Unreleased]
- Ensure the action.yml syntax is valid
- Test your changes in a real repository before submitting
- Keep PRs focused on a single feature or fix

### Development Setup

1. Clone the repository
2. Make changes to `action.yml`
3. Test locally by:
- Creating a test repository
- Adding a workflow that uses your local action:
```yaml
uses: your-username/AutomationSuite@your-branch
```
- Trigger the workflow and verify behavior

### Testing

Before submitting a PR, please test:
- All three features (project automation, label sync, ZAP labeling) independently
- Feature combinations (e.g., project + label sync)
- Edge cases (empty labels, missing projects, invalid issue references)
- Different event types (issue opened, PR created, labels changed, etc.)

### Documentation

- Update README.md for user-facing changes
- Add examples for new features
- Update input parameter documentation
- Keep the troubleshooting section up to date

## Code of Conduct

- Be respectful and inclusive
- Provide constructive feedback
- Focus on what's best for the community
- Show empathy towards other community members

## Questions?

Feel free to open an issue for any questions about contributing!

## License

By contributing, you agree that your contributions will be licensed under the MIT License.
Loading
Loading