Adding tags to a scan via properties file?

Hi,

Is it possible to add tags to a project within the sonar-projects.properties file?

There’s no mention of it in the documentation (from what i’ve seen) - it would not be good if we (the administrators) have to do this manually on the project page.

Thanks

2 Likes

Hi,

This is not possible.

Would you explain why, please? Project tags are not meant to be ephemeral; changing from analysis to analysis. They’re meant to categorize the project as a whole.

 
Ann

We would use the feature to tag the project (e.g. technology, or architectural context).
We would use the tags within Sonarqube then to define portfolios with the help of the tags, without the need to manually maintain this.

1 Like

Hi @thjenny,

Your use case is perfectly supported - via the UI.

 
:slight_smile:
Ann

Hi Ann,
I know that I can do this via the UI, but I’d like to automate this, as I said: “without the need to manually maintain this”.
So no, not “perfectly” supported. If we can automate this, we could define these project attributes or tags in the source itself in one place, and the build process could use it in multiple contexts, for Sonar, but also e.g. to link to the architectural documentation, …

1 Like

Hi,

The UI uses web services (api/project_tags/set). Your automation could too.

 
Ann

I don’t really understand this answer.
sonar.projectKey is not ‘ephemeral’
sonar.projectName is not really either nor sonar.projectDescription

Why couldn’t we add project metadata directly in the properties ?
Projects are mostly created automatically from CI, adding the tags in the properties file makes the whole process a lot easier.

4 Likes

Hi Ann!

I hope all is well with you!
I’m a +1 for this feature request. We have a documented template for the sonar-project.properties file for a given domain context. When a new project is created, this template is used and only sonar.projectKey and projectName need to be set. But we need to manually tag the new project in the UI (the issue is that one might forget). Having the tags already in the sonar-project.properties template would be an easier and more reliable solution.

BTW, this has been asked on SO as well: https://stackoverflow.com/questions/47146216/sonarqube-project-tagging-via-properties.

Paulo

1 Like

I would like to add my support for this feature request. We are a large organization with many (1000+) projects. We use project tags to differentiate components belonging to different teams or departments. Having a way for teams to add in project level metadata without having to log into a UI would be a tremendous help for us. Unfortunately, the ability to add tags is restricted to Administrators (ASFAIK) and this is not something that we’re willing to distribute to all developers.

1 Like

For the record @jorcutt.ebsco, Project Administrators can add tags, and IMO someone in each project should be a project admin. Otherwise, yeah. You really are biting off a lot at the global admin level.

 
HTH,
Ann

Hi all!

Just to let you know. I have found a plugin (Project Tag) that pretends to add this feature into SonarQube.

Check it out:

It seems quite simple but maybe it is what you are looking for.

Best regards.

This feature would be most helpful. For instance, in sonar-scanner.properties:

sonar.tags=frontend,public

4 Likes

+1 for this feature as well exactly as Jonathan suggested.

We have to create a properties file for each new project. The projects are split between teams. It makes sense to add the team name as a tag when we create the property file. The project is then immediately tagged when created for the first time (this would be done when the project first builds in CI).

Having to have some ‘admin’ go in and then tag the project via the UI seems a little backwards. I would assume most devs in SonarSource would agree with this point of view. You should ask them.

+1
configuration as code is a norm thesedays.

1 Like

I Used API call and it worked. It also creates a new one if it doesn’t exist.

httpRequest(httpMode: ‘POST’, url: ("{env.sonarServerUrl}/api/project_tags/set?project={env.groupid}:{env.artifactid}&tags={env.tag}"), authentication: ‘<>’)

Where you can define your env variables on your own or you can use it like env.groupid. So projects related to a groupid will be easy to track

1 Like

FYI all, I’ve moved this to the ‘Suggest new features’ category.

 
Ann