Change source control credentials for an Xcode Server Bot? - xcode

I followed Apple's directions for creating a new bot. During one of the steps it asked for the credentials for the source control system. I entered in a username/password not realizing that I wouldn't be able to change it easily in the future.
How can I change the credentials that Xcode Server uses?

It is a bit of a hassle but it is possible
Clone the repository by using new user's credentials
Open the project from within the new repository
Goto Report Navigator and edit the bot
On Repositories tab click on Replace Repositories... button
Xcode will fetch the new user name from .git/config file in the new repo and will give you a chance to provide the new password.
You can also alter the user in .git/config file of the current repo instead of cloning a new one.

According to the Apple help documentation for bots, the credentials are stored in a secure keychain on the server. It doesn't explicitly mention where, but look for a file called *.keychain (I'd expect /Library/Keychains to be one possibility; but it might be under the root of wherever the bots run). you should then be able to open that with Keychain Access.app to reset the credentials.
It's possible you might also be able to edit this from the report navigator with the 'Edit Bot...' menu, but it may not allow you to edit/change the repository details from there.

Related

How to connect to the Gitlab account in Xcode?

I am choosing Xcode, Preferences, '+', Gitlab Account. Then I have tried lots of combinations of the Account and Token. In the Token filed I am entering the token I have generated (should it be named after the project I am going to connect?). In the Account field, I have tried to enter the mail connected with the Gitlab account, Gitlab username. However, nothing works. Please, can you help me?
From the Source Control navigator add the remote url of your project in GitLab.
This would setup Xcode to identify where to push the commits to.
Instead of adding the User Profile through Preferences (did not work for me), just go to Source Control -> Commit, and commit locally, and then Source Control -> Push to push to your repository. At this point, Xcode will ask for your username and password, just enter your credentials there and it would work like a charm from there.
I still do not have an answer to why I was not able to add the credentials via Preferences, but this works too.
Select Open in Xcode
There might be an issue to add a GitLab account on Xcode. (also Xcode supports only RSA encryption and not the ed25519 as suggested by GitLab).
Until this is fixed here is a workaround I am using!
On the GitLab repository page you can select Open in Xcode and the website will ask where to save the project, and then open it in Xcode for you.
After making changes I would commit and push with the command line.
Make sure that your Git username and email match your GitLab.com account for this repository, and an SSH public key was added to your GitLab.com account.
PS. I noticed that this option appear only if GitLab can recognise the repo as an Xcode project. For this to happen, the project and the xcodeproj file should should be in a root folder.

Xcode 11 Create Remote Git Repositories but showing "Loading account owners" never ends

I have an existing Xcode project downloaded from Apple Developer web site and it was not under source control. So I first add it to local Git by running "git init". Then I open the project and try to add it to my GitHub repository. After clicking "Create XXXX remote", the dialog shows "Loading account owners..." and it never ends. Anyone knows how to resolve it?
Xcode showing Loading account owners and never end
You must setup your repo account first in Xcode. Go to Xcode->Preferences->Accounts. Click the plus at the bottom of the left pane and select the appropriate account to add (i.e. GitHub). Enter your credentials and they will be verified. Return to the remote repo flow and your account will now display in the Accounts drop-down.

I can't remove the name of Team Foundation Server URL in Visual Studio 2017

I added a user to Team Foundation Server DevOps, but when the user entered the URL made a mistake, he entered an URL that does not exist.
I tried to remove this broken address, but does not let me delete it, there is no way to delete it in the graphical interface of Visual Studio, I tried to correct eliminating the cache of Team Foundation, I have tried to remove the workspaces, but it does not manage to eliminate this broken URL.
I have also tried to modify this URL that is misspelled but when editing the workspace, will not let me modify that address.
Here is a screenshot of the URL I want to delete, when I delete a workspace and click on Update or simply add the server to which the new user has permission to access for some reason the broken URL is not deleted, it seems that when you click on the download button and assign the existing server files if it appears as if you downloaded the solution's files but when checking in the file explorer there is nothing, and the broken URL is still there by default, I send a screenshot so you can view the problem, you will not find the local path where the files are saved because the entire Team Foundation Server cache is reset.
The broken URL
Ok, I found the solution, it turns out it was very simple, the problem was that when you add the user to the project by default is added to the stakeholder level, and that level does not allow changes in the source code, only at the administrative level, such as assigning Tasks, view assigned tasks, etc...
At the time of wanting to change the level within the project in the Web portal does not allow it to do because the change must be made at the organization level, so it is only necessary to enter the portal of the Organization then:
Click on Organization Settings--> Users--> Change access level (click on 3 dots in name of user) --> Change from Stakeholder to Basic
Ready... Problem fixed!
I'll add some screenshots of the process:
Click Organization Settings
Click on Users
Change access level
Change Stakeholder to Basic

How to change repository in the existing xcode bot?

