Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: add command for transferring issue #314

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

Souvikns
Copy link
Member

Description
In this PR I am adding a new workflow file to trasfer issue from one respository to another in AsyncAPI organisation. The command is /trasfer-issue {repo-name} or /ti {repo-name} for example

/trasfer-issue cli
/ti bundler

Related issue(s)

Resolves #311

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome to AsyncAPI. Thanks a lot for creating your first pull request. Please check out our contributors guide useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

@derberg derberg changed the title feat: add command for transferring issue. ci: add command for transferring issue Sep 16, 2024
Copy link
Member

@derberg derberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left some comments,

you also need to add this new workflow to https://github.com/asyncapi/.github/blob/master/.github/workflows/global-replicator.yml#L141 to have it replicated to all other repos

.github/workflows/transfer-issue.yml Outdated Show resolved Hide resolved

jobs:
transfer:
if: ${{(!github.event.issue.pull_request && github.event.issue.state != 'closed' && github.actor != 'asyncapi-bot') && (contains(github.event.comment.body, '/trasfer-issue') || contains(github.event.comment.body, '/ti'))}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should probably start using starts with instead of contains

@KhudaDad414 thoughts?

.github/workflows/transfer-issue.yml Outdated Show resolved Hide resolved
.github/workflows/transfer-issue.yml Outdated Show resolved Hide resolved
@@ -58,5 +58,6 @@ jobs:
At the moment the following comments are supported in issues:

- \`/good-first-issue {js | ts | java | go | docs | design | ci-cd}\` or \`/gfi {js | ts | java | go | docs | design | ci-cd}\` - label an issue as a \`good first issue\`.
example: \`/gfi js\` or \`/good-first-issue ci-cd\``
example: \`/gfi js\` or \`/good-first-issue ci-cd\`
- \`/trasfer-issue {repo-name}\` or \`/ti {repo-name}\` - trasfers issue from the source repository to the other repository passed by the user. example: \`/ti cli\` or \`/trasfer-issue cli\`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trasfer all over the place

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also aren't we missing a closing ` at the end of the line here?

would be good if you test new workflow and this help workflow in private repo to be 100% sure it all works - before we push it to all the other repos

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think any ` is missing, it is rendering this

  • /transfer-issue {repo-name} or /ti {repo-name} - transfer issue from the source repository to the other repository passed by the user. example: /ti cli or /transfer-issue cli

COMMENT="${{github.event.comment.body}}"
REPO=$(echo $COMMENT | awk '{print $2}')
echo repo=$REPO >> $GITHUB_OUTPUT
- name: Trasfer Issue
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would be very useful to have some interaction with user of the command here,

if transfer fails (most probably some typo of repo name of misuse of command) we should drop a proper comment in issue that command failed, and they have to make it better - I'm pretty sure we do it for good first issue command

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added a step to check if the repo is under the same org and write a comment explaining this to the user.

Comment on lines 26 to 30
script: |
const r = process.env.GITHUB_REPOSITORY
const [owner, repo] = r.split('/')
const repoToMove = process.env.REPO_TO_MOVE
const issue_number = process.env.ISSUE_NUMBER
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please always use context if code is executed in github-script action, so do not read for example issue number from env variables but like this: context.issue.number

run: |
gh issue transfer ${{github.event.issue.number}} asyncapi/${{steps.extract_step.outputs.repo}}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}

changing to out bot token

Comment on lines +27 to +29
const r = process.env.GITHUB_REPOSITORY
const [owner, repo] = r.split('/')
const repoToMove = process.env.REPO_TO_MOVE
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

technically where is REPO_TO_MOVE and GITHUB_REPOSITORY coming from?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] Would be nice to have bot be able to move issues between repositories
2 participants