Giter Site home page Giter Site logo

repository-permissions-updater's Introduction

Repository Permissions Updater

About

The Jenkins project hosts Maven artifacts such as core and plugin releases on Artifactory.

Its permissions system is independent of GitHub's, and we limit which users (identified by the Jenkins LDAP account, same as wiki and JIRA) are allowed to upload which artifacts.

This repository contains both the definitions for Artifactory upload permissions in YAML format, as well as the tool that synchronizes them to Artifactory.

Note: These permissions are specifically for uploading artifacts to the Jenkins project's Maven repository. It is independent of GitHub repository permissions. You may have one without the other. Typically, you'll either have both, or just the GitHub repository access.

Requesting Permissions

Prerequisite: You need to have logged in once to Artifactory and Jira with your Jenkins community account (this is the same as the account you would use to login to Jira) before you can be added to a permissions target.

To request upload permissions to an artifact (typically a plugin), file a PR editing the appropriate YAML file, and provide a reference that shows you have commit permissions, or have an existing committer to the plugin comment on your PR, approving it. See this page for more information.

Managing Permissions

The directory permissions/ contains a set of files, one per plugin or artifact, that define the permissions for the respective artifacts. Files typically have a component, plugin, or pom prefix for organization purposes:

  • plugin is used for Jenkins plugins.
  • pom is used for parent POMs and everything else consisting of just a POM file.
  • component is used for everything else, usually libraries.

These prefixes, like the rest of the file name, have no semantic meaning and just help in organizing these files.

Each file contains the following in YAML format:

  • A name (typically mirrored in the file name), this is also the artifactId of the Maven artifact.
  • A github field indicating the GitHub organization and repository which is expected to produce these artifacts.
  • A set of paths, usually just one. These correspond to the full Maven coordinates (groupId and artifactId) used for the artifact. Since Jenkins plugins can change group IDs and are still considered the same artifact, multiple entries are possible.
  • A set of user names (Jenkins community user accounts in LDAP, the same as used for wiki and JIRA) allowed to upload this artifact to Artifactory. This set can be empty, which means nobody is currently allowed to upload the plugin in question (except Artifactory admins). This can happen for plugins that haven't seen releases in several years, or permission cleanups.

Example file:

---
name: "p4"
github: "jenkinsci/p4-plugin"
paths:
  - "org/jenkins-ci/plugins/p4"
developers:
  - "p4paul"
  • p4 (lines 2 and 5): artifactId
  • p4-plugin (line 3): GitHub repository name
  • org/jenkins-ci/plugins (line 5): groupId (with slashes replacing periods)
  • p4paul (line 7): Jenkins community account user name

Adding a new plugin

Create a new YAML file similar to existing files.

Adding a new uploader to an existing plugin

Edit the developers list in the YAML file for the plugin.

Remove uploaders from an existing plugin

Remove entries from the developers list.

Deprecating a plugin

See the documentation on jenkins.io. Do not delete YAML files from this repository.

Changing plugin ID

Jenkins cannot handle plugin renames, so if a release of the plugin has been published already, it's not possible to rename it. A plugin can theoretically be replaced by a new one with a different ID, but this is difficult to get right (e.g., when both plugins are installed at the same time).

If the plugin hasn't been released yet, you can just rename and edit the existing permissions file, changing the name component. You may also edit the github component, if you wish to rename the repository.

Changing a plugin's artifactId

Changing the paths or modifying the <artifactId> in the plugin pom.xml is highly discouraged.
Modifying the path will break any Maven dependencies from other plugins. Altering the artifactId means changing the identifier by which the Jenkins plugin manager differentiates one plugin from others, and will cause chaos for users who have already installed it under the old name.

Managing Continuous Delivery (JEP-229 CD)

Jenkins plugins and other components can be continuously delivered through a supported process described in JEP-229.

You can enable JEP-229 CD for your component by adding the following to your component's YAML file:

cd:
  enabled: true

For this to work, there needs to be at least one developers listed. If the list of developers is empty or missing entirely (e.g., after the last maintainer steps down), no new releases can be published through JEP-229 CD.