I need to migrate my Xcode Bot to another repository and I wish to keep build history. In the edit bot interface (both browser and Xcode) repository field is not editable. How can I migrate?
OS X Server version 3.1.2
This is an old question but i suspect people will find this and look for an answer as it is the top result in google. This is how you do it:
change the repo you point to in git
open your Xcode project, select the bot and hit edit bot
in the repositories tab, uncheck the one that you want to update
hit done
go back to edit bot
you should now see the new repo instead of the old one

Add existing project to BitBucket using Xcode

I keep getting an error when I try to commit my project files using Xcode.
File -> Source Control -> Commit
"The operation could not be performed because no valid working copies were found."
"Please verify that your files are under source control and try again."
This is an existing project that is NOT under source control. How do I get my project files under source control, using Xcode?
EDIT: Answered my own question.
Step 1) Restart Xcode
Step 2) Choose connect to repo
Step 3) Enter repo address
Step 4) Choose existing project folder you wish to place under version control
Step 5) Voila! :)
Since a lot of folks land here when they google "Add existing project to BitBucket using Xcode" and then click through to the link that goes to my blog post on the subject, I thought I would put the information here (in the spirit of SO which discourages link only answers.)
NOTE: These instructions assume you have already made a local git repository for the project. You may have done this at project creation. If not, you will need to create the local git now. See this StackOverflow post for how to do that: https://stackoverflow.com/questions/19495141/add-local-repo-for-existing-xcode-5-project
For Xcode 9 and the new Beta UI for Bitbucket:
Log into your BitBucket Account on their web site.
Click the Create button (plus sign + in the newest version of the web UI). And click Repository.
Give your new repository a name. Additional features for the repo can be configured under the Advanced menu. Make sure the check mark for Private is on if you desire that. Verify that the repository type is Git. If desired, add issue tracking, and a Wiki. Select Objective C or Swift from the language drop down. Then Create Repository.
Next, you will want to add your code. On the top of the Overview page is a field with the HTTPS URL of your project. It will look something like this: https://johndoe#bitbucket.org/xyzteam/xyzapp.git. Highlight and copy that URL text.
Run Xcode and load your project.
From the left pane in Xcode, select the Source Control Navigator. Expand the project node. Right click the Remotes node under your project. Select “Add Existing Remote…”
Give it a remote name, such as Bitbucket. Paste the URL from step 4 into the Location. Click Add. It should now appear as a Remote location in the Source Control navigator.
Once your remote has been added, you should now be able to push to the remote. Select Source Control/Push… It should show your Bitbucket remote as the destination and will show (Create) as this is the first push. Click Push.
If this is the first time you are pushing this project to BitBucket, you will be asked for login credentials. The User Name will be prefilled from the URL, so enter the password. Click Okay and after some seconds, it should complete.
If all goes well, you now have the repositories linked up. Go to the BitBucket site, select your repo and you should see the code.
For Xcode older than version 9 and the old Bitbucket UI:
Log into your BitBucket Account on their web site.
Click the Create button.
Give your new repository a name, a description, and make sure the check mark for Private is on if you desire that. Verify that the repository type is Git. If desired, add issue tracking, and a Wiki. Select Objective C or Swift from the language drop down. Then Create it.
Next, you will want to add your code. I am assuming you have an existing project. On the page, you will select “I have an existing project” link from the Command line section.
You will see instructions for linking your local git repository to the remote. There is no need to follow those instructions. However, you will see an https url listed. It will look something like this: https://johndoe#bitbucket.org/xyzteam/xyzapp.git. Highlight and copy that URL text.
Run Xcode and load your project.
From the main menu, select Source Control. Under the gray “Working Copy” item, you will see a menu with your local git repo name and the currently active branch. Expand this menu and you will see an option to Configure [Your project]…. Select this.
Select the Remotes pane from this screen. At the bottom, click the plus +. Select Add Remote…
Now you need a name and a URL. For the name, typically just use your project name, then paste the URL copied earlier in step 5. Some people have found that they must remove the user name portion of the URL. Per the example, remove “johndoe#”. This may have to do with whether your project is set up as a team project, or an individual project.
Click Add Remote. Click Done.
Once your remote has been added, you should now be able to push to the remote. Select Source Control/Push…. If this is the first time you are pushing this project to BitBucket, you may be asked about keychain access and/or login credentials. Enter the appropriate responses, such as Allow for keychain. If you have already done this before, it will simply use the keychain data without further prompting.
If all goes well, you now have the repositories linked up. Go to the BitBucket site, select your repo and you should see the code.
If you want to see a version of this information with screen shots, see my blog post.
Login your bit bucket account and Create a repository in your account
open terminal run these following command
1- cd /path/to/your/repo
2- git remote add origin <url of your repository >
3- git push -f origin master
it works for me, Thanks.

Resources