sonarsource / gh-action-lt-backlog Goto Github PK
View Code? Open in Web Editor NEWAutomate GitHub backlog and Kanbans
License: GNU Lesser General Public License v3.0
Automate GitHub backlog and Kanbans
License: GNU Lesser General Public License v3.0
Update readme.md to avoid running the workflow when external contributor approves or rejects a PR
When external contributor PR is merged, create a "Note" card in a Kanban column.
Do not run for bots.
Default text: Release notes: External contribution #xxxx <user>
Configurable prefix: Release notes: External contribution
#xxxx
is the PR number
<user>
is the user name without @
to avoid tagging users
Do not run action
MoveCardToReview
MoveCardAfterReview
When a card is manually added to the project, but not assigned a column, it currently cannot be found.
Fix it somehow - find the card assignment first.
When a PR is one part of an umbrella issue, it should be decorated with the same Sprint:
label as the umbrella issue when created.
Contrary to Fixes
(and similar) links, this link should be inferred from any reference to the umbrella issue. Like Part of #xxx
or Contributes to #xxxx
and so on.
The Sprint:
prefix should be configurable, with Sprint:
as a default value.
When a label with a configured prefix is added to an issue, the issue should be added to kanban.
Default value of prefix: Sprint:
The action https://github.com/SonarSource/gh-action-lt-backlog/tree/master/CreateCardForIssue could do the trick if we add another trigger to it. In that case, we just need to add example YML.
We need an action or hook that will block merging of a PR after "Rebase and merge" button was clicked and PR was not from a feature/*
branch.
Equally, when a feature branch is merged, it should not be possible to Squash the commits.
Normally, we use "Squash and merge" for every single PR.
When we need to merge a feature branch, we need to use "Rebase and merge" button.
Unfortunately, GitHub UI will remember that option for the user who merged the feature branch.
And with the very next PR, it is easy to miss the fact that user needs to change to "Squash and merge" again.
Having that, the commit history with "Review 2" and similar commits that were not intended for the master
branch will get merged
Send slack notifications when branch is locked or unlocked.
Similar feature is implemented in Python in https://github.com/SonarSource/gh-action_release/blob/6b2cd4455b7ec4a14b2a8ad728d20870174d1ea7/.github/workflows/main.yaml#L22
Steps needed:
slack-token
as an optional parameterslack-channel
optional parameterIf card already exists, don't throw exception.
Run sonarsource/gh-action-lt-backlog/CreateCardForStandalonePR@v1
Assigning to: costin-zaharia-sonarsource
Creating PullRequest card for #1460
Error: Validation Failed: {"resource":"ProjectCard","code":"unprocessable","field":"data","message":"Project already has the associated issue"}
Add comemnt to IssueLabeled
, that project ID can be found here
curl -u <login>:<token> https://api.github.com/repos/SonarSource/<repo-name>/projects
When Fixes #xxx
is added to a PR, GH automatically links the issue in Development
section on the right. This ONLY works when the PR targets the master branch, see:
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue
The pull request must be on the default branch.
We should automate the mapping for non-default repo branch.
ToDo:
Texts like this are recognized as links to the issue:
Fixes #36
but sometimes, due to copy/pasting, this is present in the source description, even when it's rendered as the short link:
Fixes https://github.com/SonarSource/gh-action-lt-backlog/issues/36
Fixes [#36](https://github.com/SonarSource/gh-action-lt-backlog/issues/36)
and we need to support that as well.
When card is created (via milestoning, or anything else), it should be created at the end of the column
We almost always create projects and load column list now. So we don't need to have column-id as input, column name should be enough.
ToDo:
In Progress
be used as the input value for column-id
project-number
is set, use v2. Otherwise, consider it v1Adding milestone moved card to ToDo column from "Review approved"? SonarSource/sonar-dotnet#5854 (comment)
Implement the existing action also for the new projects
Trello card from .NET Squad:
https://trello.com/c/NP9fyZVH/724-automate-the-card-status-update-for-the-new-backlog-github-project
When a card is about to be assigned to dependabot[bot]
, don't take any action - just preserve existing assignees
When review is requested from a group, assignees should not change.
Ask review from group
Processing PR: #5464
Removing assignees: vilchik-elena
Done
TypeError: Cannot read property 'login' of undefined
Error: Unhandled error: TypeError: Cannot read property 'login' of undefined
at processIssue (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v4.0.2/dist/index.js:2451:56), <anonymous>:62:61)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
When a branch is locked/unlocked, the action should:
https://docs.github.com/en/graphql/reference/mutations#disablepullrequestautomerge
For testing: Validate what will happen if the repo doesn't have Auto-Merge enabled.
In case master is frozen (for example due to release), we don't want any PR to accidentally be merged faster than a version bump.
The disabling should happen
When external PR is approved, add it to Review approved
kanban column.
This should need just an sample template using CreateCardForIssue
Cross-compiled JS files needs to be checked in the PRs and repostiroy in general.
We need .cirrus.yml action that will fail the pipeline in case any changes are done by node build
Optioanl field will set issue description.
Use it to tag @tom-howlett-sonarsource
on sonar-dotnet repo so he can get notifications
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.