IMPORTANT: When using JEP-229 CD, every committer to your repository can create new releases by merging pull requests. As a result, the list of maintainer accounts maintained in your plugin's YAML file is no longer the single reference on who can publish new releases. Be sure to check which users have commit access to your repository and remove any that are unexpected before enabling CD, as well as any unexpected deploy keys. Additionally, the users listed in this repository still serve as the contacts for security issues and plugin/component governance questions. For that reason, CD permissions are also only granted to components with at least one maintainer. In particular, the Jenkins security team will not make an effort to reach out to GitHub committers when maintainers (and security contacts, see below) are unresponsive before announcing vulnerabilities without a fix.

Exclusively using JEP-229 CD

By default, enabling JEP-229 CD enables it exclusively; i.e., the listed users will not be able to create new releases, but they remain contacts for security issues and plugin/component governance questions.

It is also possible to disable exclusive JEP-229 CD, in which case both users with commit access and the listed users will be able to create new releases, with the listed users remaining contacts for security issues and plugin/component governance questions:

cd:
  enabled: true
  exclusive: false

Managing Security Process

The Jenkins project acts as a primary contact point for security researchers seeking to report security vulnerabilities in Jenkins and Jenkins plugins (learn more).

We generally assign reported issues to maintainers after a basic sanity check (learn more). Through additional metadata in the YAML file described above, you can define who else should be contacted in the event of a report being received and is authorized to make decisions regarding security updates, e.g. scheduling. Add a section like the following to your plugin's YAML file:

security:
  contacts:
    jira: some_user_name

Given the above example, we will primarily assign any security issue in Jira to some_user_name. Regular maintainers are added to the issue as well to give visibility and allow participation/discussion. This means that specifying a Jira security contact is only useful when it's an account not already listed as maintainer. jira is optional.

If you represent a company with dedicated security team that needs to be involved, we recommend you to create a Jira account backed by an email address that the team can access, like a mailing list.

Managing Issue Trackers

The YAML metadata files in this repository also hold information about issue trackers. This is used to make issue trackers more accessible, e.g. by adding them to the UI of Jenkins or on https://plugins.jenkins.io.

Declaring Issue Trackers

The top-level issues key contains a sorted list of issue tracker references in descending order of preference.

For GitHub issues, a GitHub repository must be specified as the value for the github key, and the value must start with jenkinsci/, followed by the repository name. For Jira, a component name or ID must be specified as the value for the jira key. The component name is easier to read, while the component ID is resilient in case of component renames.

Either kind of issue tracker supports the report: boolean value that controls whether new issues should be reported in this issue tracker. The default is true.

A complete example with two trackers:

issues:
  - github: 'jenkinsci/configuration-as-code-plugin' # The preferred issue tracker
  - jira: 'configuration-as-code-plugin' # A secondary issue tracker is the Jira component 'configuration-as-code-plugin'
    report: false # No new issues should be reported here

When GitHub Issues is used, there would be some duplicated content in the file (between github and issues entries) which can be resolved by using a YAML reference. Example:

github: &GH 'jenkinsci/configuration-as-code-plugin' # Declare a reference
issues:
  - github: *GH # Use the reference

Consuming Issue Trackers

A file issues.index.json is generated when the tool is executed, containing a map from component names to a list of issue trackers. Only plugins are expected to specify an issue tracker here.

If a plugin does not have a corresponding key in this map, the tool did not consider it for inclusion. If a plugin has a corresponding key in this map but an empty list of issue trackers, no issue trackers are known or supported.

Each issue tracker entry will have the following keys:

  • type: Currently jira (meaning issues.jenkins.io) or github (meaning GitHub issues)
  • reference contains a type-specific identifier string that provides additional information how issues are tracked; for Jira it is the component name or ID and for GitHub Issues it is the orgname/reponame String.
  • viewUrl is a URL to a human-readable overview page. This value may not exist if no valid URL could be determined.
  • reportUrl is a URL where users can report issues. This value may not exist if no valid URL could be determined, or new issues should not be reported in this tracker.

The list is sorted in descending order of preference. The first issue tracker in the list with a reportUrl should be presented as the primary (or only) option for reporting issues. Further issue trackers are mostly provided as a reference, e.g. when listing existing issues, although a different issue tracker with reportUrl can be linked if users provide a preference for a specific kind of issue tracker.

