Cómo configurar el estado de confirmación de github con Jenkinsfile NO utilizando un generador de solicitudes de extracción

Tenemos Jenkins 2 configurado para construir cada inserción a github, y no utilizamos el constructor de Solicitud de extracción (aunque las confirmaciones que son parte de una solicitud de extracción obviamente también se construirán). losComplemento de integración de GitHub dice que solo funciona con el generador de solicitudes de extracción, por lo que esto no funcionará para nosotros.

También probé elcomplemento github-notify, pero parece que no funciona para nuestro caso (posiblemente porque el repositorio es privado y / o pertenece como parte de una Organización, en lugar de un usuario individual). He intentado dejar que infiera configuraciones, así como especificar manualmentecredentialsId, account, repo, y por supuestostatus argumentos, todo sin suerte.

Aquí hay una versión abreviada de mi Jenkinsfile en este momento:

pipeline {
    agent { label "centos7" }

    stages {
        stage("github => pending") {
            steps {
                githubNotify status: "PENDING", credentialsId: "my-credentials-id", account: "my-account", repo: "my-repo"
            }
        }
        stage("build") {
            ...
        }
    }

    post {
        success {
            githubNotify status: "SUCCESS", credentialsId: "my-credentials-id", account: "my-account", repo: "my-repo"
        }
        failure {
            githubNotify status: "FAILURE", credentialsId: "my-credentials-id", account: "my-account", repo: "my-repo"
        }
    }
}

Cuando ejecuto la compilación, obtengo lo siguiente:

java.lang.IllegalArgumentException: The suplied credentials are invalid to login
    at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep.getGitHubIfValid(GitHubStatusNotificationStep.java:234)
    at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep.getRepoIfValid(GitHubStatusNotificationStep.java:239)
    at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep.access$100(GitHubStatusNotificationStep.java:75)
    at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep$Execution.run(GitHubStatusNotificationStep.java:344)
    at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep$Execution.run(GitHubStatusNotificationStep.java:326)
    at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecutionComplemento de integración de GitHub1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
    at hudson.security.ACL.impersonate(ACL.java:221)
    at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

He probado las credenciales a través de Jenkins (en el área Configurar sistema) y manualmente en un navegador: el nombre de usuario y la contraseña son correctos y tienen acceso de lectura / escritura al repositorio en cuestión.

Respuestas a la pregunta(3)

Su respuesta a la pregunta