gitlab-org--gitlab-foss/doc
Douwe Maan 99f08b3f72 Merge branch 'feature/cross-project-labels' into 'master'
Add support for cross project references for labels

## Summary

Support for cross project references for labels.

## Rationale

1.   Cross project label references are currently not supported in GitLab
1.   `to_reference` method signature in `Label` model breaks the abstraction introduced in `Referable`.

      `concerns/referable.rb:  def to_reference(_from_project = nil)`

      Signatures:

      ```
      label.rb:           def to_reference(format = :id)

      commit_range.rb:    def to_reference(from_project = nil)
      commit.rb:          def to_reference(from_project = nil)
      external_issue.rb:  def to_reference(_from_project = nil)
      group.rb:           def to_reference(_from_project = nil)
      issue.rb:           def to_reference(from_project = nil)
      merge_request.rb:   def to_reference(from_project = nil)
      milestone.rb:       def to_reference(from_project = nil)
      project.rb:         def to_reference(_from_project = nil)
      snippet.rb:         def to_reference(from_project = nil)
      user.rb:            def to_reference(_from_project = nil)
      ```

     This MR suggests using `def to_reference(from_project = nil, format: :id)` which makes use of keyword arguments and preserves abstract interface.

1.   We need support for cross project label references when we want to move issue to another project

     It may happen that issue description, system notes or comments contain reference to label and this reference will be invalid after moving issue to another project and will not be displayed correctly unless we have support for cross project references.

     Merge request that needs this feature: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2831


I think that cross project label references may be useful, (example: `Hey, see our issues for CI in GitLab CE! - gitab-org/gitlab-ce~"CI"`).

cc @JobV @DouweM @rspeicher 

See merge request !2966
2016-03-07 09:16:22 +00:00
..
administration
api typo 2016-03-02 09:42:14 +00:00
ci Add a TL;DR version in quick start guide 2016-03-01 10:29:27 +02:00
customization Branded login page also in CE 2016-02-26 15:50:51 +01:00
development Change doc styleguide to use quotes for notes 2016-02-29 15:00:40 +02:00
gitlab-basics correct compare_braches.png to /compare_branches.png and make sure it works in line 25 in add-merge-request.md 2016-02-20 12:20:58 +08:00
hooks
incoming_email
install Use dedicated relative_url.rb initializer 2016-02-29 21:17:48 +01:00
integration Style updates. 2016-03-01 13:51:47 -05:00
legal
logs
markdown Mention cross-project labels in markdown documentation 2016-03-03 10:41:11 +01:00
migrate_ci_to_ce
monitoring/performance
operations
permissions Adjust documentation of permissions 2016-02-27 23:26:04 +01:00
profile
project_services Move builds emails service to its own document 2016-02-19 23:35:26 +02:00
public_access
raketasks
release
security
ssh
system_hooks
update No changes to nginx config in this update. Removed unnecessary instructions. 2016-02-18 21:19:31 +00:00
web_hooks
workflow Add Todos documentation 2016-03-02 14:33:47 +02:00
README.md Reorganize CI sections and give descriptive names to links 2016-02-29 14:44:08 +02:00

README.md

Documentation

User documentation

CI User documentation

CI Examples

CI Services

GitLab CI uses the services keyword to define what docker containers should be linked with your base image. Below is a list of examples you may use:

Administrator documentation

Contributor documentation

  • Documentation styleguide Use this styleguide if you are contributing to documentation.
  • Development Explains the architecture and the guidelines for shell commands.
  • Legal Contributor license agreements.
  • Release How to make the monthly and security releases.