Usage

To see how to run this tool to synchronize Artifactory permission targets with the definitions in this repository, see Jenkinsfile.

The following Java system properties can be used to customize the tool's behavior:

  • dryRun - Set to true to generate the API payloads without submitting them. No modifications will be executed.
  • development - Set to true during tool development to ensure production data is not overridden. This will have the following effects:
    • Permissions are only granted to deploy to the snapshots repository (rather than both snapshots and releases)
    • A different, non-colliding set of prefixes (unless overridden, see below) is used.
  • definitionsDir - Path to directory containing permission definitions YAML files, defaults to ./permissions.
  • artifactoryUserNamesJsonListUrl - URL to a list containing known Artifactory user names, any permissions assigned to a user not on that list will cause the tool to abort
  • artifactoryApiTempDir - Path to directory (that will be created) where this tool stores Artifactory permissions API JSON payloads, defaults to ./json.
  • artifactoryObjectPrefix - Override the prefix for groups and permission targets managed (created, updated, removed) using the tool. If unspecified, the value will be generatedv2- by default, or generateddev- in development mode.
  • artifactoryUrl - URL to Artifactory, defaults to https://repo.jenkins-ci.org
  • artifactoryTokenMinutesValid - How long authentication tokens to Artifactory for CD enabled repos should be valid for, default 240 (4 hours). Regular script execution frequency needs to be aligned with this.
  • gitHubSecretNamePrefix - Prefix for secrets sent to GitHub repos. If unspecified, the value will be MAVEN_ by default, or DEV_MAVEN_ in development mode.
  • jiraUserNamesJsonListUrl - URL to a list containing known Jira user names of (potential) maintainers. This is essentially a workaround to reduce the number of individual user lookups via Jira API.

It expected the following environment variables to be set:

  • ARTIFACTORY_USERNAME - Admin user name for Artifactory
  • ARTIFACTORY_PASSWORD - Corresponding admin password (or API key) for Artifactory admin user
  • GITHUB_USERNAME - GitHub user name for a user with admin access to any CD enabled repos
  • GITHUB_TOKEN - Corresponding token for the user with admin access to any CD enabled repos, requires repo scope to create/update secrets
  • JIRA_USERNAME - User name (does not need admin permissions) for Jira
  • JIRA_PASSWORD - Corresponding password for Jira user

How It Works

The tool runs three steps in sequence:

  1. Generate JSON payloads from YAML permission definition files.
  2. Submit generated JSON payloads to Artifactory.
  3. Remove all generated permission targets in Artifactory that have no corresponding generated JSON payload file.

repository-permissions-updater's People

Contributors

abayer avatar alecharp avatar basil avatar batmat avatar car-roll avatar daniel-beck avatar dependabot[bot] avatar dwnusbaum avatar halkeye avatar jenkins-infra-bot avatar jetersen avatar jglick avatar jonesbusy avatar jtnord avatar jvz avatar linuxsuren avatar markewaite avatar michaelneale avatar mramonleon avatar ndeloof avatar notmyfault avatar olamy avatar oleg-nenashev avatar olivergondza avatar orrc avatar rsandell avatar slide avatar stephenc avatar timja avatar vlatombe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

repository-permissions-updater's Issues

Request to move Compuware Topaz for Enterprise Data Jenkins plugin repository to jenkinsci

Repository URL

https://github.com/ratishkr/compuware-topaz-for-enterprise-data-plugin

New Repository Name

compuware-topaz-for-enterprise-data-plugin

Description

Compuware's Topaz for Enterprise Data is a data management product with automation to speed data extraction, privatization and loading. The plugin allows Jenkins users to run ted specifications.

GitHub users to have commit permission

@bszydlowski
@ratishkr
@cpwr-github

Jenkins project users to have release permission

cpwr_jenkins

Issue tracker

GitHub issues

conflict-aware-ondemand-retention-strategy-plugin

Repository URL

https://github.com/jimklimov/conflict-aware-ondemand-strategy-plugin

New Repository Name

conflict-aware-ondemand-strategy-plugin

Description

This plugin helps co-locate numerous build environments on resource constrained hosts, effectively sequentializing builds so they do not fail due to OOM killer or similar environmental failures.

This plugin started as PR jenkinsci/jenkins#5764 against Jenkins Core, and thanks to Daniel Beck for extracting the changes as a viable stand-alone plugin and proposing the original name.

GitHub users to have commit permission

@jimklimov

Jenkins project users to have release permission

jimklimov

Issue tracker

Jira

Fork `oidc-provider-plugin`

Repository URL

https://github.com/jglick/oidc-provider-plugin

New Repository Name

oidc-provider-plugin

Description

This plugin allows Jenkins to authenticate keylessly to systems which support OpenID Connect identity federation, by serving as an identity provider and offering JWT id tokens to builds. Specifically tested against both AWS and GCP. For example, Jenkins running on an arbitrary server with a public HTTPS URL can let builds assume an AWS role to work with an S3 bucket, without worrying about a static secret access key being leaked.

The Conjur plugin does something similar (docs) but that is geared towards authenticating to Conjur specifically. Several other CI systems include analogous facilities, such as GitHub Actions (docs).

https://github.com/jenkinsci/oic-auth-plugin is totally unrelatedโ€”that allows Jenkins to be a โ€œrelying partyโ€ (rather than โ€œidentity providerโ€) as a security realm.

Includes minimal inline docs; more end-user docs coming soon, including working demos as soon as I sort out some technical issues in packaging them to be easy to run.

Ready for CDโ€”please enable.

GitHub users to have commit permission

@jglick
@escoem
@fcojfernandez

Jenkins project users to have release permission

jglick
escoem
fcojfernandez

Issue tracker

GitHub issues

AGC App Upload

Repository URL

https://github.com/AppGalleryConnect/agc-jenkins-plugin

New Repository Name

agc-app-upload-plugin

Description

Introduction
Jenkins Plugin to support uploading your Android Application to AppGallery

This makes use of the AppGallery Connect API to upload your build android application to AppGallery.

Note that you will need to have already build the APK or AAB file before using this plugin

Resources
AppGallery Connect - Learn more about AppGallery Connect Services, and signup for a developer account!

How to Contribute
We welcome reporting of issues!

GitHub users to have commit permission

@josholadele

Jenkins project users to have release permission

josholadele

Issue tracker

GitHub issues

agent maintenance plugin

Repository URL

https://github.com/SAP/agent-maintenance-plugin

New Repository Name

agent-maintenance-plugin

Description

This plugin allows to define maintenance windows for agents. During a maintenance window no new builds will start, running builds have the possibility to finish if desired (this can be limited so that builds are aborted if they take too long).
This is very helpful when you have many permanent agents that and you have to take them offline due to maintenance activities like OS updates, hardware issues or other things. Those things tend to be done outside usual office hours on the weekend or in the night.
So far Jenkins core only offers the possibility for agents to be taken offline on a schedule, on demand or always. I haven't found any other plugin that provides the desired functionality.

GitHub users to have commit permission

mawinter69

Jenkins project users to have release permission

mawinter69

Issue tracker

Jira

๐Ÿ  Hosting request: Generic Event Plugin

Repository URL

https://github.com/johnniang/generic-event-plugin

New Repository Name

generic-event-plugin

Description

The Generic Event Plugin built for Jenkins is mainly to solve the interaction problem between the third-party system and Jenkins.

By using the plugin, the third-party system can receive the events it is interested in more quickly and respond quickly.

At present, our event body mainly refers to CloudEvents, and CloudEvents specification may be supported in the future. We look forward to more people to push this goal.

GitHub users to have commit permission

@JohnNiang
@LinuxSuRen

Jenkins project users to have release permission

johnniang
surenpi

Issue tracker

GitHub issues

Lightstep Incident Response Plugin

Repository URL

https://code.devsnc.com/dev/air-external-integration/tree/master/plugins/observability/jenkins/lightstep-incident-response

New Repository Name

lightstep-incident-response-plugin

Description

  • We want to host a lightstep-incident-response plugin to integrate Jenkins with Lightstep Incident Response(LIR) application.
  • It will enable post-build action namely "Send alerts to Lightstep Incident Response" which when selected gives options to select build status for alert creation on LIR.
  • Whenever a build is completed for a Freestyle job, it will post the result to the Lightstep Incident Response application to create alerts.

