Skip to content

The variables plugin does NOT implement noop support #925

@klutchell

Description

@klutchell

Problem Description

What is actually happening

The variables plugin (added in #819) does not respect the nop (no-operation/dry-run) flag. When running safe-settings in noop mode, the variables plugin still makes actual API calls to create, update, and delete repository variables.

Affected methods in lib/plugins/variables.js:

  • add() (line 156) - calls POST /repos/:org/:repo/actions/variables without noop check
  • update() (line 87) - calls PATCH, POST, and DELETE endpoints without noop check
  • remove() (line 181) - calls DELETE /repos/:org/:repo/actions/variables/:variable_name without noop check

What is the expected behavior

When running in noop mode (nop: true), the variables plugin should:

  1. NOT make any actual GitHub API calls
  2. Return NopCommand objects describing what changes would be made
  3. Match the behavior of other plugins like environments.js which use nopifyRequest() or inline noop checks

Error output, if available

No error - the plugin silently makes real changes even in dry-run mode

Context

Are you using the hosted instance of probot/settings or running your own?

Running our own self-hosted instance as a GitHub App

If running your own instance, are you using it with github.com or GitHub Enterprise?

GitHub.com

Version of probot/settings

Snapshot from main-enterprise branch (Dec 4, 2025)

Version of GitHub Enterprise

N/A - using GitHub.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions