Bitbucket notify on start failed - jenkins

Bitbucket notify on start failed: Root URL isn't configured yet. Cannot compute absolute URL.
java.lang.IllegalStateException: Root URL isn't configured yet. Cannot compute absolute URL.
at hudson.model.AbstractItem.getAbsoluteUrl(AbstractItem.java:486)
at org.jenkinsci.plugins.bitbucket.BitbucketBuildStatusHelper.buildUrlFromBuild(BitbucketBuildStatusHelper.java:182)
at org.jenkinsci.plugins.bitbucket.BitbucketBuildStatusHelper.createBitbucketBuildStatusFromBuild(BitbucketBuildStatusHelper.java:197)
at org.jenkinsci.plugins.bitbucket.BitbucketBuildStatusHelper.notifyBuildStatus(BitbucketBuildStatusHelper.java:224)
at org.jenkinsci.plugins.bitbucket.BitbucketBuildStatusNotifier.prebuild(BitbucketBuildStatusNotifier.java:109)
at hudson.model.AbstractBuild$AbstractBuildExecution.preBuild(AbstractBuild.java:789)
at hudson.model.AbstractBuild$AbstractBuildExecution.preBuild(AbstractBuild.java:784)
at hudson.model.Build$BuildExecution.doRun(Build.java:145)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:490)
at hudson.model.Run.execute(Run.java:1735)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:405)
I got that error when I was trying to use the Bitbucket Build Status Notifier Plugin ( https://wiki.jenkins.io/display/JENKINS/Bitbucket+Cloud+Build+Status+Notifier+Plugin ) on Jenkins CI. I followed this tutorial: https://www.youtube.com/watch?v=uu5XcU4EPzQ but I don't know what the problem is.

The answer is simpler than I thought, but I couldn't find it anywhere. On BitBucket in the user profile settings and in OAuth, the consumer you create have to have the Callback URL ending with /. For example:
Before was: http://jenkinsUrl:8080 and it was throwing that error, now I just added the / and it worked: http://jenkinsUrl:8080/

Hi i had a similar issue with a newly installed jenkins 2.60.2. I tried to access the absolute URL from a RunWrapper object in Groovy, but got also this error, although the jenkins location was correctly configured.
The problem was, that the email address was not valid. I changed it to noname#nowhere.com
and my root URL issue was gone.
I think its a bug, or at least a missing documentation about that fact that "root url" also need a configured email address within the jenkins configuration.

You need to set your Jenkins URL.
Go to Manage Jenkins->Configure System
Under Jenkins Location specify your public Jenkins URL.

Related

Jenkins credential scope missing

When I add credentials, I can not choose the scope (Global, System) of credentials in Jenkins and can not proceed the Jenkins job without add credentials please help. How should I solve this issue?
Credential scope not showing see the screenshot.
Error while serving http://xxx.xxx.xxx.xxxx:xxxx/credentials/store/system/domain/_/createCredentials
java.lang.IllegalArgumentException: No enum constant com.cloudbees.plugins.credentials.CredentialsScope.
at java.base/java.lang.Enum.valueOf(Enum.java:240)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:745)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:490)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:799)
Caused: java.lang.IllegalArgumentException: Failed to convert the scope parameter of the constructor public com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl(com.cloudbees.plugins.credentials.CredentialsScope,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:801)
at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:85)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:690)
Caused: java.lang.IllegalArgumentException: Failed to instantiate interface com.cloudbees.plugins.credentials.Credentials
I ran into this one too.
I’m adding a comment here as I am running ad-guard on my mac
Turning this off, allowed Jenkins to work
Basically the reverse proxy in Ad-Guard was breaking it
one of the reasons could be this
If you are using Jenkins front-end through reverse proxy it may block some of Jenkins's XHRs. which may enough to break the UI.

Jenkins Blue Ocean Plugin fails to connect to GitHub

I'm trying to create a Jenkins pipeline using Blue Ocean but when I try to connect to my GitHub using the GitHub generated access token, nothing happens. However, when I check the console, I get this error message. Someone please help me out.
blueocean.js:58216 Unhandled Rejection: "Error: fetch failed: 500 for http://127.0.0.1:8090/blue/rest/organizations/jenkins/scm/github/validate/?apiUrl=https://api.github.com\n at FetchFunctions.checkStatus (http://127.0.0.1:8090/adjuncts/49720cc1/io/jenkins/blueocean/blueocean-core-js.js:54923:25)" lo
gUnhandledPromiseRejection # blueocean.js:58216
At the network tab, the response is:
"message" : "No 'injectableValues' configured, cannot inject value with id [org.kohsuke.github.GitHubResponse$ResponseInfo]\
It seems the issue was with the version of blue ocean I had installed. I downgraded to 1.106. You can do the following to sort the issue.
Grab the 1.106. version of the plugin from Here
Then go to manage plugins > Advance > Upload Plugin and upload the 1.106 plugins and install it. All dependencies and indirect dependencies will also be satisfied with this version.
For more information check here
Downgrading GitHub API to 1.106 worked for me.

Problems configuring certificates for IoT-Edge transparent gateway