GitHub users to have commit permission

@ashutosh-SNow
@rohini.ramakrishnappa
@phanibh.kanakamedala
@kirankumar-nunna
@priya-jagyasi011
@ashu248

Jenkins project users to have release permission

@ashutosh-SNow
@rohini.ramakrishnappa
@phanibh.kanakamedala
@kirankumar-nunna
@priya-jagyasi011
@ashu248

Issue tracker

Jira

Add systeminfo plugin which parses computer config description into a more human readable format

Repository URL

https://github.com/owenzhangzhengzhong/systeminfo-plugin

New Repository Name

systeminfo-plugin

Description

This plugin adds a System info page which formats the computer description into a new page, which allows for a better display of description (see readme). I couldn't find another plugin which does the same thing

GitHub users to have commit permission

@owenzhangzhengzhong
@Zhaeong

Jenkins project users to have release permission

ozhang

Issue tracker

Jira

paginated-builds

Repository URL

https://github.com/lineville/paginated-builds

New Repository Name

paginated-builds-plugin

Description

The paginated-builds plugin exposes a new REST API endpoint to access paginated build data for a Jenkins job. Out of the box Jenkins does not provide a method to access build data in pages - you can either get all the builds or the most recent 100 builds. This plugin assists in fetching historical build data for jobs with a large number of builds by being able to request specific pages of historical data.

GET <jenkins_url>/job/<job_name>/builds?start=<build_id>&size=<page_size>&orderBy=<order_by>

  • start: The build ID to start from. (1 if not specified)
  • size: The number of builds to return. (100 if not specified)
  • order_by: The order to return the builds in ("asc" or "desc"). ("desc" if not specified)
  • job_name: The name of the Jenkins job to get builds for.
  • jenkins_url: The URL of the Jenkins instance.

GitHub users to have commit permission

@lineville
@luke-engle
@ethanis
@dwhathaway
@MatisseHack
@NateRickard
@j-dunham
@begonaguereca

Jenkins project users to have release permission

lineville
ethanis
luke_engle

Issue tracker

GitHub issues

Missing Permissions to publish plugin

Reproduction steps

I have recently had my paginated-builds-plugin hosting request approved. I am attempting to publish the plugin now via GitHub but am receiving a 403 permission error when pushing up a new branch to this repo. I need to open up a PR in order to add cd: enabled: true to this file but am blocked by the permission issue. I have accepted the invitation to join the jenkinci org, and successfully logged into Artifactory and see my username lineville under the list of developers.

Expected Results

I expected to be able to push to this repo, but cannot. I believe I have been given access to jenkinsci but not jenkins-infra

Actual Results

remote: Permission to jenkins-infra/repository-permissions-updater.git denied to lineville. fatal: unable to access 'https://github.com/jenkins-infra/repository-permissions-updater.git/': The requested URL returned error: 403

Anything else?

If you could please give me access to push to this repo, or open up the PR I've described on my behalf that would be great!

Validate gitignore present in hosting checker

What feature do you want to see added?

There's been a few plugins like this, mostly because of a bug in maven archetypes but we should statically check for this

Upstream changes

No response

commons-lang-api plugin

Repository URL

https://github.com/nhojpatrick/jenkinsci_commons-lang-api-plugin

New Repository Name

commons-lang-api-plugin

Description

Creation of api-plugin, as discussed here jenkinsci/jenkins#6267 and here jenkinsci/jenkins#6270.

I want the the plugin to support the version oldest jenkins avaliable so easier for plugins to move over without themselves having to upgrade. Once every 'active' plugin updated, plan to upgrade this plugin to newer recent version.

This is my 1st attempt at creating a jenkins plugin, so probably lots needs tweaking.

GitHub users to have commit permission

nhojpatrick

Jenkins project users to have release permission

nhojpatrick

Issue tracker

GitHub issues

Integration testing utilities for Jenkins plugins

Repository URL

https://github.com/uhafner/plugin-testutil

New Repository Name

lib-plugin-testutil

Description

Integration testing utilities for Jenkins plugins: this library contains all the testing utilities of https://github.com/jenkinsci/plugin-util-api-plugin so that they can be used easier for other plugins. Since the test-jar of the plugin-util-api-plugin does not declare its transitive dependencies, it makes sense to provide a new library that contains all those utilities that correctly provides the required transitive dependencies to run the tests.

