title: Mark Jenkins build as success, in case of timeout on input? (declarative pipeline)
body: <p>I'm creating a declarative Jenkins pipeline, that looks like this:</p>
  
  <pre><code>pipeline {
      agent {
          label 'mylabel'
      }
      stages {
          stage('Install dependencies') {
              milestone()
              steps {
                  sh "yarn install"
              }
          }
          stage('Lint files') {
              steps {
                  sh "eslint src"
              }
          }
          stage('Create bundle') {
              steps {
                  sh "yarn run build:server"
                  sh "yarn run build:client"
              }
          }
          stage('Publish') {
              steps {
                  timeout(time: 15, unit: 'SECONDS') {
                      input(message: 'Deploy this build to QA?')
                  }
                  // deployment steps
              }
          }
  
      }
  }
  </code></pre>
  
  <p>It works great, however, if the timeout step fails (because we don't want to deploy this build, or nobody is there to push the button, and so on), the build is marked with status "aborted". Unfortunately this means that for example Github marks our pull requests as "checks failing".</p>
  
  <p>Is there a way to declare the build with the status that it had before the timeout() step? Eg. if the build was a success up until the timeout step, it should be marked as success, even if the timeout happens.</p>