Como definir o status de confirmação do github com o Jenkinsfile, NÃO usando um construtor de solicitação de recebimento

Temos o Jenkins 2 configurado para criar todos os push no github e não usamos o construtor Pull Request (embora as confirmações que fazem parte de uma solicitação pull também sejam construídas). oPlug-in de integração do GitHub diz que ele só funciona com o construtor de solicitações pull, portanto, isso não funcionará para nós.

Eu também tentei oplugin github-notify, mas parece não funcionar para o nosso caso (possivelmente porque o repositório é privado e / ou pertence como parte de uma organização e não como um usuário individual). Tentei deixar inferir configurações e especificar manualmentecredentialsId, account, repo, e clarostatus argumentos, todos sem sorte.

Aqui está uma versão abreviada do meu Jenkinsfile no 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"
        }
    }
}

Quando executo a compilação, obtenho o seguinte:

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.AbstractSynchronousNonBlockingStepExecutionPlug-in de integração do 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)

Testei as credenciais através do Jenkins (na área Configure System) e manualmente em um navegador - o nome de usuário e a senha estão corretos e tenho acesso de leitura / gravação ao repositório em questão.

questionAnswers(3)

yourAnswerToTheQuestion