The following features are provided:

  • JUnit 5 rule support (see JENKINS-48466): you can now write unit and integration tests with JUnit 5 only. No need to fall back to outdated JUnit 4 anymore.
  • Integration test base classes with a lot of helper methods (for integration tests with a Jenkins instance per either test suite or test class).
  • Architecture rules for ArchUnit that can be used to check for typical Jenkins design problems.
  • Docker Agent setup for integration tests: simply run your tests on a Docker based agent to verify the remoting behavior of a plugin.

See jenkinsci/plugin-util-api-plugin#161 and the downstream PRs for the reasoning of this library.

GitHub users to have commit permission

@uhafner

Jenkins project users to have release permission

drulli

Issue tracker

Jira

Lightstep Incident Response Plugin

Repository URL

https://github.com/ServiceNow/lightstep-incident-response

New Repository Name

lightstep-incident-response-plugin

Description

  • We want to host a lightstep-incident-response plugin to integrate Jenkins with Lightstep Incident Response(LIR) application.
  • It will enable post-build action namely "Send alerts to Lightstep Incident Response" which when selected gives options to select build status for alert creation on LIR.
  • Whenever a build is completed for a Freestyle job, it will post the result to the Lightstep Incident Response application to create alerts.

GitHub users to have commit permission

@PriyaJagyasi
@kirannunnaSNOW

Jenkins project users to have release permission

priyajagyasi
kirannunnasnow

Issue tracker

Jira

Migrate report generation to infra.ci.jenkins.io controller (need for review)

Hello dear RPU maintainers.

The infrastructure team wants to migrate the report generation from trusted.ci.jenkins.io to infra.ci.jenkins.io controller.

The PR jenkins-infra/infra-reports#37 implements this change.

As we caused mayhem in the report in the past 7 days, and even if these problem were fixed thanks for the help of a lot of people, I would prefer to have a go/no go from you as we miss knowledge about the content of this reports.

As pointed by @daniel-beck in IRC, you, maintainers of RPU, are the most important consumers of these reports: hence this issue to at least notify you.

The current "new reports" are not published and are only archived artifacts on the new jobs on infra.ci.

We would like to proceed as soon as the PR is "all checks green". It means that the next 7 days after the transition, there might be unplaned issues.
Worst case, rollback is easy and would solve the issue in a few hours automatically.

Any person against this change?
Anything that we could have forgotten?

By default, we'll proceed right after easter week end.

Hosting request for plugin

Repository URL

https://github.com/AjmeraInfotech/redpen-jenkins-integration

New Repository Name

pipeline-reporter-by-redpen-plugin

Description

Redpen Jenkins plugin is an open-sourced plugin that is used to integrate Jenkins with Jira Software. This plugin is free to use and provides an easy, secure, and reliable way to send build and deployment information from your Jenkins server to your Jira Software. The pipeline reports the build and deployment status (failure or success) with other meaningful data into the Jira issues which helps your team to track and collaborate on the work.

GitHub users to have commit permission

@anandcpadiya
@ayushk048-Ajmera
@heenachauhan18
@kamlesh-ai

Jenkins project users to have release permission

ayushk048
ajmerainfotechinc
anandpadiya_ai

Issue tracker

Jira

Host plugin in Jenkins marketplace

Repository URL

https://github.com/QualiNext/sandbox-jenkins-plugin

New Repository Name

torque-plugin

Description

Torque is a SaaS Cloud Management Platform for DevOps. It provides Environments-as-a-Service, all the way from dev to production while allowing IT and project managers to govern the use of cloud resources from a single pane of glass. This plugin allows you to deploy Torque Sandboxes directly from TeamCity

GitHub users to have commit permission

[email protected]
[email protected]
[email protected]

Jenkins project users to have release permission

[email protected]
[email protected]
[email protected]

Issue tracker

GitHub issues

Grype vulnerability scanner

Repository URL

https://github.com/dtbaum/grypescanner-plugin

New Repository Name

grypescanner-plugin

Description

Grype is a vulnerability scanner for container images and filesystems. This grypescanner-plugin scans a given target and saves a report as job artifact.
There is no such grype plugin yet.

