Project specific Mantis states - bug-tracking

I'm working in a company using one Mantis bug tracker hosting several projects.
The project I am working on needs specific statuses and I don't want these to be seeable in other project pages.
I see in the doc how to add a status but they seem to be global and not project specific.
The only way I see how to do it is to add global states and remove them from all other projects' workflows.
Do you know if (and how) it is possible to add project specific workflows ?
Thanks :)

Almost everything you can set in config_inc.php can also be defined in the database, either globally (all projects) or for specific projects.
You can do this using the Manage | Manage Configuration | Configuration Report page; at the bottom of the page, a section lets you define custom config options. Define the enums as appropriate and described in the documentation (you should still define the translations globally, including all valid values in the string)
To set a custom workflow, just set your current project as appropriate and use the Manage | Manage Configuration | Workflow Transitions to define it.

Related

How to clone all public repositories from gitlab server?

There is an unstable gitlab server and I am not sure that it will be able to work in the future. Therefore, I want to make a backup copy of all the repositories (projects) that are there.
Cloning the source code will be enough, but it will be great if there is a way to save issues as well. Are there any ways to do this?
It depends on what kind of access you have, but if you don't have administrator access to do a full backup, then the best thing to do is to use a couple of API endpoints to get the information you need and go from there.
Use the Projects API to get a list of all projects accessible to you.
Note the pagination limits.
What you store depends on how you want to get the information.
Store at least the ID number of each.
Filter by membership if you only want the ones you're a member of.
Filter by min_access_level = maintainer (or higher) if you want to export whole projects.
Use the Project export API to trigger a project export for each project you're a member of, and you're a maintainer (or higher).
For all other projects where you have a lower role, or where it's public, you could still use git clone for the repositories by storing the ssh_url_to_repo or http_url_to_repo from the Projects API and running through each.
For all other parts of a project, you could store the JSON version to recreate them later if you want to go through the hassle. For example, for issues, use the Issues API.

Gitlab change default branch for every project

I am currently using GitLab Community Edition 9.0.0 and want to change default branch to "develop" for every project.
I know it can be done by project settings page but since we have almost 200 projects, is there easy way to do it?
You could use the Gitlab API to:
Get a list of all the projects (see here)
Loop on that list and edit every project to set the default_branch parameter (see here)
Here's more documentation on how to use the API.
You fist need to get a user's private token. Go to http://<gitlab_domain>/profile/account to get/generate one for your currently logged in user. You may want to do that as the gitlab administrator in order to have access to and be able to modify all those projects.
Then you need to generate the proper requests (see links above and this).

How to search multiple Projects in GitLab

I am trying to find a way to search multiple project's code in gitlab CE.
Has anyone encountered this before, or have a recommended approach?
(I realize that if this is even possible, then I would likely need to create a script that mimics the current call from the GUI multiple times and combine the results. )
Recently came into a similar need. My particular use case is a self-hosted instance of GitLab CE. Seems like it's possible to use GitLab's API where the scope is limited to snippet, then loop through your groups and projects.
Example code:
https:// (instance_server) /search?utf8=%E2%9C%93&snippets=&scope=&search= (key words) &group_id=22&project_id=81
Other links:
GitLab's paid version.
https://docs.gitlab.com/ee/user/search/advanced_search_syntax.html#syntax-search-filters
Mention of original request (closed)
https://gitlab.com/gitlab-org/gitlab-ce/issues/14597
https://forum.gitlab.com/t/search-code-across-all-projects/2263 (SourceGraph)
You can create a Group, migrate or move all of the projects you want to search to that group, and then search just that group.

Auto deploy specific project in solution to Azure

I'm using Visual Studio Online for my TFS needs, and I have a pretty big solution which contains several web projects.
How can I set up automatic deployment of a specific project in the solution to a specific website on Azure?
The default workflow used to deploy in VSO does not seem to handle this scenario.
The "first" web project found within the solution is chosen for deployment according to this discussion. Note that the discussion relates to git on VSO but it seems to hold true for builds using the VSO CI workflow.
According to the discussion changing the project names to influence the ordering should/might work but results seem mixed.
We chose to add a second solution only containing the web-project to deploy, its dependencies and tests. This will not work if there are dependencies on other web-projects.
Also take not of this article on a configuration-based approach, a question that this one might be a duplicate of or a question concerning actual deployment of multiple projects into one site.

Is it possible to have a custom step run per-solution, not per-project?

I have a Visual C++ solution with several projects. I'd quite like to be able to add a step that is executed after I build the entire solution... e.g "copy *.lib ......\libs.
Is this even supported? VS is mainly based around individual projects, but obviously does support solution builds.
You can create a dummy project, set that project up to depend on all other projects and then add custom build steps to that project.
In case all you want to do is to copy the libs or similar, it is probably better to do this from the individual projects, so that you don't do extra work in case you only build one of the projects.
You could also make use of property sheets. Set up the post build steps in it and have all your project inherit settings from that property sheet. You can find the property manager under View->Property Manager and create property sheets from there.

Resources