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 Unicorn worker killer is not Omnibus specific 2016-02-03 14:18:51 +02:00
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 Update mailroom/postfix documentation [ci skip] 2016-01-14 11:26:24 -06:00
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 Reformats confusing '[named here]' section for 3rd party code attribution 2016-02-17 17:13:06 +00:00
logs
markdown Mention cross-project labels in markdown documentation 2016-03-03 10:41:11 +01:00
migrate_ci_to_ce
monitoring/performance Change InfluxDB admin username 2016-01-20 23:10:27 +01:00
operations
permissions Adjust documentation of permissions 2016-02-27 23:26:04 +01:00
profile Add references to the rouge gem library 2016-01-25 22:36:44 +01:00
project_services Move builds emails service to its own document 2016-02-19 23:35:26 +02:00
public_access
raketasks Remove note on backing up GitLab CI as a separate service 2016-02-13 00:37:43 +02:00
release
security Make "Two-factor" casing consistent throughout the application 2016-01-31 20:34:51 -05:00
ssh Fixed Window's commands for SSH Help. 2016-02-06 12:17:12 +00:00
system_hooks
update No changes to nginx config in this update. Removed unnecessary instructions. 2016-02-18 21:19:31 +00:00
web_hooks Add new data to project in push, issue, merge-request and note webhooks data 2016-02-11 17:22:11 +01:00
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

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.