GitHub users to have commit permission

@dtbaum

Jenkins project users to have release permission

tbaum

Issue tracker

GitHub issues

request to deploy my first plugin for jenkins

Repository URL

https://github.com/gabo89/container-image-link

New Repository Name

container-image-link-plugin

Description

this plugin allow to add a badge and a permalink in the ui with an url provided in the step, i find it very useful to use on the published container image or build image in jenkins, for example when i build my image with kaniko and publish to harbor i want to make a click in the ui and let jenkins me redirect me to the harbor url , so i compose the harbor url by myself and then i pass the harbor url to this plugin so it forward to the badge and the button then when i make click to the badge or tab it forward me to harbor, the same logic aplies to any other container registry , it was intented for harbor but i think it can be useful for all

GitHub users to have commit permission

@gabo89

Jenkins project users to have release permission

gabocuadros

Issue tracker

Jira

Hosting Request for MergeBase SCA plugin

Repository URL

https://github.com/mergebase/mergebase-sca

New Repository Name

mergebase-sca-plugin

Description

The MergeBase SCA plugin allows MergeBase users who are also Jenkins users to run the MergeBase tool with an automated build step.

The plugin runs the MergeBase tool and prints a report, as well as sends the report back to the MergeBase dashboard.

GitHub users to have commit permission

@delanAtMergebase
@juliusmusseau

Jenkins project users to have release permission

delanAtMergebase
juliusmusseau

Issue tracker

GitHub issues

commons-lang3-api plugin

Repository URL

https://github.com/nhojpatrick/jenkinsci_commons-lang3-api-plugin

New Repository Name

commons-lang3-api-plugin

Description

Creation of api-plugin, as discussed here jenkinsci/jenkins#6267 and here jenkinsci/jenkins#6270.

I want the the plugin to support the version oldest jenkins avaliable so easier for plugins to move over without themselves having to upgrade. Once every 'active' plugin updated, plan to upgrade this plugin to newer recent version.

But this is for commons-lang3.

This is my 2nd attempt at creating a jenkins plugin, so probably lots needs tweaking.

GitHub users to have commit permission

nhojpatrick

Jenkins project users to have release permission

nhojpatrick

Issue tracker

GitHub issues

Gamekins

Repository URL

https://github.com/se2p/gamekins

New Repository Name

gamekins-plugin

Description

Gamekins is a neologism consisting of the words Gamification and Jenkins. This describes best what Gamekins is built for: The integration of Gamification into Jenkins. Gamekins can be used on project level to add various Gamification elements to the Continuous Integration lifecycle of the project. This enables a better and more motivated environment for developers in the project, especially for testing. Gamekins aims to improve the motivation of developers to test their project more thoroughly and therefore to increase the quality of the software.

There is a similar Plugin (ci-game), which is not maintained for more than five years. Gamekins supports much more features and gamification elements and has more focus on active participation than ci-game. ci-game uses static code analysis to award points, Gamekins instead creates challenges for the users, which have to be solved actively.

GitHub users to have commit permission

@PhilippStraubinger

Jenkins project users to have release permission

straubin

Issue tracker

GitHub issues

RPU builds failing on trusted.ci for the `Archive` step due to missing `az`

Reproduction steps

I've been careless in jenkins-infra/pipeline-library#348 , being only focused on infra-reports, and forgot to check the known usages of the shared library PublishReportsStepTests.

It results in the RPU builds failing since the 28th of April during the last "archive" stage, with the error az: not found (Azure Command line not found).

Incoming PR, but I though it was important to let you folks know.

Expected Results

Builds of RPU on trusted.ci.jenkins.io should not fail.

Actual Results

error az: not found on the trusted.ci builds of RPU

Anything else?

No response

Eggplant Runner Plugin

Repository URL

https://github.com/TestPlant/eggplant-runner-jenkins

New Repository Name

eggplant-runner-plugin

Description

This plugin provides the capability for a user to run Eggplant DAI test configurations from a Jenkins pipeline.

GitHub users to have commit permission

pohkheng2

Jenkins project users to have release permission

pohkheng

Issue tracker

GitHub issues

