opendevstack / opendevstack/ods-core

webhook proxy should support PRs from forked repositories

Open
#1,163 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Shell
Stars
53
Forks
34
Avg merge
3h 26m
Merged PRs (30d)
1

Description

Is your feature request related to a problem? Please describe.
Development teams might rely on a contribution workflow based on forked repositories.
PullRequest are not created from branch-a to e.g. master but from forked-repo/branch to master.

Describe the solution you'd like
It would be beneficial if the webhook proxy creates a Jenkins project which can deal with forked repos so that we can run pipelines based on Pull Requests of forked repos (just like github actions).
The purpose of the pipeline is to run additional checks on the code changes of the PR.

Describe alternatives you've considered
Use Github Actions.

Additional context
The webhook proxy has some configuration parameters however I'm not sure if one of these would apply.
At least extending ALLOWED_EXTERNAL_PROJECTS doesn't apply.
https://www.opendevstack.org/ods-documentation/opendevstack/4.x/jenkins/webhook-proxy.html

using GIT_ASKPASS to set credentials myprj-cd-cd-user-with-password
 > git fetch --tags --force --progress -- https://bbb/scm/myprj/myrepo.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse refs/remotes/origin/pr_user.com/Jenkinsfile-1657545807085^{commit} # timeout=10
 > git rev-parse pr_user.com/Jenkinsfile-1657545807085^{commit} # timeout=10
 > git rev-parse pr_user.com/Jenkinsfile-1657545807085^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
ERROR: Maximum checkout retry attempts reached, aborting
Finished: FAILURE

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the webhook proxy configuration and the linked webhook-proxy documentation, then compare them with the Jenkins checkout failure shown in the issue. Done means a pull request from a fork creates a Jenkins project that checks out the change and runs its pipeline successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github, shell
Domain
ci-cd, devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.