I am following the directions here: https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway.
When I create the certificates using OpenSSL and the 'New-CACertsEdgeDevice myGateway' commands, I end up with an Elliptical Curve based private key which fails when I configure the edge gateway with the message
"Currently RSA is only supported".
I modified the New-CACertsCertChain script in ca-certs.ps1 (set the $useEcc var to $false) and reran. The script succeeds, but now the New-CACertsEdgeDevice script fails with:
New-SelfSignedCertificate : Cannot convert 'System.Object[]' to the
type 'Microsoft.CertificateServices.Commands.Certificate' required by
parameter 'Signer'. Specified method is not supported.
Any idea what I am doing wrong?
I found an answer to this, although I am still not sure of the root cause.
These steps allowed me to create certificates that worked...
I kept the change I made to the New-CACertsCertChain (mentioned above)
I erased all the previous certs from the machine cert store
Then I closed the existing PowerShell console and started a new admin one.
I installed OpenSSL from here: https://sourceforge.net/projects/openssl/ # this directory: C:\utils\openssl\bin
I set up the environment paths as follows:
$ENV:PATH += ";C:\utils\openssl\bin"
$ENV:OPENSSL_CONF="C:\utils\openssl\bin\openssl.cnf"
After that I continued with the articles directions and it worked. I did get a warning about not finding C:/OpenSSL/openssl.cnf, but I ignored it.
I do not think you are doing anything wrong.
It appears that there is a problem with the powershell scripts. The good news is that there is a fix to the instructions at the Azure IoT C SDK GitHub branch CACertToolEdge which you can sync out and re-try.
I have filed an issue here: https://github.com/Azure/azure-iot-sdk-c/issues/337 to have this corrected.
Edit:
Jan 09 2018: It appears that the scripts have fixed and you shouldn't run into this specific problem.

Grails create-app unable to find valid certification path to requested target

I have setup grails 3.2.1. on windows JAVA_HOME and GRAILS_HOME is also set. verified by running grails -version and worked as expected.
But when issue command to create app, it always throw following error
"Error occurred running Grails CLI: unable to find valid certification path to requested target (Use --stacktrace to see the full trace)".
I tried it by disconnecting the internet and come to know its trying to connect to https://repo.grails.org
It seems that some certificates must be in JAVA_HOME/jre/lib/security/cacerts. with this thought I downloaded the SSL certificates from https://repo.grails.org by accessing the URL in browser.
same certificates imported in the JAVA_HOME/jre/lib/security/cacerts but still no change.
I could not find even a single related post over the internet.
when creating Grails app in Netbeans 8, I get the same error.
I don't know if I need any other valid certificate or there is any other problem.
Many thanks in advance for any help on this.
Use the "HTTP version" repository
Add the following configuration in USER_HOME/.grails/settings.groovy:
grails {
profiles {
repositories {
myRepo {
url = "http://repo.grails.org/grails/core/"
}
}
}
}
This problem is due to proxy server. i traced the network log. https://repo.grails.org resolves to proxy ip, I guess, because when i access the ip over htps in browser it presents me a certificate which really not in my keystore, when i add the same in my keystore an "host name mismatch error" is thrown instead of "unable to find valid certification path to requested target".
i tried to run this at my home pc and it worked though there are other issues but good to go with next step to work on Grails.
Thanks

Cannot login using LDAP in Jenkins

To tighten up security on our Jenkins CI server (running 1.614 on Ubuntu 14.04), I configured the LDAP plugin yesterday. Everything seemed fine yesterday, and I was able to log in and manually configure and run some builds.
This morning, however, no one - including myself - is able to log in.
We are told to look into the server console output - however, there is nothing recorded in /var/log/jenkins/jenkins.log. I found How do I view the Jenkins server console output on the local filesystem? - but there are no such log files in /usr/lib/jenkins/ (which my jenkins home directory).
I've tried the simple troubleshooting groovy script at https://wiki.jenkins-ci.org/display/JENKINS/LDAP+Plugin, but each query returns:
Checking the name 'wibble'...
It is NOT a group, reason: No such property: Jenkins for class: RemoteClass
It is NOT a user, reason: No such property: Jenkins for class: RemoteClass
My security config:
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
<securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap#1.11">
<server>server.ip.address</server>
<rootDN>dc=domain,dc=location,dc=au</rootDN>
<inhibitInferRootDN>false</inhibitInferRootDN>
<userSearchBase>dc=domain,dc=location,dc=au</userSearchBase>
<userSearch>sAMAccountName={0}</userSearch>
<groupSearchBase>ou=groups</groupSearchBase>
<groupSearchFilter>(& (cn={0}) (objectclass=group) )</groupSearchFilter>
<groupMembershipStrategy class="jenkins.security.plugins.ldap.FromGroupSearchLDAPGroupMembershipStrategy">
<filter>(&(objectCategory=group)(member={0}))</filter>
</groupMembershipStrategy>
<managerDN>cn=administrator,cn=users,dc=domain,dc=location,dc=au</managerDN>
<managerPasswordSecret>wurble-bop-de-boo</managerPasswordSecret>
<disableMailAddressResolver>false</disableMailAddressResolver>
<displayNameAttributeName>displayname</displayNameAttributeName>
<mailAddressAttributeName>mail</mailAddressAttributeName>
<userIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
<groupIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
</securityRealm>
There were no configuration changes made overnight, and we use these same credential/settings for other LDAP integration from about 3 or 4 different applications, and they're all working fine.
I've had a similar issue after simply adding or modifying a user on the Configure Global Security page. I think it's just as #davidrv87 said: Chrome auto-fills some hidden "username" and "password" fields and breaks your LDAP settings.
Result
In the main Jenkins config.xml file, the bad settings appear as new child nodes under <securityRealm>:
<securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap#1.11">
+ <managerDN>myusername</managerDN>
+ <managerPasswordSecret>uT5S1rfROmNBuEsw8z=</managerPasswordSecret>
How to fix
Edit ~jenkins/config.xml
Remove the managerDN and managerPasswordSecret nodes (lines).
Restart the Jenkins service.
Now LDAP logins should work again!

Resources