Request to host gitea-pat-kubernetes-credentials-plugin

Repository URL

https://github.com/ThisIsQasim/gitea-pat-kubernetes-credentials-plugin

New Repository Name

gitea-pat-kubernetes-credentials-plugin

Description

The Gitea Plugin has a special credential type for passing the Personal Access Token. This plugin is a Kubernetes Credentials Provider adapter of Gitea Personal Access Token Credential. It enables a user to setup the Gitea PAT credential by creating a Kubernetes secret with "jenkins.io/credentials-type": "giteaPAT" label.

GitHub users to have commit permission

@ThisIsQasim

Jenkins project users to have release permission

thisisqasim

Issue tracker

GitHub issues

Hosting Request: ECU-TEST Execution plugin

Repository URL

https://github.com/tracetronic/ecu-test-execution-plugin

New Repository Name

ecu-test-execution-plugin

Description

This plugin enables a platform-independent test execution. Due to the reduced complexity and communication via REST API, it provides an easy and reliable entry into continuous testing. It integrates ECU-TEST with Jenkins and allows report generation and its upload of automated test execution.

GitHub users to have commit permission

TT-S3-D1
TT-CX-User
MartinGroscheTT
cwellmtt
thardtke-tt
cpoenisch

Jenkins project users to have release permission

tracetronic

Issue tracker

GitHub issues

Port scanner plugin

Repository URL

https://github.com/dtbaum/portscanner

New Repository Name

portscanner-plugin

Description

This plugin, developed in pure Java, detects:

I wasn't able to find a pugin with similar functionality.

GitHub users to have commit permission

@dtbaum

Jenkins project users to have release permission

tbaum

Issue tracker

GitHub issues

openshift-token-kubernetes-credentials-plugin

Repository URL

https://github.com/jonesbusy/openshift-token-kubernetes-credentials-plugin

New Repository Name

openshift-token-kubernetes-credentials-plugin

Description

This plugin provides an extension for the kubernetes-credentials-provider-plugin plugin, and the openshift-client-plugin that extend the kubernetes credentials provider to create the special credential type required by the openshift-client-plugin when interacting with an openshift cluster.

openshift_token

It's very similar to the existing plugin : https://github.com/jenkinsci/bitbucket-kubernetes-credentials-plugin for Bitbucket credentials.

GitHub users to have commit permission

jonesbusy

Jenkins project users to have release permission

jonesbusy

Issue tracker

GitHub issues

Enable automerge on bot PRs

What feature do you want to see added?

I can't see a reason to wait on them

They've been really stable and I've never had to adjust them other than enabling CD when people ask sometimes

The main reason they stay open sometimes is someone hasn't logged into artifactory.

Now that we enforce logging in as part of hosting flow they go green straight away

Example PR:
#2298

Assuming it's supported in the library we use the change needs to be around here: https://github.com/jenkins-infra/repository-permissions-updater/blob/master/src/main/java/io/jenkins/infra/repository_permissions_updater/hosting/Hoster.java#L366

Upstream changes

No response

CloudBees Feature Management

Repository URL

https://github.com/rollout/cloudbees-feature-management-plugin-v0.0.1

New Repository Name

cloudbees-feature-management-plugin

Description

This plugin integrates Jenkins with CloudBees Feature Management.

The initial use case is one where users of Jenkins and CloudBees Feature Management will be able to see Feature Flag configuration changes between builds on the build run results page, helping them to analyse situations where a Feature Flag change has resulted in the failure of a build e.g. in unit, integration or end-2-end tests.

GitHub users to have commit permission

@tfennelly
@agentgonzo
@pawoolley

Jenkins project users to have release permission

tfennelly
agentgonzo

Issue tracker

GitHub issues

Apimap Plugin

Repository URL

https://github.com/apimap/plugin-jenkins

New Repository Name

apimap-plugin

Description

Why is this project useful? Lost track of all the API functionality provided inside your organization? Don't want to be tied to an API proxy or management solution? The Apimap.io project uploads, indexes and enables discoverability of all your organizations APIs. We care about the source code, removing the limitation of where the API is hosted and how your network is constructed.

GitHub users to have commit permission

@msulland

Jenkins project users to have release permission

msulland

Issue tracker

GitHub issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.