mirror of
https://github.com/home-assistant/iOS.git
synced 2026-02-10 23:21:30 -06:00
<!-- Thank you for submitting a Pull Request and helping to improve Home Assistant. Please complete the following sections to help the processing and review of your changes. Please do not delete anything from this template. --> ## Summary <!-- Provide a brief summary of the changes you have made and most importantly what they aim to achieve --> Same as Android https://github.com/home-assistant/android/pull/5843 adding Github Task and the workflow to prevent Task creation from non maintenairs. I also updated the links to create new feature requests. ## Link to pull request in Documentation repository <!-- Pull requests that add, change or remove functionality must have a corresponding pull request in the Companion App Documentation repository (https://github.com/home-assistant/companion.home-assistant). Please add the number of this pull request after the "#" --> Documentation: home-assistant/companion.home-assistant#1238 --------- Co-authored-by: Bruno Pantaleão Gonçalves <5808343+bgoncal@users.noreply.github.com>
64 lines
2.4 KiB
YAML
64 lines
2.4 KiB
YAML
name: Restrict task creation
|
|
|
|
# yamllint disable-line rule:truthy
|
|
on:
|
|
issues:
|
|
types: [opened]
|
|
|
|
permissions:
|
|
issues: write
|
|
|
|
jobs:
|
|
check-authorization:
|
|
runs-on: ubuntu-latest
|
|
# Only run if this is a Task issue type (from the issue form)
|
|
if: github.event.issue.type.name == 'Task'
|
|
steps:
|
|
- name: Check if user is authorized
|
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
|
with:
|
|
script: |
|
|
const issueAuthor = context.payload.issue.user.login;
|
|
|
|
// Check if user is an organization member
|
|
try {
|
|
await github.rest.orgs.checkMembershipForUser({
|
|
org: 'home-assistant',
|
|
username: issueAuthor
|
|
});
|
|
console.log(`✅ ${issueAuthor} is an organization member`);
|
|
return; // Authorized
|
|
} catch (error) {
|
|
console.log(`❌ ${issueAuthor} is not authorized to create Task issues`);
|
|
}
|
|
|
|
// Close the issue with a comment
|
|
await github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.issue.number,
|
|
body: `Hi @${issueAuthor}, thank you for your contribution!\n\n` +
|
|
`Task issues are restricted to Open Home Foundation staff and authorized contributors.\n\n` +
|
|
`If you would like to:\n` +
|
|
`- Report a bug: Please use the ` +
|
|
`[bug report form](https://github.com/home-assistant/ios/issues/new?template=bug_report_iOS.md)\n` +
|
|
`- Request a feature: Please submit to ` +
|
|
`[Feature Requests](https://github.com/orgs/home-assistant/discussions)\n\n` +
|
|
`If you believe you should have access to create Task issues, please contact the maintainers.`
|
|
});
|
|
|
|
await github.rest.issues.update({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.issue.number,
|
|
state: 'closed'
|
|
});
|
|
|
|
// Add a label to indicate this was auto-closed
|
|
await github.rest.issues.addLabels({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.issue.number,
|
|
labels: ['auto-closed']
|
|
});
|